[Modul] Zigbee2MQTT Beta Version 5.x

Hi @wolfgangb ,
Ich hab gerade das Z2M modul #520 und die Z2M 2.2.1 installiert und bekomme auch den Fehler beim Symcon erweiterung installieren oder updaten.
In der Doku steht etwas unter update von wegen erst die extension updaten auf 4.6 bevor man Z2M auf version 2 updated aber ich hatte ja nie eine Z2M v1 installiert.
Wenn ich die extension 5.02 versuche in Z2M manuell einzutragen bekomme ich den selben Fehler.
Hast du deine installation auch auf Z2M 2.2.1 hoch gezogen? Geht da das extension update?

Notice: IPSymconExtension.js contains invalid code: settings.get is not a function in C:\ProgramData\Symcon\modules.store\info.schnittcher.ips.zigbee2mqtt\Bridge\module.php on line 388
ERROR

Zeig bitte mal die Variablen der Bridge Instanz im Objektbaum.
Michael

Gehe mal bitte auf das Z2M-Frontend und lösche die Extension. Dann erneut ÜBER DIE BRIDGE die Extension anlegen lassen.

Welche Version hat die Extension in Z2M?

LG
Burkhard

Hallo Burkhard,

Ich habe im Z2M momentan keine extension und wenn ich versuche sie über die Bridge anzulegen kommt der Fehler vom PHP script.
Wenn ich die v.5.02 von der Git dev seite versuche anzulegen kommt der Fehler im Z2M.
Ich hab auch mal versucht den settings.get aufruf aus zu kommentieren aber selbst dann kommt die meldung. Das ist der einzige settings.get aufruf den ich gefunden hab.

Gruß Heinz

Hab ihn auch gefunden, in der extension2 Zeile 48. Wir sind dran.

LG
Burkhard

Habs gefunden, danke fürs schaun. Z2M hat einen dist und einen data folder und beide haben die IPSymconExtension.js.
Eine davon hatte noch die v4.6 drin und das wurde im frontend von Z2M nicht angezeigt.
Habe beide external_extensions order leer gemacht und dann die extension neu über die Bridge installiert.

Das ist aber sehr merkwürdig, weil du hier sagst du hattest nie ein Z2M 1.x installiert.

Darum auch meine Frage nach dem Screenshot aus dem Objektbaum. Da stehen alle relevanten Daten in den Variablen um es nachvollziehen zu können.
Michael

Das war ein mistverständnis in der Doku. Ich hatte irgendwo was gelesen IPSExtension.js im Z2M frontend anlegen und .js code kopieren. Und das war die v4.6 von Git.
Wenn man neu in die Zigbee geschichte einsteigt lädt man erst mal das Modul ohne auf Beta umzuschalten. Wenn man aber den Z2M anleitungen folgt bekommt man die version 2.2.1 per powershell installiert.

Hallo Burkhard,

ich hatte heute mal Zeit und hab mit den diversen Versionen etwas herumgetestet.
Was habe ich probiert ? Ich habe in HA die Z2M Version auf 2.1 und auch auf 2.0 runtergezogen.
Genauso mal den SLZB auf Zigbee Revision: 20241127 / SDK 7.4.5 runter. Alle Varianten durchprobiert und auch die problematischen Devices aus- und wieder an- gelernt.

Für mich unverständlich: Keine Änderung, d.h. es kommen immer noch diese Null-Werte…
Fällt dir da noch was ein ?

Grüße
Heiko

Neue Version online

Gleiche Versionsnummer, da nur ein paar Übersetzungen angepasst wurden.

Letztes Release vor dem Einreichen als stable!

So,
ich denke ich hab das Problem entdeckt. Vermutlich ging beim Update auf Z2M 2.2.x
das Flag bei CACHE STATE verloren. Dadurch wurden dann die NULL Werte erzeugt und
das SymconModul mit den NULL Werten zu den Fehlermeldungen bzgl. dieser inakzeptablen
Werte gezwungen. In der Z2M Doku steht zu dem Parameter → Has to be true when integrating via Home Assistant (default: true). Wenn ich das richtig sehe gilt das wohl dann auch für Symcon…

Trotzdem Danke für die Mühen und Hilfestellung.
Grüße
Heiko

1 „Gefällt mir“

Sehr gut dass du die Ursache gefunden hast.
Dann können wir das ja auch nachstellen und eventuell für zukünftige Version auch abstellen.
Michael

