[Modul] Zigbee2MQTT V6.0 Testing

Noch ein Update:

Korrektur des Umgangs mit Preset-Variablen. Wenn in manchen Exposes zum Beispiel folgende Presets kamen:

„presets“:[{„name“:„coolest“,„value“:200,„description“:„Coolest temperature supported“},{„name“:„cool“,„value“:250,„description“:„Cool temperature (250 mireds / 4000 Kelvin)“},{„name“:„neutral“,„value“:370,„description“:„Neutral temperature (370 mireds / 2700 Kelvin)“},{„name“:„warm“,„value“:454,„description“:„Warm temperature (454 mireds / 2200 Kelvin)“},{„name“:„warmest“,„value“:454,„description“:„Warmest temperature supported“}]}

Gab es einen Fehler, da “Warm” und “Warmest” gleichwertig waren. Das modul rechnet jetzt aus “Neutral” und “Warmest” einen Zwischenbereich und nimmt diesen als “Warm”.

LG Burkhard

Ich versuche die Webfront zu öffnen und ich bekomme

Im Editor von der Console geht es.

Ich benutze IPS 9.0 #f2880badc0d6 aus Docker 9.0-752.

Ralf

Die in der Fehlermeldung genannte Darstellung ist defekt.
Das kannst du meistens beheben, wenn du in der Konsole die einmal zum bearbeiten öffnest (eventuell mal die Intervalle oder Optionen durchgehen) und neu speicherst.

Vorher am besten schauen zu welchem Modul die Variable gehört und im passenden Thema die fehlerhafte Darstellung melden.
Michael

Danke für den Hinweis. Das scheint an der neuen Darstellung von Variablen zu liegen denn nachdem ich die erste Variable angepasst hatte kam die nächste mit der Meldung. Was mich wunderte war das die Variable eigentlich nicht so offensichtich im WebFront benutzt wurde da sie absolut keine Referenzen hatte. War learned_ir_code von einem Z2M-IR-Sender.

Muss mich da jetzt mal durchhangeln.

WebFront hatte ich lange nicht benutzt.

Ralf

Das hatte ich auch schon mit Z2M und vielen VAR’s aus der neuen Version von Z2M(6.0), hab die alle gelöscht.
Waren Wochenwerte von Ventilen mit So-Sa usw. Ev muss Burki24 noch mal nachsehen, hatte ich aber nicht gemeldet.

Wenn es alles Variablen von Z2M Modul V6 sind, dann passt das ganze Thema ja hier rein :smiley:

Welche Variablen weist er so aus?

LG

Burkhard

Schade, da hätte ich mehr Infos gebrauchen können. Vielleicht kannst Du mir da noch was zu sagen. Oder aber ich lerne hier im Testsystem alle Thermostate die ich habe an und schaue selber.

LG

Burkhard

@tomgr & @HarmonyFan

Kann den Fehler nachstellen, bin dran.

LG

Burkhard

P.S.: Bin dran, Update kommt heute Abend.

Sind nicht nur von z2m. 2. Variable, die bei mir auftauchte, war von froggit.

Ralf

Update ist raus.
Bitte testen und Rückmeldung geben. Das Modulupdate behebt den Fehler in den jeweiligen Variablen selber. Ausnahme, Ihr habt da schon händisch vorher was verändert. Variablen mit Änderungen von den Usern werden gemäß Symcon nicht angefasst.

Der Fehler war die falsche Darstellung VARIABLE_PRESENTATION_TEXT_BOX wird jetzt durch die korrekte VARIABLE_PRESENTATION_VALUE_INPUT ersetzt.

LG

Burkhard

Sorry Burki24, das ich nicht gleich gemeldet habe. :hushed_face:

Werde nachher oder Morgen testen und berichten.
Hier kommt gerade Wind auf, mal alles in Sicherheit bringen.

1 „Gefällt mir“

Dann solltest du es, mit etwas mehr Infos, dort melden.

Ich muss es erstmal alles absuchen da wird sich bestimmt noch mehr finden lassen. Würde mich wundern wenn nicht.

Ich bin im Büro per Zufall drauf gestoßen nur weil ich “eben schnell" nachschauen wollte wie viel Blitze es gestern gab.

Ralf

Moin,

