NEWS
Script mit mehreren "on" wird 2x ausgeführt -> warum?
-
Hallo,
zur ausprobieren habe ich mal folgendes Script erstellt:
! function weiter() {
! log ("weiter");
! }
! on("hm-rega.0.2042", function() { //Urlaub
! log("Auslöser Urlaub");
! weiter();
! });
! on("hm-rega.0.1503", function() { //Sommer
! log("Auslöser Sommer");
! weiter();
! });
! on("hm-rega.0.1504", function() { //Wochenende
! log("Auslöser Wochenende");
! weiter();
! });
! on("hm-rega.0.32078", function() { //Anwesenheit
! log("Auslöser Anwesenheit");
! weiter();
! });
! on("hm-rega.0.2905", function() { //Feiertag
! log("Auslöser Feiertag");
! weiter();
! });Dies sind alles Systemvariablen auf ccu2.
Wenn ich nun eine ändere, z.B. Urlaub
wird das Script 2 x durchlaufen. So steht es im log.
filename="bild1.jpg" index="0">~~
1x sofort nach Änderung der SV.
Und das 2x ein paar Sekunden später.
Warum ?
mfg
Dieter
-
Wenn ich nun eine ändere, z.B. Urlaub, wird das Script 2 x durchlaufen. `
Um das zu ermitteln, erweitere mal das Log:on("hm-rega.0.2042", function(dp) { //Urlaub log("Auslöser Urlaub " + dp.state.val + " Ack: " + dp.state.ack); weiter(); });
-
Kann es sein dass die CCU die Variablke nach einigen Sekunden zurücksetzt und du deshalb das Script 2xdurchläuft?
Du sulltest beim on nicht dur die id angeben sonst auch die anderen Bedingungen:
on({id: "hm-rega.0.1504", change: "ne", val: true}, function() { //Wochenende
log("Auslöser Wochenende");
weiter();
});
Damit wird das script nur aufgerufen wenn sich der Wert von "hm-rega.0.1504" auf true ändert.
-
Hallo,
ich will aber nicht nur trigger auf true, sondern auch auf false.
Also müsste doch nur "ne" richtig sein.
Und dies dachte ich muss man nicht mit angeben.
mfg
P.S.
Ich probiers aber mal.
-
Die andere Vermutung mit dem Zurückspielen von der ccu2 hatte ich auch.
-
Um das zu ermitteln, erweitere mal das Log:
on("hm-rega.0.2042", function(dp) { //Urlaub log("Auslöser Urlaub " + dp.state.val + " Ack: " + dp.state.ack); weiter(); }); ```` `
Hab ich gemacht. Das Ergebnis:
filename="bild1.jpg" index="0">~~mfg
-
Dann solltest Du den Auslöser erweitern:
on({id: "hm-rega.0.2042", change: "ne", ack: true}, function() { //Urlaub
-
Hatte es jetzt so gelöst:
filename="bild1.jpg" index="0">~~Aber deine Lösung gefällt mir besser.
Werde ich wieder ändern.
Danke.