Zigbee2mqtt 2.0: Welche Vorgehensweise?

Hallo @contributors!

Zigbee2mqtt 2.0 kommt am 3. Januar 2025:

Es gibt breaking changes:

Beim schnellen Durchlesen habe ich den Eindruck, dass uns die breaking changes nicht betreffen, aber natürlich müssen wir alles testen.

2 Möglichkeiten:

  1. Entweder wir führen die Tests vor dem 3. Januar durch, und wenn wir der Meinung sind, dass die 2.0.0 nichts an Gladys ändert, dann lassen wir alles wie es ist, und Zigbee2mqtt wird automatisch bei den Nutzern aktualisiert
  2. Oder wir bevorzugen einen „sicheren“ Ansatz, führen unsere Tests vor dem 3. Januar durch, aber fixieren die Version von Zigbee2mqtt in Gladys und aktualisieren sie später kontrolliert. Dieser Mechanismus existiert bereits (Man muss diese Zeile ändern: Gladys/server/services/zigbee2mqtt/docker/gladys-z2m-zigbee2mqtt-container.json at dfff5d2d18470b82b90e170ee4009f027d011ee9 · GladysAssistant/Gladys · GitHub + diese Zeile Gladys/server/services/zigbee2mqtt/lib/constants.js at dfff5d2d18470b82b90e170ee4009f027d011ee9 · GladysAssistant/Gladys · GitHub)

Ich persönlich bin für die Option 2), da Stabilität ein wichtiger Wert des Projekts ist.

Außerdem, etwas operativer, ich bin am 3. Januar im Weihnachtsurlaub und daher im Falle von Problemen absolut nicht verfügbar :sweat_smile:

Was denkt ihr?

Kann mir jemand helfen, die 2.0 zu testen?

Hallo.

Ohne zu zögern Ansatz 2 (auch wenn wir die Zeilen ändern, müssen wir die aktuellen Installationen zwingen, ihre Container zu ersetzen).

Wir könnten auch die empfohlenen Zeilen in der Konfiguration hinzufügen

advanced:
  homeassistant_legacy_entity_attributes: false
  homeassistant_legacy_triggers: false
  legacy_api: false
  legacy_availability_payload: false
device_options:
  legacy: false

Der Teil illuminance_lux/illuminance betrifft viele Geräte.

Ich würde dir gerne meine Hilfe beim Testen anbieten, aber mir fehlt gerade etwas die Zeit. Best effort sonst :sweat_smile:

Ich bin einverstanden! Ja, der aktuelle Code zwingt die Installationen tatsächlich, ihre Container zu ersetzen

damit bin ich mir allerdings weniger sicher, wenn wir das hinzufügen, wird es in 1.x genau das gleiche Verhalten wie in 2.0 geben, ich denke, wir sollten die Version in Gladys vorerst einfrieren und das war’s.

Auf unserer Seite können wir parallel das 2.0-Image testen (unter dem Tag latest-dev bei Z2M)

Der PR:

Getestet bei mir erfolgreich:

