> 2. Wenn das Script irgendwann komplett läuft, könntest du (Gerhard)das
> dann nochmal hier in endvariante Posten (für den Fall dass da noch
> unentdeckte Fehler drin sind)? Ich würde das dann auch kommentiert ins
> Wiki übertragen als Codebeispiel für andere. 8wenn keiner was dagegen
> hat)
Also hier nun die funktionierende Version:
define badbenutzung_on notify piri_schlaf:on* {\
my $hm = sprintf("%%02d:%%02d", $hour, $min);;\
if( $hm gt "04:30" && $hm lt "09:00" &&\
$value{tfk_tuer} eq "on" &&\
$value{luft_bad} eq "Closed" &&\
!$data{badbenutzung_on}) {\
$data{badbenutzung_on} = 1;;\
fhem "set heiz_bad desired-temp 23.0";;\
fhem "define at_badbenutzung_off at +01:30 trigger
badbenutzung_off"\
}\
}
define badbenutzung_off notify badbenutzung_off {\
fhem "set heiz_bad desired-temp 18.0";;\
delete($data{badbenutzung_on})\
}
Der piri_schlaf überwacht den Nachttisch meiner Frau und schlägt an,
wenn sie das erste Mal nach dem Wecker greift. Da sie die
Schlummertaste regelmäßig benutzt, ist sichergestellt, dass die
Badheizung genügend Zeit hat (ca. 30 Min sollten es aber schon sein).
luft_bad (der Fensterkontakt des zu steuernden Heizungsreglers) wird
abgefragt, weil der Regler eine gewünschte Änderung (z.B. aus FHEM)
offenbar auch dann umsetzt, wenn das Fenster gerade geöffnet ist.
Der tfk_tuer ist eine Art Abwesenheitsschalter.
Rudolf hat eine sehr gute Lösung für mein Problem gefunden. Alleine
hätte ich das nie hinbekommen. Ich hätte jetzt bald einen via notify
getriggerten Dummi-Schalter als Ersatz für den Zeitvergleich benutzt.
So ist das doch nun viel eleganter ...