[Modul] Zigbee2MQTT

Das ändert dann auch den Wert. Aber ich habe bei einem zweiten Device nochmal getestet. Statusvariable löschen und dann Geräteinformationen abrufen legt zwar die Variable an, aber weis keinen Wert zu.

Mein kleines Script von oben brauche ich gar nicht mehr. Mittlerweile wird der Wert für „power_on_behavior“ in Z2M bei den Geräteeigenschaften angezeigt. Das war glaube ich früher nicht so.

Habe das jetzt für noch ein Device getestet. Nach Abruf der Geräteeigenschaften wurde die Variable angelegt. Der Wert in Z2M war gesetzt, wurde aber in Symcon erst angezeigt, nachdem ich diesen in Z2M einmal geändert habe.

Gruß
Christian

@c.radi Danke für das Testen.

@KaiS Ich habe das auch schon des Öfteren bei String-Variablen gehabt, dass sie erst beschrieben werden, wenn man im Z2M-Frontend den Wert ändert und der im Payload vorhandene Wert beim Anlegen der Variable nicht gleich mit gesetzt wird. Hast Du eine Idee, warum das so ist oder sein könnte?

Gruß
Burkhard

Richtig, bei Power_on_behavior gab es in den letzten 3-4 Updates immer wieder mal Änderungen seitens Z2M.

Gruß
Burkhard

Na perfekt, dann ist beim nächsten Stromausfall ja hier keine Festbeleuchtung mehr. Und mein Nachbar muss mich im Urlaub nicht aufgeregt anrufen :blush:

Der Wert sollte auch aktualisiert werden, wenn Du den in Symcon (Webfront, IPSView oder direkt in der Console) änderst.

Gruß
Burkhard

Hallo,
und gerade ist mir noch ein Fehler im Log aufgefallen.
Bei Abruf der Geräteinformationen für einen Gledopto GL-C-007 bekomme ich diese Meldung im Log:

27.01.2023, 08:26:44 | FlowHandler | Kann Daten nicht zur Instanz #44265 weiterleiten:
Warning: Cannot find Variable with ident Z2M_ColorTempStartupBGB in /var/lib/symcon/modules/.store/info.schnittcher.ips.zigbee2mqtt/libs/Zigbee2MQTTHelper.php on line 2804

Ich vermute, dass hier ein Tippfehler im Code ist:
Z2M_ColorTempStartupBGB

Das Ident heisst allerdings Z2M_ColorTempStartupRGB.

Gruß
Christian

1 „Gefällt mir“

Jupps, den Ident gibt es nicht, da ist ein Schreibfehler drin. Kümmere mich drum.

Erledigt, @KaiS hast nen PR. :rofl:

Gruß
Burkhard

Danke, das ging ja super schnell

1 „Gefällt mir“

Ich bin doch noch etwas verwirrt.
Es gibt ja mehrere Möglichkeiten den Namen zu ändern.
Hier:


oder hier:
Bild
und das hängt dann noch mit dem Namen im Frontend zusammen. :dizzy_face:

Gruß Michael

Das ist schnell erklärt:

Im ersten Bild nennst Du die Device im Symcon-Baum um.
In der Instanz nennst Du nicht die Instanz um, sondern das Topic, auf welches die Instanz hören soll. Dies ist entsprechend dem „friendly Name“ in Z2M zu setzen.

Beispiel:

Du erstellst über den Konfigurator eine Instanz (Device). Diese erhält beim anlegen im Symcon-Baum den friendly_name von Zigbee2mqtt. Gleichzeitig setzt der Konfigurator das entsprechende MQTT-Topic auf den Wert von Zigbee2mqtt.

Wenn Du jetzt dem Objekt im Symcon-Baum einen anderen Namen geben willst, tust Du das über den Punkt Objekt umbenennen direkt im Symcon-Baum (rechte Maustaste). Damit ändert sich aber nicht das Topic, auf welches das Objekt über zigbee2mqtt die Daten bekommt.

Wenn Du den friendly_name im Zigbee2mqtt-Frontend änderst, passiert in Symcon erstmal nichts. Dann musst Du das MQTT-Topic in der Device ändern (im Symcon-Baum doppelklick auf das betreffende Objekt) und in der Instanzkonfiguration dann das MQTT-Topic anpassen.

