NEWS
[gelöst] Zigbee Problem bei vielen gleichzeitigen Befehlen
-
Systemdata Bitte Ausfüllen Hardwaresystem: Raspberry Pi 4B Arbeitsspeicher: 2GB Festplattenart: 32GB USB-Stick Betriebssystem: Raspbian Node-Version: 14.19.0 Nodejs-Version: 14.19.0 NPM-Version: 6.14.16 Installationsart: Skript Image genutzt: Nein Ich habe 12 Thermostate (Spirit ZigBee) über einen ConBee 2 Stick mit dem ZigBee-Adapter mit dem ioBroker verbunden.
Die Geräte zeigen immer an, dass sie erreichbar sind, die Verbindungsqualität ist in Ordnung und wenn ich einen Thermostaten manuell oder per Skript ansteuere, funktioniert das auch immer.Sobald ich aber alle Thermostate auf einmal in einem Skript ansteuere (z.B. um morgens oder abends eine andere Solltemepratur einzustellen), dann bekomme ich im Protokoll 1 Minute später eine oder mehrere Fehlermeldungen "Send command to 0x... failed with no error code (no response received)" und der entsprechende Thermostat hat den Befehl auch nicht bekommen.
Das ganze ist bei mir absolut reproduzierbar und abhängig davon, wie groß die Pausen zwischen den einzelnen Befehlen sind.Beispiel:
- Setze ich alle 12 Befehle direkt hintereinander ohne Pause dazwischen ab, kommt der Fehler für die letzten 3 Thermostate.
- Setze ich zwischen die 12 Befehle jeweils ein "pause 100ms", kommt der Fehler nur für die letzten 2 Thermostate.
- Setze ich zwischen die 12 Befehle jeweils ein "pause 1000ms", kommt der Fehler nur noch manchmal für den letzten Thermostate.
- Setze ich zwischen die 12 Befehle jeweils ein "pause 5000ms", ist der Fehler bisher noch nie gekommen.
Für mich sieht es so aus, als ob da ein Buffer oder Queue voll läuft und weitere Befehle dann verworfen werden.
Mit den pause 5000ms habe ich zwar einen Workaround, aber irgendwie ist es kein gutes Gefühl, dass ich mich darauf verlassen muss.
Hat jemand eine Idee, was das Problem ist oder wie man das evtl. ändern kann?
-
@wowbagger-0 sagte in Zigbee Problem bei vielen gleichzeitigen Befehlen:
was das Problem ist oder wie man das evtl. ändern kann?
Gar kein Problem.
Zu viel Traffic auf dem Bus. Send die Befehle mit einem Versatz. 5000ms hat du ja selber schon herausgefunden. -
Quasi ab dem 10. Befehl in direkter Folge tritt das Problem auf. 12 Geräte finde ich schon nicht übertrieben viel. Gibt es da keine Queue/Buffer für so etwas?
Ich hätte jetzt erwartet, dass bei zu viel Traffic, die Befehle dann eben leicht zeitlich verzögert ausgeführt werden. Aber direkt kommentarlos verworfen finde ich komisch.Klar mit dem Workaround funktioniert das Skript. Aber was ist, wenn mal zufällig von verschiedenen Skripten oder Geräten gleichzeitig Befehle/Meldungen passieren. Kann es dann nicht auch zu Problemen kommen?
Um sicher zu gehen, müsste ich quasi nach jedem Befehl prüfen, ob der nach ca. 70s immer noch nicht bestätigt wurde und den dann noch einmal absetzen und das ganze, bis die Bestätigung da ist.
Neben dem zeitlichen Delay ist das ziemlich aufwändig. -
Heute morgen bekam ich trotz der 5s Pause für den letzten Thermostaten die Fehlermeldung und er wurde nicht gestellt. Manuell liess sich der Thermostat dann problemlos setzen und auch danach lief das Skript mit der 5s Pause für alle Thermostate wieder zweimal fehlerfrei.
Irgendwas ist da im Argen. Ich bekomme es aber nicht weiter eingegrenzt.
Auf jeden Fall halte ich 12 Befehle innerhalb von Sekunden (z.B. 1,2s, 12s oder 60s) für nicht so viel, dass damit zu viel Traffic auf irgendeinem Bus erzeugt werden sollte. Das eigentliche Problem muss woanders liegen. -
@wowbaggger ich weiss nicht ob es hilft, aber ich hatte bei einigen Lampen das Phänomen, dass Befehle nicht ankamen bzw mit großer Verzögerung. Ich hab daraufhin noch einen Repeater auf halbem Weg zwischen Zigbee Stick und den Lampen installiert (Billigteil von IKEA), danach lief es problemlos.
-
@amg_666 Ich werde es mal probieren, danke.
-
@amg_666 Ich habe jetzt zusätzlich drei schaltbare Steckdosen von Ikea verbaut und das Problem ist weg. Ob es wirklich daran lag oder es an zwischenzeitlich erschienen Updates liegt, kann ich nicht beurteilen. Ich habe sogar mittlerweile noch mehr Geräte (Fenstersensoren/Taster etc.) hinzugefügt, aber trotzdem geht es jetzt und nur darauf kommt es an.
Vielen Dank für den Tipp. -
@wowbaggger Jetzt noch den thread auf gelöst setzen und es ist perfekt
Ich habe sogar mittlerweile noch mehr Geräte
Das ist ja das Schöne an zigbee, dass das Netz sich mehr oder weniger selber verwaltet und je mehr Geräte desto stabiler wird es.
-
@amg_666 Reicht es "[gelöst]" in den Threadtitel zu setzen oder muss ich noch was anderes machen?
-
@wowbaggger JA