hobbyquaker / node-red-contrib-zigbee

Node-RED Nodes for ZigBee Devices 🐝
MIT License
86 stars 15 forks source link

OSRAM Lightify zyklische Statusabfrage führt zu crash #140

Closed ghost closed 3 years ago

ghost commented 3 years ago

Hallo,

ich habe die OSRAM Smart LED und ich möchte mir in einer CCU Systemvariable immer den Status der Lampe anzeigen lassen.

Dazu habe ich einen Injection Node erstellt, der alle 5 Sekunden einen leeren Trigger (z.B. msg.payload = {"state":""} an den Converter Node schickt, der wiederum den Status in der Systemvariable aktuallisiert.

Dies funktioniert auch gut, aber sobald die Lampen alle vom Strom sind will ich auch den Status der Systemvariable auf False setzen. Dabei fange ich mir mit einem Catch Node die Fehler ab, die beim Triggern vorkommen nach einem Verbindungsabbruch kommen und setze dann den Status der Lampe aus aus (da sie sonst auf ein wäre, wenn man einfach die eingeschaltete Lampe vom Strennt trennt).

Allerdings kommen die Error Messages sehr verzögert an (nach 20 sec) und nach einer Zeit schmiert Node RED ab und es kommt zu einem Verbindungsabbruch mit dem Stick (einfach da 5 sec. zu kurz sind, wenn ein gerät nicht verbunden ist).

Kann man das realisieren ohne dass es zu diesen Crash kommt, aber dennoch die Variable immer aktuell gehalten wird?

dschido commented 3 years ago

Hi,

ich weiß nicht, ob ich es falsch verstanden habe. Aber es gibt doch die obline node, die dir ein event liefert, wenn ein Device offline geht. Reicht das nicht? Dann kannst Du Dir doch das zyklische triggern sparen.

bracan12 notifications@github.com schrieb am Do., 11. Feb. 2021, 09:52:

Hallo,

ich habe die OSRAM Smart LED und ich möchte mir in einer CCU Systemvariable immer den Status der Lampe anzeigen lassen.

Dazu habe ich einen Injection Node erstellt, der alle 5 Sekunden einen leeren Trigger (z.B. msg.payload = {"state":""} an den Converter Node schickt, der wiederum den Status in der Systemvariable aktuallisiert.

Dies funktioniert auch gut, aber sobald die Lampen alle vom Strom sind will ich auch den Status der Systemvariable auf False setzen. Dabei fange ich mir mit einem Catch Node die Fehler ab, die beim Triggern vorkommen nach einem Verbindungsabbruch kommen und setze dann den Status der Lampe aus aus (da sie sonst auf ein wäre, wenn man einfach die eingeschaltete Lampe vom Strennt trennt).

Allerdings kommen die Error Messages sehr verzögert an (nach 20 sec) und nach einer Zeit schmiert Node RED ab und es kommt zu einem Verbindungsabbruch mit dem Stick (einfach da 5 sec. zu kurz sind, wenn ein gerät nicht verbunden ist).

Kann man das realisieren ohne dass es zu diesen Crash kommt, aber dennoch die Variable immer aktuell gehalten wird?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/hobbyquaker/node-red-contrib-zigbee/issues/140, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALA5MWRRKALELZ2WIVCKMHLS6OLF5ANCNFSM4XOOCSZA .

ghost commented 3 years ago

Hab ich im Nachhinein auch herausgefunden, hatte mich zu sehr auf den Converter fixiert (bin relativ neu drin)! Mit dem Event Node + Offline Node habe ich es dann geschafft. danke