NEWS
UNSOLVED setStateDelayed Javascript-Adapter -> "hängt sich auf"?
-
Systemdata Bitte Ausfüllen Hardwaresystem: Rasp3B Arbeitsspeicher: 926.08 MB Festplattenart: SD-Karte Betriebssystem: Ubuntu Node-Version: 10.x.x Nodejs-Version: v10.17.0 NPM-Version: 6.11.3 Installationsart: Skript Image genutzt: Ja Ort/Name der Imagedatei: iobroker Standard Ich habe bestimmt schon 2 Jahre nun den Javascript Controller im Einsatz und Steuere damit verschiedene Dinge. Seit neuestem habe ich Bewegungssensoren, die mir Licht und Bewegung melden.
Nachdem die Abfrage wahr ist, lass ich einen Schalter oder ein Licht anschalten und will mit dem setStateDelayed das Licht wieder ausschalten.
Das funktioniert sehr oft - sehr gut. Doch habe ich immer wieder das Problem, dass der Status nicht durch setStateDelayed gesetzt wird und dann die ganze Nacht die Leuchte brennt.
Nachdem das Problem immer wieder aufgetreten ist, habe ich alles upgedated (ca vor 2-3 Monaten), dennoch ohne Erfolg. Ich habe mir dann überlegt, dass ggf. ein Restart des Adapters hilfreich wäre. Ich lasse nun jede Stunde den Adapter neustarten. Hilft natürlich auch nicht. Ist eher die Gefahr, dass der Adapter dann einen Neustart macht, wenn er den Befehl gerade ausführen soll.
Ich bin für jede Hilfe dankbar.
on({id: 'zigbee.0.00158d0004208327.occupancy'/*Occupancy*/, change: "any"}, Motion1); function Motion1() { if(compareTime(sunriseIn, sunriseOut, "not between", null)) { if(getState('zigbee.0.00158d0004208327.occupancy').val == true && getState('zigbee.0.00158d0004208327.illuminance'/*Illuminance*/).val < 100) { setState('sonoff.0.DVES_92F816.POWER'/*Schalter A POWER*/, true); setStateDelayed('sonoff.0.DVES_92F816.POWER'/*Schalter A POWER*/, false, 180000); } } }
-
setStateDelayed('0_userdata.0.VIS_Objekte.configSaveStatus', false, false, parseInt(180000, 10), false);
So wird es mit blockly gelöst (Umformung in Java). In diesem Beispiel wird der Datenpunkt auf 'false' gesetzt.
Vielleicht hilft es dir ja.
EDIT:
Und so auf 'true'
setStateDelayed('0_userdata.0.VIS_Objekte.configSaveStatus', true, false, parseInt(180000, 10), false);