Hallo,
Am 10.12.2012 10:18, schrieb kossmann:
> könntest du vielleicht erklären, was da genau passiert? Wo kommt das
> "schulferien" her? Ist das ein beliebiger Text in der UID (die hier ja
> immer auf "
schulferien.org" endet)?
# das definiert den Dummy, der auf 1 oder 0 steht, je nachdem, ob Ferien
sind oder nicht
define isHoliday dummy # benutzen mit { Value("isHoliday") }
# das definiert den Ferienkalender
# dieses notify wird bei jeder Aktualisierung des Kalenders, i.d.R. also
alle Stunde, aktiv
# dabei wird der Perl-Ausdruck in { } ausgeführt
# der Teil ReadingsVal("Holidays","modeStart","") =~ "schulferien"
liefert die Anzahl der Vorkommen des Texts "schulferien"
# im Reading "modeStart". Wenn gerade Schulferien sind, ist das
Ergebnis 1, sonst undef.
# mit (ReadingsVal("Holidays","modeStart","") =~ "schulferien" ? 1: 0)
wird dann aus dem Ergebnis 1 oder 0
# am Ende wird die 1 oder 0 mit dem fhem-Befehl zu fhem set isHoliday 0
oder fhem set isHoliday 1 zusammengefügt und ausgeführt
define Holidays.notify notify Holidays { fhem "set isHoliday " .
(ReadingsVal("Holidays","modeStart","") =~ "schulferien" ? 1: 0) }
Ich hoffe, daß das verständlich war. Ein wenig Herumspielen mit list
Holidays und get Holidays full all schadet nicht.
Ich wäre Dir dankbar, wenn Du das ins Wiki tust.
Viele Grüße
Boris