eine neue Version ist online mit folgenden Änderungen:

  • Numerisch indizierte Root-Payloads ohne Zigbee2MQTT-Property werden beim Payload-Import jetzt ignoriert. Dadurch lösen Geräte, die einzelne Werte oder Listenfragmente ohne Variablen-Ident senden, keinen TypeError in der Variablenverarbeitung mehr aus.

  • Lesbare Set-Aktionen wie Schalter, Helligkeit, Farbtemperatur und andere Statuswerte aktualisieren lokale Symcon-Werte erst nach einer Rueckmeldung von Zigbee2MQTT.

  • Reine Schreib- und Befehlswerte ohne eigene Rueckmeldung, zum Beispiel Szenen, Presets, Effekte oder andere access: 2-Funktionen, merken nach erfolgreichem Senden weiterhin den zuletzt gewaehlten Wert lokal.

  • Helligkeitsaktionen nutzen dieselbe Rueckmeldepruefung wie andere Standardaktionen und geben Sendefehler wieder korrekt an die Aktion zurueck.

  • Schreibgeschützte Textvariablen erhalten keine Darstellung mehr, die eine Variablenaktion voraussetzt. Dadurch entfallen die entsprechenden Kompatibilitätsfehler in der Variablenkonfiguration.

  • Beschreibbare Textvariablen verwenden die native mehrzeilige Werteingabe anstelle der nicht vom klassischen WebFront konvertierbaren Text-Box-Darstellung.

  • 26 Übersetzungen wurden ergänzt und eine bestehende Übersetzung überarbeitet. Dies umfasst insbesondere Wetterwerte wie Wind, Böen, Niederschlag, Taupunkt, gefühlte Temperatur, Hitze- und Luftfeuchtigkeitsindex sowie zusätzliche Geräte-, Betriebs- und Zeitmodi.

  • Zugangsdaten, Installcodes, Tokens, Schlüssel und eingebettete URL-Zugangsdaten werden in Discovery-Debugausgaben rekursiv maskiert. Die unveränderte Übermittlung dieser Werte an Zigbee2MQTT bleibt davon unberührt.

  • Variablenaktionen werden vollständig mit den aktuellen Schreibrechten eines Exposes synchronisiert. Nicht mehr beschreibbare Variablen verlieren ihre Standardaktion; explizite Aktionskonfigurationen haben weiterhin Vorrang.

  • LastPayload führt partielle MQTT-Nachrichten nun korrekt zusammen: neue Werte ersetzen alte Werte, nicht erneut gesendete Felder verschachtelter Objekte bleiben erhalten und Listen werden vollständig ersetzt.

  • Die laufende OTA-Anzeige wird bei Statusänderungen wieder automatisch aktualisiert. Schutzprüfungen verhindern Fehler, wenn Formular oder Instanz während eines Reloads vorübergehend nicht erreichbar sind.

  • Die MQTT-Transaktionsverwaltung verhindert ID-Kollisionen und das Überschreiben offener Anfragen, validiert Antwort-IDs und schützt sämtliche Pufferzugriffe mit zuverlässig freigegebenen Sperren.

  • SendGetCommand() fordert nur noch Properties an, die laut Zigbee2MQTT-Expose tatsächlich per GET lesbar und nicht gefiltert sind. Leere oder ausschließlich schreibbare Anfragen werden nicht gesendet.

  • Änderungen am Variablenkatalog werden während Payload-, Expose-, Aktualisierungs- und Wiederaufbauvorgängen gesammelt und höchstens einmal persistiert. Unveränderte Kataloge verursachen keinen erneuten Attributschreibzugriff.

  • Die Discovery zeigt sofort den zuletzt bekannten Stand an und aktualisiert einen älter als 60 Sekunden gewordenen Cache asynchron. Eine zusätzliche Schaltfläche ermöglicht weiterhin eine manuelle Aktualisierung.

  • Die automatisierten Regressionstests wurden für die neuen Schutzmechanismen und für die bereits entfernte Profil-Diagnose des Bridge-Formulars angepasst und erweitert.

  • Umfangreiche Verantwortlichkeiten wurden ohne beabsichtigte Funktionsänderung aus Bridge/module.php und libs/ModulBase.php in spezialisierte Helper ausgelagert.

  • Die Bridge-Helper kapseln Konfiguration, Geräte, Gruppen und Szenen, Diagnose, Requests, OTA, Netzwerksicherheit, Installcodes, Backups, Pairing, veraltete Variablen und Touchlink.

  • Die Modul-Helper kapseln Gerätebefehle und -aktionen, Payload-Verarbeitung und -struktur, Expose-Registrierung, Variablenwerte, Variablenlaufzeit und sichere Runtime-Zugriffe.

  • Für eine einheitliche Verzeichnisstruktur liegen die Bridge-Helper unter Bridge/Helper und die Helper der Modulbasis unter libs/ModulHelper

LG

Burkhard

1 „Gefällt mir“

Wurde wieder entfernt, da es User gibt, die Automationen nicht auf veränderete Werte auslösen, sondern auf Aktualisierung der Variable, was auch korrekt ist. Danke @Nall-chan für den Hinweis.

LG

Burkhard

1 „Gefällt mir“

Nur der Vollständigkeit halber:
Symcon führt zwei Zeitstempel für jede Variable und die kannst du dir auch beide in der Konsole anzeigen lassen.

2 „Gefällt mir“

Und diese Änderung ändert ja nichts am Datenaufkommen von Z2M aus sondern nur die Belastung des Rechners, wo symcon drauf ist und bei meinem RPI5 merke ich keinen Unterschied. Von daher eher unnötig und ungünstig. Hatte auch ich mir mehr von versprochen.

LG
Burkhard

@ralf oder noch den Opcache aus? Das ist ja wie mit gezogener Handbremse fahren :laughing:

Neues Update zwecks Fehlersuche integriert:

  • Für eine bessere Fehlersuche wurde ein neues Helper-Tracing integriert. Im Symcon-Debug ist jetzt anhand von START, END und ERROR direkt erkennbar, welcher Helper einen Vorgang verarbeitet oder einen Fehler verursacht hat. Sensible Daten und vollständige Payloads werden dabei nicht protokolliert.

LG
Burkhard