Ich habe meinen Ferienkalender wie im WIKI https://wiki.fhem.de/wiki/Wochenende,_Feiertage_und_Schulferien (https://wiki.fhem.de/wiki/Wochenende,_Feiertage_und_Schulferien) empfohlen nach diesem Vorbild https://forum.fhem.de/index.php/topic,36244.msg299631.html#msg299631 (https://forum.fhem.de/index.php/topic,36244.msg299631.html#msg299631) als Datei gespeichert und entsprechend dem erstgenannten WIKI den dummy AT_Ferientag
Internals:
NAME AT_Ferientag
NR 97
STATE 0
TYPE dummy
READINGS:
2018-02-03 00:00:10 state 0
Attributes:
room ferien_test
bzw. das Notify nfy_AT_Ferien
Internals:
.COMMAND {fhem "set AT_Ferientag " . (ReadingsVal("AT_Ferien", "modeStart", "") =~ "ferien" ? 1: 0) }
DEF AT_Ferien {fhem "set AT_Ferientag " . (ReadingsVal("AT_Ferien", "modeStart", "") =~ "ferien" ? 1: 0) }
NAME nfy_AT_Ferien
NOTIFYDEV AT_Ferien
NR 135
NTFY_ORDER 50-nfy_AT_Ferien
REGEXP AT_Ferien
STATE 2018-02-03 00:00:10
TYPE notify
READINGS:
2018-02-01 16:42:45 state active
Attributes:
room ferien_test
definiert. Leider wird der Dummy NIE auf 1 gesetzt, da "modeStart" anstatt für Menschen lesbare Zeichen nur irgendwelche HEX-Codes (aktuell: 38728c2fb57148c1b23e46db2ab82ed6) enthält (ich möchte an dieser Stelle festhalten, dass in Niederösterreich heute der erste Ferientag der Semesterferien ist.
Der Befehl get AT_Ferien text modeStart
ergibt korrekter Weise eine Bildschirmausgabe von "03.02.18 00:00 Semesterferien" in einer netten Box, die mit ok zu quittieren ist.
Aufgrund der Hex-Zeichen kann die ReadingsVal-Abfrage im Notify wie erwähnt nicht "true" werden. Ich möchte den Umweg über eine Subroutine vermeiden mit der ich das get AT_Ferien text modeStart
abfrage und dann den Dummy entsprechend setze (wie als Beispiel hier ==> https://wiki.fhem.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies (https://wiki.fhem.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies) beschieben, sondern ganz simpel mit einem PERL/FHEM-Befehl lt. WIKI die Abfrage machen. Gibt es da eine Möglichkeit die ich als noch Anfänger noch nicht kenne ? Danke für die Hinweise und Anregungen !!!
Der Vollständigkeit halber noch das Listing meines Kalenders:
Internals:
DEF ical file ferien.ics 86400
NAME AT_Ferien
NOTIFYDEV global
NR 98
NTFY_ORDER 50-AT_Ferien
STATE triggered
TYPE Calendar
.fhem:
iCalendar BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:38728c2f-b571-48c1-b23e-46db2ab82ed6
DTSTART;VALUE=DATE:20180203
DTEND;VALUE=DATE:20180204
DESCRIPTION:Semesterferien 2018 in Niederösterreich - Importiert von Ferien
wiki.de
SUMMARY:Semesterferien
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:84345cac-d604-413d-9495-21c74891882a
DTSTART;VALUE=DATE:20180205
DTEND;VALUE=DATE:20180211
DESCRIPTION:Semesterferien 2018 in Niederösterreich - Importiert von Ferien
wiki.de
SUMMARY:Semesterferien
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:d8b920c6-b471-43c8-90b6-e5a1f6520f40
DTSTART;VALUE=DATE:20180511
DTEND;VALUE=DATE:20180512
DESCRIPTION:Pfingstferien 2018 in Niederösterreich - Importiert von Ferienw
iki.de
SUMMARY:Pfingstferien
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:22f8f969-691e-44c1-af3d-a6e8ff89d602
DTSTART;VALUE=DATE:20180519
DTEND;VALUE=DATE:20180523
DESCRIPTION:Pfingstferien 2018 in Niederösterreich - Importiert von Ferienw
iki.de
SUMMARY:Pfingstferien
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:ae3c7f85-c251-4b33-923a-7e1a464cadf9
DTSTART;VALUE=DATE:20180324
DTEND;VALUE=DATE:20180404
DESCRIPTION:Osterferien 2018 in Niederösterreich - Importiert von Ferienwik
i.de
SUMMARY:Osterferien
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:47fe7574-7d57-433e-aa64-ea899796acbc
DTSTART;VALUE=DATE:20180630
DTEND;VALUE=DATE:20180903
DESCRIPTION:Sommerferien 2018 in Niederösterreich - Importiert von Ferienwi
ki.de
SUMMARY:Sommerferien
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:8546415d-d074-4d3b-9726-558e6d9e3c74
DTSTART;VALUE=DATE:20181115
DTEND;VALUE=DATE:20181116
DESCRIPTION:Weihnachtsferien 2018 in Niederösterreich - Importiert von Feri
enwiki.de
SUMMARY:Weihnachtsferien
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20180124T091659Z
UID:9c3a6919-ab51-4148-8faa-09011883efee
DTSTART;VALUE=DATE:20181224
DTEND;VALUE=DATE:20190107
DESCRIPTION:Weihnachtsferien 2018 in Niederösterreich - Importiert von Feri
enwiki.de
SUMMARY:Weihnachtsferien
END:VEVENT
END:VCALENDAR
interval 86400
lastUpdate 2018-02-03 00:00:10
lastid 8
lstUpdtTs 1517612410.01078
nextUpdate 2018-02-04 00:00:10
nextWake 2018-02-04 00:00:00
nextWakeTs 1517698800
nxtUpdtTs 1517698810.01078
type file
url ferien.ics
vevents:
READINGS:
2018-02-03 00:00:10 lastUpdate 2018-02-03 00:00:10
2018-01-24 15:25:44 modeAlarm
2018-02-03 00:00:00 modeAlarmOrStart 38728c2fb57148c1b23e46db2ab82ed6
2018-01-24 15:25:44 modeAlarmed
2018-02-03 00:00:10 modeChanged
2018-01-24 15:25:44 modeEnd
2018-01-24 15:25:44 modeEnded
2018-02-03 00:00:00 modeStart 38728c2fb57148c1b23e46db2ab82ed6
2018-02-03 00:00:10 modeStarted
2018-02-03 00:00:10 modeUpcoming 9c3a6919ab5141488faa09011883efee;47fe75747d57433eaa64ea899796acbc;84345cacd604413d949521c74891882a;ae3c7f85c2514b33923a7e1a464cadf9;8546415dd0744d3b9726558e6d9e3c74;22f8f969691e44c1af3da6e8ff89d602;d8b920c6b47143c890b6e5a1f6520f40
2018-02-03 00:00:10 nextUpdate 2018-02-04 00:00:10
2018-02-03 00:00:10 nextWakeup 2018-02-04 00:00:00
2018-02-03 00:00:10 state triggered
Attributes:
room ferien_test
update async
nach weiteren Recherchen komme ich zu dem Schluss, dass das Szenario vor dem Joana F. vor bereits fast 4 Jahren hier https://forum.fhem.de/index.php/topic,11218.msg76192.html#msg76192 (https://forum.fhem.de/index.php/topic,11218.msg76192.html#msg76192) "gewarnt" hat leider eingetreten ist. Gibt es mittlerweile eine Möglichkeit die "DESCRIPTION" ohne subs (ReadingsVal/Value/...) auszulesen ? Ich sehe derzeit nur die Möglichkeit abzufragen ob modeStart leer ist oder nicht. Nachdem der Kalender vom Ferienwiki importiert wurde darf ich einmal davon ausgehen, dass nur Ferienevents drinnen stehen ...
Bessere (elegantere) Ideen herzlich willkommen !