NEWS
Script wird zweimal ausgeführt?
-
@ticaki Ich habe deine Ideen einmal in das Skript eingebaut:
javascript.0 2023-08-02 19:20:30.563 info script.js.common.BewegungsmelderV2: {"id":"zigbee.0.00158d00042d7b1f.occupancy","newState":{"val":true,"ts":1690996830549,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"oldState":{"val":true,"ts":1690996830502,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"state":{"val":true,"ts":1690996830549,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"}} javascript.0 2023-08-02 19:20:30.512 info script.js.common.BewegungsmelderV2: Bewegungsmelder StairsToFirstFloor: Ausgelöst, javascript.0 2023-08-02 19:20:30.509 info script.js.common.BewegungsmelderV2: dp: undefined val: true ack: true from: system.adapter.zigbee.0 javascript.0 2023-08-02 19:20:30.508 info script.js.common.BewegungsmelderV2: {"id":"zigbee.0.00158d00042d7b1f.occupancy","newState":{"val":true,"ts":1690996830502,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"oldState":{"val":false,"ts":1690995672419,"ack":true,"lc":1690995672419,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"},"state":{"val":true,"ts":1690996830502,"ack":true,"lc":1690996830502,"from":"system.adapter.zigbee.0","q":0,"user":"system.user.admin"}}
Was ich gerade bei dem Test entdeckt habe, ist, dass der neue Aqara Motion Sensor nur einmal feuert und der alte zweimal... Merkwürdig...
-
@paul53 Hatte ich schon mal ausprobiert, leider funktionierte die Erkennung des Bewegungsmelder nicht mehr richtig. Ich teste es nachher noch mal.
-
@ticaki
Hast du jetzt auch das Problem, dass das Skript zweimal gestoppt wird?javascript.0 2023-08-02 17:10:59.079 info Stop script script.js.common.CommonMix javascript.0 2023-08-02 17:10:58.914 info Stop script script.js.common.CommonMix
-
@th3rockyeah
jup, ich kann mich erinnern damals einen report zu 2 mal stop und 2 mal start geschrieben zu haben und damals sind die tatsächlich 2 mal gelaufen. 2 mal stop ist doch okups ein Fehler das ist nicht obj.state.id sondern obj.id sry
-
@ticaki ok. Danke. dann habe ich da schon einmal einen Haken dran.
Muss ich jetzt nur noch mal klären, warum der Bewegungsmelder zweimal feuert...Danke erstmal für eure schnelle Hilfe!
-
@th3rockyeah ich denke mal der löst einmal aus beim Wechsel false-->true und dann umgekehrt. Lass doch mal den Wert im Log ausgeben, dann siehst Du das
-
@ahnungsbefreit sagte: Wert im Log ausgeben
Das hat @Th3RockYeah bereits hier:
Einmal false --> true und 55 ms später true --> true.
Deshalb sollte er triggern mitchange: 'gt'
-
@paul53 ok, das hatte ich nicht gesehen aber genau darauf wollte ich hinaus, Trigger "any" ist vermutlich die Ursache
-
@ahnungsbefreit, @paul53 Ja trigger "any" ist die Ursache. Wenn ich auf "GT" stelle, schaltet der Bewegungsmelder nicht erneut an, wenn ich im Raum bin und er die Bewegung erfasst. "GT" geht erst, wenn der Bewegungsmelder keine Bewegung mehr registriert.
Scheint bei mir aber ggf. ein Logik-Problem zu sein. Ich muss das mehr Debuggen. Auf jeden Fall DANKE für euren Input!!
-
Hatte gerade 12:00 ebenfalls ein doppelt laufendens Skript, das ich jedoch mit restart der Javascript-Instanz entfernen konnte. Ist auch mit dem Code von 11:15 gelaufen. Also ist ein restart der Javascript Instanz nach dem Beenden der Bearbeitung anzuraten.
-
@ticaki das ist eigentlich nicht nötig. Ich habe so etwa 40 Scripte und bearbeitete einige davon öfters und hatte so ein Problem noch nie.
-
@ahnungsbefreit
Ich hatte das Problem bisher auch ausschließlich mit Skripten die async und await benutzen. Wobei ich jetzt 2 mal in letzter Zeit 100% Auslastung des Javascript Adapters hatte, weil er sich verschluckt hat. Bei eben diesem Skript. Aber auch nur wenn ich beim starten des Skripts die Arbeitsfunktion aufrufe, und gleichzeitig mit extendObject/setObject teste... 2 mal ist aber nicht genug um es an irgendwas fest zu machen.