NEWS
Wie erkenne ich ob ein SetState erfolgreich war?
-
Hallo zusammen!
Mein Problem: Ich möchte binnen 1-2s nachdem ein Gerät nicht mehr da ist (Strom weg, kaputt, was auch immer) reagieren können.
Jedoch habe ich keinen Weg gefunden um zu erfahren ob ein Gerät JETZT GERADE tatsächlich da ist.<Gerät>.AVAILABLEist zwar nett, aber braucht zu lange für ein Update.
Auch ein<Gerät>.DEVICE_QUERYgeht nicht häufig genug und ich hätte so 10s Verzögerung.TL;DR: Wie ermittle ich ob ein Gerät JETZT AKTUELL verfügbar ist?
Danke im Voraus!
-
Hallo zusammen!
Mein Problem: Ich möchte binnen 1-2s nachdem ein Gerät nicht mehr da ist (Strom weg, kaputt, was auch immer) reagieren können.
Jedoch habe ich keinen Weg gefunden um zu erfahren ob ein Gerät JETZT GERADE tatsächlich da ist.<Gerät>.AVAILABLEist zwar nett, aber braucht zu lange für ein Update.
Auch ein<Gerät>.DEVICE_QUERYgeht nicht häufig genug und ich hätte so 10s Verzögerung.TL;DR: Wie ermittle ich ob ein Gerät JETZT AKTUELL verfügbar ist?
Danke im Voraus!
-
Hallo zusammen!
Mein Problem: Ich möchte binnen 1-2s nachdem ein Gerät nicht mehr da ist (Strom weg, kaputt, was auch immer) reagieren können.
Jedoch habe ich keinen Weg gefunden um zu erfahren ob ein Gerät JETZT GERADE tatsächlich da ist.<Gerät>.AVAILABLEist zwar nett, aber braucht zu lange für ein Update.
Auch ein<Gerät>.DEVICE_QUERYgeht nicht häufig genug und ich hätte so 10s Verzögerung.TL;DR: Wie ermittle ich ob ein Gerät JETZT AKTUELL verfügbar ist?
Danke im Voraus!
-
Hallo zusammen!
Mein Problem: Ich möchte binnen 1-2s nachdem ein Gerät nicht mehr da ist (Strom weg, kaputt, was auch immer) reagieren können.
Jedoch habe ich keinen Weg gefunden um zu erfahren ob ein Gerät JETZT GERADE tatsächlich da ist.<Gerät>.AVAILABLEist zwar nett, aber braucht zu lange für ein Update.
Auch ein<Gerät>.DEVICE_QUERYgeht nicht häufig genug und ich hätte so 10s Verzögerung.TL;DR: Wie ermittle ich ob ein Gerät JETZT AKTUELL verfügbar ist?
Danke im Voraus!
@kodijack: Wie erkenne ich ob ein SetState erfolgreich war?
Das sollte durch state.ack = true mitgeteilt werden.setState(id, soll); var timer = setTimeout(function() { // Aktion, wenn nicht erfolgreich }, 1000); on({id: id, ack: true}, function(dp) { if(dp.state.val == soll) clearTimeout(timer); }); -
Hallo zusammen!
Mein Problem: Ich möchte binnen 1-2s nachdem ein Gerät nicht mehr da ist (Strom weg, kaputt, was auch immer) reagieren können.
Jedoch habe ich keinen Weg gefunden um zu erfahren ob ein Gerät JETZT GERADE tatsächlich da ist.<Gerät>.AVAILABLEist zwar nett, aber braucht zu lange für ein Update.
Auch ein<Gerät>.DEVICE_QUERYgeht nicht häufig genug und ich hätte so 10s Verzögerung.TL;DR: Wie ermittle ich ob ein Gerät JETZT AKTUELL verfügbar ist?
Danke im Voraus!
@kodijack sagte in Wie erkenne ich ob ein SetState erfolgreich war?:
Hallo zusammen!
Mein Problem: Ich möchte binnen 1-2s nachdem ein Gerät nicht mehr da ist (Strom weg, kaputt, was auch immer) reagieren können.
Jedoch habe ich keinen Weg gefunden um zu erfahren ob ein Gerät JETZT GERADE tatsächlich da ist.<Gerät>.AVAILABLEist zwar nett, aber braucht zu lange für ein Update.
Auch ein<Gerät>.DEVICE_QUERYgeht nicht häufig genug und ich hätte so 10s Verzögerung.TL;DR: Wie ermittle ich ob ein Gerät JETZT AKTUELL verfügbar ist?
Danke im Voraus!
Ob ein SetState() erfolgreich war kannst du am Ack-Flag sehen. Normalerweise steuerst du eine Hardware, indem das Ack-Flag false ist. Der Adapter reagiert darauf und setzt das Ack-Flag bei Erfolg auf true.
Wie schnell der Adapter ein Gerät als offline erkennt, wenn keine Aktion damit erfolgt, hängt einzig vom Adapter ab
-
@paul53
Ah danke dir, so ähnlich hatte ich es versucht, aber ohne Erfolg.Allerdings klappt das so auch nur mit AN/AUS oder Brightness. Ändere ich unwichtige States (so daß das Licht nicht verändert wird ich aber dennoch eine Rückmeldung bekomme), so ist das stets erfolgreich (da verm. nicht an den Empfänger gesendet). Aber immerhin :-)
-
@peterfido Danke, aber leider nicht so simpel. Hätte auch Zigbee erwähnen sollen, sorry :-)
-
@kodijack Ich würde es direkt mit try/catch versuchen.
Das heißt über ein try den SetState setzen, falls der nicht erfolgreich ist, dann über Catch abfangen. Aktueller gehts nicht. ;)
-
@kodijack sagte in Wie erkenne ich ob ein SetState erfolgreich war?:
Hallo zusammen!
Mein Problem: Ich möchte binnen 1-2s nachdem ein Gerät nicht mehr da ist (Strom weg, kaputt, was auch immer) reagieren können.
Jedoch habe ich keinen Weg gefunden um zu erfahren ob ein Gerät JETZT GERADE tatsächlich da ist.<Gerät>.AVAILABLEist zwar nett, aber braucht zu lange für ein Update.
Auch ein<Gerät>.DEVICE_QUERYgeht nicht häufig genug und ich hätte so 10s Verzögerung.TL;DR: Wie ermittle ich ob ein Gerät JETZT AKTUELL verfügbar ist?
Danke im Voraus!
Ob ein SetState() erfolgreich war kannst du am Ack-Flag sehen. Normalerweise steuerst du eine Hardware, indem das Ack-Flag false ist. Der Adapter reagiert darauf und setzt das Ack-Flag bei Erfolg auf true.
Wie schnell der Adapter ein Gerät als offline erkennt, wenn keine Aktion damit erfolgt, hängt einzig vom Adapter ab
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden