Hallo zusammen,
ich habe eine Frage zur Syntax in Verbindung mit dem Calview Modul.
Idee:
Ich möchte am Vorabend den Kalender prüfen ob meine Frau am nächsten Tag Frühdienst hat - um die Heizung im Badezimmer früher einzuschalten.
Sie trägt in den Google Kalender immer "Früh" oder "Frühdienst" oder "früh" ein (natürlich ohne die Anführungsstriche).
Ich könnte ihr sagen, dass sie immer nur eine Schreibweise verwenden soll, eine Garantie, dass das dann auch so passiert, gibt es natürlich nicht :-)
Das gilt ebenso für die Zeit. D.h. sie trägt nicht exakt die Zeit ihres Dienstes ein, sondern irgendeine Uhrzeit, s.u. 17 bis 18 Uhr. Das ist auch ok, denn es geht hauptsächlich darum, zu sehen, an welchem Tag sie Dienst hat, die Uhrzeit ist da nebensächlich.
Im Calview tauchen die morgigen Termine in den Readings tomorrow_001_summary, tomorrow_002_summary etc. auf.
2018-02-18 20:41:28 tomorrow_002_bdate morgen
2018-02-18 20:41:28 tomorrow_002_btime 17:00:00
2018-02-18 20:41:28 tomorrow_002_categories
2018-02-18 20:41:28 tomorrow_002_daysleft 1
2018-02-18 20:41:28 tomorrow_002_daysleftLong morgen
2018-02-18 20:41:28 tomorrow_002_description
2018-02-18 20:41:28 tomorrow_002_edate 19.02.2018
2018-02-18 20:41:28 tomorrow_002_etime 18:00:00
2018-02-18 20:41:28 tomorrow_002_location
2018-02-18 20:41:28 tomorrow_002_mode next
2018-02-18 20:41:28 tomorrow_002_source Familienkalender
2018-02-18 20:41:28 tomorrow_002_sourcecolor white
2018-02-18 20:41:28 tomorrow_002_summary Früh
2018-02-18 20:41:28 tomorrow_002_timeshort 17:00:00 - 18:00:00
Testweise (die Wiederholfrequenz von einer Minute ist sonst natürlich Quatsch) habe ich folgendes gemacht.
define at_fruehdienst_check at +*00:01:00 {\
if ((ReadingsVal('myCalView', 'tomorrow_001_summary', 0) eq "Früh") || (ReadingsVal('myCalView', 'tomorrow_002_summary', 0) eq "Früh") || (ReadingsVal('myCalView', 'tomorrow_003_summary', 0) eq "Früh")) {\
fhem "set fruehdienst on"\
}\
else {\
{\
fhem "set fruehdienst off"\
}\
}}
Das klappt soweit - aber in dem Beispiel auch nur, wenn im Kalender einer der ersten drei Einträge genau "Früh" lautet.
Wie kann man eleganter als mit etlichen ODER-Verknüpfungen
a) die unterschiedlichen Schreibweisen (früh, Früh, Frühdienst...)
b) die verschiedenen "Positionen" im Kalender (001, 002, 003...)
abfangen?
Für Tipps wäre ich euch dankbar!
Viele Grüße,
Hinrich