Ich kann nicht sagen ob es schon vor dem Update auf die neue Zigbee2MQTT vorhanden war. Aber jetzt sind bei jeder ZigbeeInstanz viele neue Device Variablen dazugekommen ( Device XXX ). Und ich hab mich schon gewundert warum meine Variablen am Limit waren.

Wenn ich diese löschen kommen die natürlich wieder. Jemand einen Tip wie ich diese Infos dauerhaft ausgeschlossen bekomme?

Moin,

welche Modul-Version (aktuelloe beta?), welche Z2m-Version (aktuelle 2.2?), welche Extension-Version(5.xx?)

LG
Burkhard

Hey,

Modul aktuelle Beta
Z2M 2.2.1
Extension 5.0.2 über die Bridge

image

Mich wundert nur, Bei der von Dir im screenshot gezeigten Instanz sollte es z.B. so aussehen:

Und nicht:

Bei deiner Instanz fehlt di IEEE als Wert.

Von daher die Frage nach den Versionen.

Bitte einmal von einer der betroffenen Instanzen das Debug hier rein stellen, danke.

LG
Burkhard

Das habe ich noch nachgeholt. Aber ich habe den Auslöser mittlerweile gefunden.

Im Frontend von Z2M unter Einstellungen - MQTT findet sich folgende Option:
image
Wenn die Include device information enabled ist sieht das aus wie bei mir. Wenn disabled dann sieht es aus wie es soll.

Wenn enabled findet man auch in Symcon in der Instanz diese Daten:
image

Cooler Fund. Ist mir noch gar nicht aufgefallen. Hast Recht, wenn man in Z2M unter MQTT „include device Information“ aktiviert, dann legt er die Basisdaten des Device mit als Variablen an.

Also Hinweis an alle mit begrenzter Variablen-Kapazität: obigen Punkt beachten und in Z2M unter Einstellungen->MQTT den Punkt deaktivieren. Ausserdem führt der nur zu einer höheren MQTT-Last und wird für Symcon nicht benötigt.

P.S.: Da diese Variablen für Symcon nicht benötigt werden, werde ich diese im nächsten Update bei der automatischen Erstellung deaktivieren.

LG
Burkhard

1 „Gefällt mir“

Hallo zusammen,

nochmals Frage in die Runde. Wie habt ihr denn in Z2M die Cache Flags gesetzt ?
image
Weiter oben hatte ich ja schon meine Entdeckung bzgl. der NULL Werte bei nicht gesetztem
Cache State Flag mitgeteilt. Jetzt habe ich bzgl. der Steckdosen / NULL Werte schon mal Ruhe.
Aaaaber, ganz sporadisch tauchen nun noch Fehlermeldungen im Kontext von HUE TapDials ( Philips 8719514440937/8719514440999 control via MQTT | Zigbee2MQTT) auf.
Meldung:

21.04.2025, 09:34:01 | FlowHandler          | Kann Daten nicht zur Instanz #17642 weiterleiten: 
Fatal error: Uncaught TypeError: Zigbee2MQTT\ModulBase::normalizeValueToRange(): Argument #1 ($value) must be of type int|float, null given, called in C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\ModulBase.php on line 2585 and defined in C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\ColorHelper.php:282
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\ModulBase.php(2585): Zigbee2MQTT\ModulBase->normalizeValueToRange(NULL, false)
#1 C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\ModulBase.php(2500): Zigbee2MQTT\ModulBase->adjustSpecialValue('brightness', NULL)
#2 C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\ModulBase.php(1599): Zigbee2MQTT\ModulBase->processSpecialVariable('brightness', NULL)
#3 C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\ModulBase.php(669): Zigbee2MQTT\ModulBase->processPayload(Array)
#4 C:\Windows\System32\-(3): Zigbee2MQTT\ModulBase->ReceiveData('{"DataID":"{7F7...')
#5 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\libs\ColorHelper.php on line 282

Im Prinzip würde ich behaupten, dass das gleiches Thema bzgl. „leerer“ Werte ist. Jedoch ist das bei dem TapDial zu diesem Zeitpunkt normal, da seit Neustart von Z2M z.B. keine Taste gedrückt oder der Dial gedreht wurde. So zumindest meine aktuelle Theorie. In Z2M sieht das so aus:
image

Anbei auch Debug Data eines solches Dials, falls jemand das brauchen kann.
Z2M_Debug_8719514440937_8719514440999.json (27,2 KB)

Grüße
Heiko

Ansonsten noch schöne Osterfeiertage !

Ich bekomme über die Beta die Erweiterung nicht geladen

Woran kann das liegen?