Es sind also zwei Welten, die Du hier vermischen willst. Zum einen den Namen des Objekts im Symcon Baum und zum anderen das MQTT-Topic, welches das Objekt braucht, um die Daten von zigbee2mqtt zu erhalten.

Gruß
Burkhard

Vielen Dank für die Erklärung, ich glaube jetzt hab ichs. :wink:

Ich weiß nicht ob die Werte zyklisch gesendet werden. Wenn nicht, dann ist es klar, dass diese erst beim Ändern gesendet werden.

Ist online.

Grüße,
Kai

1 „Gefällt mir“

Bei welchem Gerät treten damit Probleme auf?
Ich glaube da reagieren Geräte unterschiedlich und deswegen ist das wieder so.

Grüße,
Kai

Das ist ein Eurotronic Heizkörperthermostat, Modell SPZB0001.
Für dieses hattest du im April 22 die von mir genannte Codezeile ersetzt:
$Payload[‚occupied_heating_setpoint‘] = number_format($Value, 2, ‚.‘, ‚‘);
Damit funktionierte das setzen der Soll Raumtemperatur auch für Float Werte.

Gruß
Georg

1 „Gefällt mir“

Das gleiche Fehlerbild habe ich auch bei unseren Heizkörper-Thermostaten beobachtet: Siterwell GS361A-H04 control via MQTT | Zigbee2MQTT

Daher wäre ich auch an einer direkten Implementierung im Modul interessiert. Aktuell übergebe ich Float-Werte auch mit einem Zusatzskript, da ansonsten bei 19,5 erst der Sollwert auf 19 und danach direkt auf 5 Grad gesetzt wird.

Bei mir ist es also eher das Problem, dass per Webfront die Komma-Werte übertragen werden und das Thermostat einen Punkt als Dezimaltrennzeichen erwartet.

Moin @jbr27 & @geolin

Ist gefixt und als PR bei @KaiS, sollte also in Kürze wieder gehen.

Mit diesem Fix werden ALLE Temperatureinstellungen bei TRVs auf eine Nachkommastelle gesetzt.
Den Rahmen (0,5 oder 0,1 oder nur Ganze Schritte, etc.) legt das TRV selber durch zigbee2mqtt fest.

Heißt: Wenn ein TRV keine 0,x-Schritte zulässt, wird automatisch der über Symcon gesetzte Wert auf den nächst höheren Wert aufgerundet (24,5 eingestellt, 25 gesetzt).

Wenn die betreffende Variable eine Integer ist (Z2M_MaxTemperature z.B.), wird im Webfront auch weiterhin nur die Ganzzahl angezeigt und es sind auch nur Ganzzahlen einstellbar.

Sollte es bei Jemanden dadurch zu Problemen kommen, bitte kurze Rückmeldung.

Gruß
Burkhard

Moin,

ich würde im Modul gerne mal prüfen, ob alle benötigten Profile zu den Exposes bis dato hinterlegt sind. Dazu benötige ich aber Eure Hilfe.

Wer Zeit, Lust und Spaß hat, möge mal bitte bei seinen Z2M-Geräten einmal die Geräteeigenschaften (2) bei eingeschaltetem Debug (1) abrufen:

Danach bitte mal im Debug schauen, ob Ihr einen Eintrag mit „missed exposes“ oder „Variableprofile missing“ findet:

Und dann den Debug hier rein posten. Dann können wir die nachpflegen.

Vielen Dank schon mal!

Gruß
Burkhard

Moin Burkhard,

hier meine Debug:

dump.txt (39,7 KB)dump1.txt (41,2 KB)dump2.txt (33,3 KB)dump3.txt (27,3 KB)dump4.txt (33,4 KB)dump5.txt (16,4 KB)dump6.txt (23,9 KB)

Hein09

Moin @Hein09 ,

perfekt, wieder ein fehlendes Profil (Z2M.indicator_mode.45cba34f) gefunden. DANKE !!!

Gruß
Burkhard

1 „Gefällt mir“

Das hatte ich ja schon mal gefixt. Gab dann aber bei anderen Geräten wieder Probleme. Warten wir es mal ab.

Grüße,
Kai