NEWS
Pushover bei Zeitsteuerung
-
Hallo,
ich nutze folgendes Script um mir eine Pushover-Benachrichtigung zu schicken, sobald die Aussenbeleuchtung oer Zeitsteuerung ein- oder ausgeschaltet wird:
// BEGINN AUSSENBELEUCHTUNG EINGANG on({time: "* 22 * * *"}, function () { sendTo("pushover.0", {message: 'Es ist 22:00 Uhr, Aussenbeleuchtung Eingang ausgeschaltet', title: 'Information - Zu Hause', priority: 0}); setState('hm-rpc.0.LEQ0022668.1.STATE', 'false'); // Aussenbeleuchtung Eingang einschalten }); on({time: "* 1 * * *"}, function () { sendTo("pushover.0", {message: 'Es ist 22:00 Uhr, Aussenbeleuchtung Eingang eingeschaltet', title: 'Information - Zu Hause', priority: 0}); log("ZEITSTEUERUNG AUSSENBEREICH: Es ist 01:00 Uhr, Aussenbeleuchtung Eingang wird eingeschaltet","info"); setState('hm-rpc.0.LEQ0022668.1.STATE', 'true'); // Aussenbeleuchtung Eingang ausschalten }); // ENDE AUSSENBELEUCHTUNG EINGANG
Wenn ich jetzt die Pushover-Instanz aktiviere, erhalte ich die Meldung sekündlich.
Was habe ich falsch gemacht bzw. was muss ich machen, damit die Meldung wirklich nur zur eingestellten Zeit geschickt wird?
-
Hm… Eine direkte Antwort kann ich dir nicht geben, warum jede Sekunde ist. Aber:
"* 22 * * *" - jede Minute von 22:00 bis 22:59, du solltest "0 22 * * *" benutzen.
Du kannst auch probieren:
on({time: {hour: 22, minute: 00}}, function() { });
-
Hallo SchuetzeSchulz,
sobald die Aussenbeleuchtung oer Zeitsteuerung ein- oder ausgeschaltet wird `
Dein Skript reagiert aber nur auf die Zeit, nicht auf den Status der Beleuchtung.Bluefox hats schon geschrieben, die Cron Schreibweise für 22 Uhr ist "0 22 * * *" (an jedem Tag, wenn 22 Stunden und 0 Minuten erreicht ist), 0100 Uhr entsprechend "0 1 * * *".
// Um 22Uhr einschalten und Pushnachricht versenden: schedule("0 22 * * *", function () { sendTo("pushover.0", { message: 'Es ist 22:00 Uhr, Aussenbeleuchtung Eingang wird ausgeschaltet', title: 'Information - Zu Hause', priority: 0 }); setState('hm-rpc.0.LEQ0022668.1.STATE', 'false'); // Aussenbeleuchtung Eingang ausschalten }); // Um 1Uhr einschalten und Pushnachricht versenden: schedule("0 1 * * *", function () { sendTo("pushover.0", { message: 'Es ist01:00 Uhr, Aussenbeleuchtung Eingang wird eingeschaltet', title: 'Information - Zu Hause', priority: 0 }); setState('hm-rpc.0.LEQ0022668.1.STATE', 'true'); // Aussenbeleuchtung Eingang einschalten }); //auf Lichtaktor reagieren on({ id: 'hm-rpc.0.LEQ0022668.1.STATE', change: 'ne' }, function (obj) { if (obj.newState.val === true || obj.newState.val ==="true") { sendTo("pushover.0", { message: 'Aussenbeleuchtung Eingang wurde eingeschaltet', title: 'Information - Zu Hause', priority: 0 }); } else { sendTo("pushover.0", { message: 'Aussenbeleuchtung Eingang wurde ausgeschaltet', title: 'Information - Zu Hause', priority: 0 }); } });
Damit erhältst du jeweils ZWEI Meldungen (wegen der erreichten Zeit und dann, wenn der Aktor tatsächlich geschaltet wurde)
Gruß
Pix
-
Hallo zusammen,
hab das jetzt mal abgeändert gemäß Bluefox' Vorschlag:
on({time: {hour: 22, minute: 00}}, function() { });
Bin mal heute Abend gespannt
-
Kurze Rückmeldug: Funktioniert! Vielen Dank!