NEWS
Schedule für Wecker
-
Hallo,
ich habe ein paar Probleme mit meinen Wecker Skripten. Ich habe für jeden Wochentag ein Skript erstellt.
Im VIS kann ich per Buttons beeinflussen welche Zeit in die CRON Jobs eingetragen wird. Sobald das Haus in Abwesend ist, soll der Wecker ausgehen und bei Anwesend sollen alle, die überhaupt eingeschaltet sind wieder neu gesetzt werden. Sobald ich die Weckzeit aktualisiere oder den Wecker an/aus stelle sollen die dementsprechenden Änderungen gemacht werden. Deswegen die vielen Subscriptions.
Das Einstellen der Zeit klappt soweit. Die Skripte laufen auch an, aber sie laufen auch wenn sie nicht laufen sollen. Heute z.B. ist das Skript um 6:28 und um 9:58 Uhr gelaufen, obwohl erst in dem Skript für morgen die Zeit 6:28 Uhr hinterlegt und in dem von gestern die 9:58 Uhr ist.
Meine Vermutung ist, dass die Schedule Einträge nicht gestoppt werden. Die Statustexte werden richtig eingetragen. Von daher laufen alle "if´s und else´s" wie sie sollen.
HIer mal ein paar Auzüge.
var Wecker_Di; on({id: new RegExp('knx\\.0\\.Zentralfunktionen\\.An/Abwesend\\.EG-Alle-An_Abwesend-Status' + "|" + 'javascript\\.0\\.Wecker\\.Wecker_Di_hh' + "|" + 'javascript\\.0\\.Wecker\\.Wecker_Di_mm' + "|" + 'javascript\\.0\\.Wecker\\.Wecker_Di_aktiv' + "|" + 'javascript\\.0\\.Admin\\.Neustart'), change: "ne"}, function (obj) { if (getState("knx.0.Zentralfunktionen.An/Abwesend.EG-Alle-An_Abwesend-Status").val == true) { if (getState("javascript.0.Wecker.Wecker_Di_aktiv").val == true) { setState("javascript.0.Wecker.Wecker_Di_Statustext"/*Wecker_Statustext*/, (['Wecker ist auf ',('' + getState("javascript.0.Wecker.Wecker_Di_hh").val),':',('' + getState("javascript.0.Wecker.Wecker_Di_mm").val),' Uhr gestellt.'].join(''))); Wecker_Di = schedule(('' + getState("javascript.0.Wecker.Wecker_Di_mm").val).trim() + ' ' + ('' + getState("javascript.0.Wecker.Wecker_Di_hh").val).trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + '*'.trim(), function () { setStateDelayed('knx.0.Verbraucher.Schalten_(Ein/Aus).EG-Technik-Schrank-Steckdose-Schalten', true, false, parseInt(0, 10), false); }); } else { (function () {if (Wecker_Di) {clearSchedule(Wecker_Di); Wecker_Di = null;}})(); setState("javascript.0.Wecker.Wecker_Di_Statustext"/*Wecker_Statustext*/, 'ausgestellt'); } } else { (function () {if (Wecker_Di) {clearSchedule(Wecker_Di); Wecker_Di = null;}})(); setState("javascript.0.Wecker.Wecker_Di_Statustext"/*Wecker_Statustext*/, 'wegen Abwesenheit inaktiv'); } });
filename="Wecker_übersicht.png" index="0">~~
Ich hoffe ihr könnt mir helfen.