NEWS
[Gelöst] Blockly Wecker Zeit Abfrage
-
Guten Aband,
wie kann ich in Blocky einen Wecker programmieren und dann bei der ausgewählten Zeit eine Aktion ausführen?
Ein Widget samt Variable mit Uhrzeit gibt es schon.
Es geht mir nur um das reine Auslösen einer Aktion bei erreichen der Uhrzeit
besten dank
-
@Oak:Ein Widget samt Variable mit Uhrzeit gibt es schon. `
Wie liegt die Uhrzeit vor ?a) 2 Datenpunkte für Stunden und Minuten getrennt
b) 1 Datenpunkt mit "hh:mm"
-
Der Fall b) lässt sich etwa so behandeln:
-
Der Fall b) lässt sich etwa so behandeln:
Blockly_Wecker.JPG `
Hallo paul53
Ich habe die Zeit in hh:mm
Wenn ich deinen Block eingebe kommt folgende Fehlermeldung im Log.
Mh, bin was Blockly angeht ziemlich grün hinter den Ohren, hoffe du kannst mir helfen.
7162_2.png
7162_unbenannt.png -
Die Fehlermeldungen kommen aus unterschiedlichen Scripts.
@Oak:bin was Blockly angeht ziemlich grün hinter den Ohren `
Ich auch. Deshalb versuche es mal mit Javascript (In den ersten 2 Zeilen die Datenpunkt IDs eintragen !).const idZeit = '...'; // ID von Wecker02 const idTimer = '...'; // ID von Timer ON OFF var sched = null; on(idZeit, function(dp) { var uhrzeit = dp.state.val.split(':'); if(sched) clearSchedule(sched); sched = schedule(uhrzeit[1] + ' ' + uhrzeit[0] + ' * * *', function() { setState(idTimer, true); }); });
Das entspricht weitgehend dem Blockly-Script.
-
Die Fehlermeldungen kommen aus unterschiedlichen Scripts.
@Oak:bin was Blockly angeht ziemlich grün hinter den Ohren `
Ich auch. Deshalb versuche es mal mit Javascript (In den ersten 2 Zeilen die Datenpunkt IDs eintragen !).const idZeit = '...'; // ID von Wecker02 const idTimer = '...'; // ID von Timer ON OFF var sched = null; on(idZeit, function(dp) { var uhrzeit = dp.state.val.split(':'); if(sched) clearSchedule(sched); sched = schedule(uhrzeit[1] + ' ' + uhrzeit[0] + ' * * *', function() { setState(idTimer, true); }); });
Das entspricht weitgehend dem Blockly-Script. `
Hey Super, das funktioniert schon einmal!
Wie kann ich jetzt einen Schalter einbinden um die funktion zu sperren bzw. einzubinden?
Also wenn Uhrzeit und Schalter aktiv dann Aktion auslösen ansonsten nichts!
Danke dir
-
@Oak:Wie kann ich jetzt einen Schalter einbinden um die funktion zu sperren bzw. einzubinden? `
const idZeit = '...'; // ID von Wecker02 const idTimer = '...'; // ID von Timer ON OFF const idFreigabe = '...'; // ID von Freigabe Wecken var sched = null; on(idZeit, function(dp) { var uhrzeit = dp.state.val.split(':'); if(sched) clearSchedule(sched); sched = schedule(uhrzeit[1] + ' ' + uhrzeit[0] + ' * * *', function() { if(getState(idFreigabe).val) setState(idTimer, true); }); });
-
Super, das klappt!
Vielen lieben Dank
-
@paul53 Ich hätte auch mal eine Frage und zwar habe ich dieses Script ähnlich wie deins und dort kommt bei mir folgende Fehlermeldung nach dem Update des JavaS auf 5.2.13.
javascript.0 2021-12-03 17:24:20.315 error at processImmediate (node:internal/timers:464:21) javascript.0 2021-12-03 17:24:20.315 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41) javascript.0 2021-12-03 17:24:20.315 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29) javascript.0 2021-12-03 17:24:20.315 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38) javascript.0 2021-12-03 17:24:20.315 error at Object.<anonymous> (script.js.Wohnung.Akzentbeleuchtung.Couch.Warmweiß_Strip_unten:53:14) javascript.0 2021-12-03 17:24:20.315 error Error in callback: TypeError: schedule is not a function javascript.0 2021-12-03 17:24:19.048 error at processImmediate (node:internal/timers:464:21) javascript.0 2021-12-03 17:24:19.047 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5706:41) javascript.0 2021-12-03 17:24:19.047 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29) javascript.0 2021-12-03 17:24:19.047 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1087:38) javascript.0 2021-12-03 17:24:19.047 error at Object.<anonymous> (script.js.Wohnung.Akzentbeleuchtung.Couch.Warmweiß_Strip_unten:53:14) javascript.0 2021-12-03 17:24:19.047 error Error in callback: TypeError: schedule is not a function
-
@basti97
"stop" hat eine falsche Variable. Es muss schedule1 gestoppt werden. -
@paul53 Super vielen Dank man wird irgendwie Blind. Mal sehen ob es jetzt so durchläuft ohne Warnungen.
Einen schönen Abend.