2024-12-06T14:23:28+0100 <info> init.js:63 (Zigbee2mqttManager.init) Zigbee2mqtt USB Dongle an /dev/ttyUSB0 angeschlossen
2024-12-06T14:23:28+0100 <info> checkForContainerUpdates.js:14 (Zigbee2mqttManager.checkForContainerUpdates) Überprüfung der installierten Versionen und erforderlichen Updates...
2024-12-06T14:23:28+0100 <info> checkForContainerUpdates.js:40 (Zigbee2mqttManager.checkForContainerUpdates) Z2M Container: Update #4 des Containers erforderlich...
2024-12-06T14:23:28+0100 <info> checkForContainerUpdates.js:57 (Zigbee2mqttManager.checkForContainerUpdates) Z2M Container: Update #4 des Containers abgeschlossen
2024-12-06T14:23:28+0100 <info> installMqttContainer.js:114 (Zigbee2mqttManager.installMqttContainer) MQTT-Broker-Container erfolgreich gestartet
2024-12-06T14:23:28+0100 <info> installZ2mContainer.js:50 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt wird als Docker-Container installiert...
2024-12-06T14:23:28+0100 <info> installZ2mContainer.js:51 (Zigbee2mqttManager.installZ2mContainer) Pullen des koenkk/zigbee2mqtt:1.42.0-Images...
2024-12-06T14:23:29+0100 <info> installZ2mContainer.js:54 (Zigbee2mqttManager.installZ2mContainer) Konfiguration des Geräts /dev/ttyUSB0
2024-12-06T14:23:29+0100 <info> installZ2mContainer.js:59 (Zigbee2mqttManager.installZ2mContainer) Erstellung des Containers...
2024-12-06T14:23:29+0100 <info> installZ2mContainer.js:62 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt erfolgreich als Docker-Container installiert und konfiguriert
2024-12-06T14:23:29+0100 <info> configureContainer.js:23 (Zigbee2mqttManager.configureContainer) Z2M Docker-Container wird konfiguriert...
2024-12-06T14:23:29+0100 <info> configureContainer.js:36 (Zigbee2mqttManager.configureContainer) Z2M-Konfigurationsdatei existiert bereits.
2024-12-06T14:23:29+0100 <info> installZ2mContainer.js:84 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt-Container wird (neu) gestartet...
2024-12-06T14:23:34+0100 <info> installZ2mContainer.js:90 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt-Container erfolgreich gestartet
2024-12-06T14:23:34+0100 <info> connect.js:25 (Zigbee2mqttManager.connect) Verbindung von Gladys zum MQTT-Broker mqtt://localhost:1884...
2024-12-06T14:23:34+0100 <info> connect.js:35 (MqttClient.<anonymous>) Verbunden mit MQTT-Container mqtt://localhost:1884
2024-12-06T14:23:34+0100 <info> subscribe.js:12 (Zigbee2mqttManager.subscribe) Abonnieren des MQTT-Themas zigbee2mqtt/#

Und hier ist das Ergebnis:

Ich merge und mache eine Gladys-Release

ohne zu zögern die 2

Stabilität ist die Mutter der Sicherheit, besonders während der Schulferien. Wenn also manche nicht zu Hause sind, kann das Heizung, Alarmanlage usw. beeinflussen.

Da ich meinen Docker z2m außerhalb von Gladys verwaltet habe, habe ich mich für die Version 1.42.0 entschieden, anstatt wie empfohlen auf „latest“ zu setzen, und das war eine sehr gute Entscheidung :slight_smile:

Das ist seit Gladys Assistant 4.50.2 der Fall :slight_smile:

Kein erzwungener Wechsel auf 2.0 im Januar, das machen wir später in Ruhe

Froh, gewartet zu haben!

Auf Reddit: Alle Geräte offline - Upgrade auf Z2M v. 2.1.1 hat das Problem gelöst - was ist los?

Das ist wie bei der Verwaltung eines kritischen Unternehmenssystems (Netzwerk, Sicherheitswerkzeug, etc.), es ist besser, die anderen die Scherben aufräumen zu lassen und direkt auf die gepatchte Hauptversion zu wechseln :sweat_smile::sweat_smile:
Danke @pierre-gilles, dass du das mit Gladys gemacht hast! Das erspart uns eine Menge Ärger!

Ich weiß nicht, ob das Thema auf eurer Seite vorangekommen ist, aber ich denke, ich werde meine gesamte Installation überarbeiten, um auf ein externes zigbee2mqtt umzusteigen und den SLZB-MR1 zu kaufen/verwenden, über den @mutmut hier sprach: Quel hub pour Matter? - #5 par mutmut

Damit kann ich eine zweite Z2M-Version 2 zum Testen mit einem Test-Gladys daneben einrichten, ohne die Pairings zu beeinträchtigen, und auch Matter-kompatibel sein :wink:

Wenn ihr Anmerkungen habt, zögert nicht ^^

Hallo @prohand
Gerade sprach ich über externe z2m mit Version-Upgrade und meine Docker-Verwaltung über Portainer hier und meine laufenden Tests dort.

Ah cool danke :slight_smile: