Seite 4 von 8

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 16.05.2020, 12:58
von Gnu_
Hallo,

ich habe jetzt so langsam mein System am Laufen. Jedoch noch ein Problem.
Ich kann mir die aktuellen Datan im Gerät anzeigen lassen, und sie scheinen plausibel (siehe WebansichtOK).
Jedoch erscheinen diese Daten nicht im Diagramm, bzw. nur die ersten Werte und dann nichts mehr. Ich habe im xml extra Variablen Namen gewählt, die sich loggen lassen. Jedoch scheint das nicht zu funktionieren.

Ich habe die RaspberryMatic heute komplett neu aufgesetzt und installiert.
Waran könnte das liegen?

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 16.05.2020, 13:13
von TomMajor
wenn man in HM neue Diagramme anlegt braucht man teilweise viel Geduld bis man Daten sieht, meine Erfahrung von früher. jetzt mach ich so was nur noch über ioBroker.

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 18.05.2020, 19:48
von Gnu_
Für mich sieht das normal aus?

Leider loggt er
1. nicht alle 8 Werte sondern nur 7
2. Im Diagramm auch nicht alle Werte
3. Nimmt er nur die ersten jemals gesehen Werte und "kopiert" sie nur
DiagrammNeu.PNG

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 26.05.2020, 18:24
von Gnu_
Endlich habe ich es hinbekommen:
DiagrammOk.PNG
Ich habe das custom firmware Layout vom XML verwendet (https://github.com/TomMajor/SmartHome/b ... ensor1.xml) und frage mich jetzt:
Kann man im XML den payload noch mehr ändern?
Meine Version jetzt

Code: Alles auswählen

<frames>
    <frame id="WEATHER_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x70">
      <parameter type="integer" signed="true"  index="9"  size="1.7" param="TEMPERATURE" />
      <parameter type="integer" index="11" size="2.0" param="AIR_PRESSURE" />
      <parameter type="integer" index="13" size="1.0" param="HUMIDITY" />
      <parameter type="integer" index="14" size="4.0" param="LUX" />
      <parameter type="integer" index="18" size="1.0" param="VALVE_STATE" />
      <parameter type="integer" index="19" size="2.0" param="OPERATING_VOLTAGE" />
      <parameter type="integer" index="22" size="0.4" param="FILLING_LEVEL" />
    </frame>
  </frames>
Ich möchte zum Beispiel noch 2 weitere Werte hinzufügen. Ich habe gelesen, dass man bis zu 17 Byte payload verwenden kann. Also von index 11 bis 11+17=28 Platz wäre also noch vorhanden.

Und warum ist für "UV-Index" bzw. wie ich es nenne "FILLING_LEVEL" index 22 und nicht 21 (19+size 2 = 21) ?
Sobald ich da was hinzufüge scheint alles nicht mehr zu gehen. Weder die Geräteansicht noch die Diagramme.

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 26.05.2020, 18:27
von jp112sdl
Gnu_ hat geschrieben:
26.05.2020, 18:24
Sobald ich da was hinzufüge scheint alles nicht mehr zu gehen. Weder die Geräteansicht noch die Diagramme.
Hast du das, was du dort im Frame hinzugefügt hast auch im Channel-Paramset Type "VALUES" hinzugefügt?
https://github.com/TomMajor/SmartHome/b ... l#L82-L138

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 26.05.2020, 18:42
von Gnu_
jp112sdl hat geschrieben:
26.05.2020, 18:27
Hast du das, was du dort im Frame hinzugefügt hast auch im Channel-Paramset Type "VALUES" hinzugefügt?
https://github.com/TomMajor/SmartHome/b ... l#L82-L138
Ja habe ich. Vlt habe ich ja was falsch dabei gemacht. Ich kann es ja noch mal probieren. Möchte jetzt aber ungern meinen funktionierden Sensor an/ablernen. Kann ich einen zweiten Sensor erstellen (id und seriennummer) und nur ihm die neue xml zuweisen? Troz dem gleichen Sensortyps?

Bzw. war mein Ansatz richtig? Kann man das xml so erweiter ? Oder muss ich wo anders (außer natürlich im arduino sketch) auch noch was ändern?

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 26.05.2020, 18:46
von Gnu_
Quasi so erweitern:

Code: Alles auswählen

...
        <parameter id="FILLING_LEVEL" operations="read,event">
          <logical type="integer" min="0" max="11" />
          <physical type="integer" interface="command" value_id="FILLING_LEVEL" no_init="true">
            <event frame="WEATHER_EVENT" />
          </physical>
        </parameter>
	
	<parameter id="RAINING" operations="read,event">
          <logical type="integer" min="0" max="1023" unit="ml" />
          <physical type="integer" interface="command" value_id="RAINING" no_init="true">
            <event frame="WEATHER_EVENT" />
          </physical>
        </parameter>
        
	<parameter id="SUNSHINEDURATION" operations="read,event">
          <logical type="integer" min="0" max="1023" unit="Lux" />
          <physical type="integer" interface="command" value_id="SUNSHINEDURATION" no_init="true">
            <event frame="WEATHER_EVENT" />
          </physical>
        </parameter>
        
      </paramset>  
      <paramset type="LINK" id="HB-UNI-Sensor1_link"></paramset>
    </channel>
  </channels>
  <frames>
    <frame id="WEATHER_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x70">
      <parameter type="integer" signed="true"  index="9"  size="1.7" param="TEMPERATURE" />
      <parameter type="integer" index="11" size="2.0" param="AIR_PRESSURE" />
      <parameter type="integer" index="13" size="1.0" param="HUMIDITY" />
      <parameter type="integer" index="14" size="4.0" param="LUX" />
      <parameter type="integer" index="18" size="1.0" param="VALVE_STATE" />
      <parameter type="integer" index="19" size="2.0" param="OPERATING_VOLTAGE" />
      <parameter type="integer" index="22" size="0.4" param="FILLING_LEVEL" />
      <parameter type="integer" index="23" size="2.0" param="RAINING" />
      <parameter type="integer" index="25" size="2.0" param="SUNSHINEDURATION" />
    </frame>
  </frames>
  <paramset_defs></paramset_defs>
</device>
Und wenn wir schon dabei sind: Warum wird der Name 2 mal angegeben im <parameter>? Einmal als parameter id und einmal als value_id. Kann ich einen Wert in einen andern umbennen? Am besten den, den man in der Web-ui sieht. Ohne dabei die "Im-Diagramm-Anzeigbar"-Eigenschaft zu verlieren?

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 26.05.2020, 18:51
von jp112sdl
Gnu_ hat geschrieben:
26.05.2020, 18:42
Bzw. war mein Ansatz richtig?
An sich schon.

Nach dem Editieren der XML ist ein Neu-Anlernen des Gerätes fast immer zwingend notwendig.
Es gibt zwar kleine Ausnahmen, aber mit Ab- und Anlernen bist du auf der sicheren Seite.
Also wenn du dort einen Datenpunkt hinzufügst, ist der bei einem bereits angelernten Gerät nicht sofort sichtbar.

Außerdem sind nach jeder Änderung die Dienste rfd und ReGaHss neu zu starten.
Browser-Cache löschen nicht vergessen!
Ich habe im Firefox, den ich nur für die HM-Entwicklung nutze, den Cache komplett deaktiviert

Ansonsten häng deine XML mal hier an, vielleicht fällt ja was auf

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 26.05.2020, 18:54
von TomMajor
Gnu_ hat geschrieben:
26.05.2020, 18:46

Und wenn wir schon dabei sind: Warum wird der Name 2 mal angegeben im <parameter>? Einmal als parameter id und einmal als value_id. Kann ich einen Wert in einen andern umbennen? Am besten den, den man in der Web-ui sieht. Ohne dabei die "Im-Diagramm-Anzeigbar"-Eigenschaft zu verlieren?
bezüglich der im Diagramm anzeigbaren Werte habe ich gerade neulich meine Doku upgedatet:
https://github.com/TomMajor/SmartHome/t ... enden-kann

Re: Tropfbewässerung: Sketche kombinieren

Verfasst: 26.05.2020, 18:57
von jp112sdl
Gnu_ hat geschrieben:
26.05.2020, 18:46
Warum wird der Name 2 mal angegeben im <parameter>? Einmal als parameter id und einmal als value_id. Kann ich einen Wert in einen andern umbennen? Am besten den, den man in der Web-ui sieht. Ohne dabei die "Im-Diagramm-Anzeigbar"-Eigenschaft zu verlieren?
Das eine ist der Name aus dem FRAME (value_id), damit der Datenpunkt weiß, von welchem frame/index der Wert kommt.
Das andere ist der Datenpunkt für die WebUI.
Nein, die kannst du nicht ändern, ohne dass die Diagramm-Funktion verloren geht.
In der HMIPServer.jar ist fest verdrahtet, welche Datenpunkte in Diagrammen ausgewählt werden können (TEMPERATURE, HUMIDITY, etc.).

Und dass in der WebUI "Temperatur" statt "TEMPERATURE" steht, liegt an den Übersetzungen.
https://github.com/eq-3/occu/blob/b6bbb ... .txt#L1699
https://github.com/eq-3/occu/blob/a4dcd ... le.js#L922
Wobei das die Übersetzungen für die "Geräte und Bedienung" Ansicht ist.
Für die Geräteeinstellungs-Parameter muss noch an anderer Stelle was geändert werden