NEWS
iCal Termine in der Vergangenheit
-
Hi,
ist es möglich, dem Adapter iCal einen Datenpunkt für Termine von gestern hinzuzufügen, so dass man einen Termin in der Vergangenheit triggern kann.
Hintergrund: Ich bin Schichtarbeiter und steuere meien Heizung im Schlafzimmer in ioBroker mit iCal und Blockly. Das heißt, wenn ich Nachtschicht habe, läuft die Heizung anders, als bei Tagschicht, damit ich in Ruhe schlafen kann. Die Nachtschichten werden über den iCal Adapter abgefragt. Problem ist, dass nach der letzten Nachtschicht nichts mehr im Kalender steht und die Heizung mit Tagschicht heizt und ich nicht schlafen kann.
Gibt es in Blockly eine Möglichkeit, den ical Kalender von Gestern zu auszulesen?
Ich habe auf Github schon eine Anfrage beim Adapterhersteller gestellt, ob er einen Datenpunkt für "Gestern" dem Adapter hinzugefügt.
Meine Frage, gibt es bis dahin eine andere Möglichkeit? -
Ich habe einen andere Vorgehensweise im Kopf, weiß aber nicht, wie ich das umsetzen soll.
Ist es möglich, etwas in der Zukunft schalten zu lassen?
Zum Beispiel: Heute steht im iCal Kalender Nachtschicht, dann schalte in 24 Stunden einen State?ist das möglich? Wenn ja, wie mache ich das mit Blockly?
-
@StM47 mit dem "timeout" Baustein
-
Habe es gerade gefunden. Bin gespannt, ob das funktioniert.
-
Ich bin folgendermaßen vorgegangen und gespannt ob es funktioniert.
Als erstes habe ich 3 Datenpunkte erstellt.
-nachtschicht
-nachtschicht1
-tagschichtAnschließend habe ich folgendes Blockly Script erstellt:
Hierbei werden zwei Termine aus iCal gertriggert.
NW Nachtdienst
für die 8h Schicht und
N1W Nachtschichtfür die 12h Schicht
Wenn einer der beiden Termine in iCal auftaucht, wird der Datenpunkt "nachtschicht" im ersten Teil des Blocklys auf true gesetzt, wenn nicht auf false.
Im nächsten Teil des Blockly Scripts wird bei Änderung des Datenpunktes "Nachtschicht" geprüft, ob der Datenpunkt auf false steht. Wenn ja, wird der Datenpunkt "Nachtschicht1" auf true gesetzt.
Der Hintergrund ist hierbei folgender. iCal prüft alle 30 Minuten, ob sich ein Ereignis im Kalender geändert hat.
Wenn ich meine letzte Nachtschicht habe, wird ab 0:00 Uhr in den nächsten 30 Minuten von iCal erkannt, dass keiner der beiden TermineNW Nachtdienst
N1W Nachtschichtmehr im Kalender steht und somit wird der Datenpunkt "nachtschicht" auf false gesetzt. Das Bolckly sollte dies nun im zweiten Teil erkennen und den Datenpunkt "nachtschicht1" auf true setzen.
Im unteren Teil des Blockly Scriptes wird der Datenpunkt "nachtschicht1" getriggert. Steht dieser auf true, dann startet ein Timeout mit 1500 Minuten, dass sind 25 Stunden. Wenn diese Zeit abgelaufen ist, sollte der State von "nachtschicht1" wieder auf false gesetzt werden und der Datenpunkt "tagschicht" auf true.
In einem weiterem Blockly Script werden dann über die Datenpunkte
-nachtschicht
-nachtschicht1
-tagschichtdie FritzDect Schaltvorlagen in der Fritzbox für die Heizungsthermostate geschaltet.
Ich bin gespannt, ob dass so funktioniert.
Vielleicht, kann der Eine oder Andere Spezialist hier, sich die Blockly Scripte mal anschauen!?