Zuhause-Status
Abhängig davon, ob man sich zuhause aufhält, schläft oder ausser Haus ist, sollen Geräte unterschiedlich geschaltet werden.
Dabei sollen
- beim Statuswechsel (also "ich komme nach hause", "ich gehe schlafen" etc) Geräte geschaltet werden
- regelmäßig geplante "at *" -Vorgänge ihr Verhalten auch davon abhängig machen, ob jemand zuhause ist oder nicht.
Der Status kann z. B. per Schalter gesetzt werden. Automatisiert geht das auch mit dem PRESENCE Modul
Lösungsansatz
Es wird eine Variable HomeStatus als dummy-device, also als Variable definiert.
Desweiteren werden ein 4-Tasten-Wandschalter fs20-s4a und eine 4-Tasten-Fernbedienung fs20-s4 mit identischem Hauscode und Tastencodes versehen, die Tasten angelernt und benannt in HomeStat1, HomeStat2, HomeStat3, HomeStat4. Der Wandschalter kommt neben die Wohnungstür, die Fernbedienung ans Bett.
Beim Drücken dieser Tasten wird HomeStatus auf 1, 2, 3 oder 4 gesetzt. Ausserdem werden die gemäß dem neuen Status benötigten bzw. nicht mehr benötigten Geräte ein- oder ausgeschaltet:
- Bei Setzen von HomeStatus 1 (ich komme zuhause an)
- - Media an
- - Heizung auf Tagtemperatur
- - WLAN an
- Bei Setzen von HomeStatus 2 (ich gehe schlafen)
- - Alle Lampen aus ausser Schlafzimmer
- - Media aus
- - Heizung auf Nachttemperatur
- - WLAN aus
- Bei Setzen von HomeStatus 3 (verlassen der Wohnung für kurze Zeit)
- - Alle Lampen aus
- - Media aus
- - Heizung auf Nachttemperatur
- - WLAN aus
- Bei Setzen von HomeStatus 4 (ich verlasse die Wohnung für längere Zeit)
- - Alles aus
- - Heizung runterregeln auf 'Ferienprogramm'
- - WLAN aus
Regelmäßig geschaltete Geräte berücksichtigen ebenfalls den HomeStatus, z.B. startet das Wakeuplight nur an Wochentagen und nur wenn ich zuhause bin, also der HomeStatus < 3 ist.
Codings
define HomeStatus dummy attr HomeStatus room Wohnung define whg_HomeStat1 FS20 696c 00 define whg_HomeStat2 FS20 696c 01 define whg_HomeStat3 FS20 696c 02 define whg_HomeStat4 FS20 696c 03 define Zuhause notify whg_HomeStat1 set HomeStatus 1;;trigger whg_Audio on;;set whg_WLAN,wz_MacMini on;;set ez_FHT desired-temp 21.0 define Schlafen notify whg_HomeStat2 set HomeStatus 2;;trigger whg_MediaAus off;;set ez_FHT desired-temp 19.0;;set ez_LichtAlle,wz_LichtAlle,ku_LichtAlle,whg_WLAN off define KurzWeg notify whg_HomeStat3 set HomeStatus 3;;set ez_FHT desired-temp 18.5;;trigger whg_MediaAus off;;set whg_WLAN,Wohnung_Licht off define LangeWeg notify whg_HomeStat4 set HomeStatus 4;;trigger whg_MediaAus off;;set Wohnung_Licht,whg_WLAN,wz_MacMini off;;set ez_FHT desired-temp 17.0 define wakeup at *07:00 {\ {Log 3, ('wakeupLOG WE: '.$we)}\ {Log 3, ('wakeupLOG HomeStatus: '.(Value("HomeStatus")))}\ if ((!$we) '''and (Value("HomeStatus") < 3''') {\ {fhem("define wakeup2 at +00:18:00 set sz_Stehlampe on") }\ {fhem("define wakeupOff at +00:45:00 set sz_Leselampe,sz_Stehlampe off") }\ {fhem("set sz_Leselampe dim100% 1280") }\ {Log 4, ("wakeupLOG: define wakeupOff at +00:45:00 set sz_Leselampe,sz_Stehlampe off")}\ }\ else {\ {Log 3, ("wakeupLOG: no wakeup today.")}\ }\ }