So, ich nochmal!
Bei meiner Heizung habt ihr mir bis dahin suuuper weiter geholfen, ich möchte jetzt einen Schritt weiter, aber hänge schon wieder!
Ich möchte eine Anwesenheitssteuerung realisieren. Ohne Handy, ohne Bluetooth, sondern ganz einfach per Softwarebutton (evtl. kommt später noch ein Hardwaretaster neben die Haustür, aber zunächst erstmal so).
Ich habe mich am Wiki Zuhause-Status orientiert und wollte das zuerst mit LightScene machen. lightScene läuft jetzt endlich nach 1 Woche fummeln, aber das funktioniert denke ich nicht, da ich die Heizung in Abhängigkeit vom Sommer- bzw. Winterstatus schalten möchte oder eben nicht.
Bsp Sommer: ich verlasse das Haus, drücke Button "Weg"-> Alle Lampen, Steckdosen aus, if Abfrage Heizungsstatus liefert "Sommer" zurück -> Einstellung der Heizung nicht ändern.
Bsp Winter: s.o. Heizungsstatus liefer "Winterbetrieb" -> controlManu on desired-temp 18.0
Jetzt hätte ich gerne wie bei einem Lichtschalter oder Steckdose meine versch. Homestatus Buttons in einer Zeile direkt zum klicken aufgeführt, also
Homestatus | "aktuell aktivierter Status" |Zuhause | Weg | Urlaub | usw.
Ich poste mal meinen Code bis dato:
define HomeStatus dummy
attr HomeStatus room Home-Status
attr Homestatus webCmd 1 2
attr HomeStatus eventMap 1:Zuhause 2:Weg
define Zuhause notify HomeStatus:Zuhause set Steckdose_TV on
define Weg notify HomeStatus:Weg set Steckdose_TV off
Dabei funktionieren zwar die einzelnen Statusoptionen, allerdings bekomme ich nur Homestatus | aktueller Status angezeigt. Zum umstellen des Status muss ich Homestatus anklicken und dann set Zuhause o. Weg anklicken.
Nehme ich oben statt 1/2 on und off und benenne die mit eventMap um, klappts, aber dann bin ich ja an zwei Statusmöglichkeiten gebunden, ich wöllte evtl. Noch Urlaub, Party etc. Einbinden.
Wie bekomm ich das hin? Gehen überhaupt andere Commands ausser on/off?
also den Dummy kannst du mit attr Homestatus setList state:on,off,Urlaub,Party
erweitern
dann attr Homestatus webCmd state
dann kannst du umschalten ;)
super, danke!
und ohne dass dus wusstest, hast du mir auch noch erklärt, wie man eine Dropbox für die befehle darstellt, oder einfach die versch. befehle nebeneinander ;)
ich hatte es zwischenzeitlich mit einer readingsgroup gelöst (heut nacht um 1...) aber das hier ist deutlich unkomplizierter!
### Edit ###
für die Nachwelt, den doch recht einfachen Code, der aber am Anfang echt Stunden kostet!
#### Anwesenheit-Status
define HomeStatus dummy
attr HomeStatus group Home-Status
attr HomeStatus room Home-Status
attr HomeStatus setList state:Zuhause,Weg,Urlaub,Party
attr HomeStatus webCmd Zuhause:Weg:Urlaub:Party
define Zuhause notify HomeStatus:Zuhause set Steckdose_TV off;;IF ([HeizungWinterSommer:state] eq "on") (set Heizung.1_ClimRT_tr controlMode auto)
define Weg notify HomeStatus:Weg set Steckdose_TV off;;IF ([HeizungWinterSommer:state] eq "on") (set Heizung.1_ClimRT_tr controlManu on,set Heizung.1_ClimRT_tr desired-temp 17.0)
define Urlaub notify HomeStatus:Urlaub set Steckdose_TV off
define Party notify HomeStatus:Party set Steckdose_TV on
"HeizungWinterSommer" ist dabei nur mein Dummy zum Anschalten der Heizkörper im Winter bzw. Ausschalten im Sommer -> wenn ON, dann Heizung regeln, Else habe ich mir dabei gespart, denn da soll eh nichts gemacht werden!
Hallo
also ich hab den code kopiert und Fehlermedlungen bekommen
erst nicht richtig gesehen
dann aber
HomeStatus in den ersten Zeilen
dann
Homestatus in den weiteren Zeilen
kann nicht gehen !!!
Während ich probiert und hier das geschrieben habe hast du den Fehler selbst schon korrigiert
dann im neuen code noch ein kleiner Fehler
muss glaube ich heissen
attr HomeStatus group Home-Status
trotzdem super, hat auch mir geholfen schönes Beispiel und ausbaufähig.
8) ;)
ja richtig, hast du recht! viel Spaß damit :)
habs korrigiert und auch noch "KurzWeg" durch den eigentlichen Status "Party" ersetzt ;)
wäre nochmal was fürs Wiki eigentlich, das sollte viel weiter ausgebaut werden, vlt. mach ich das nachher mal!
hast du auch im dashboard ?! 8)
so macht das Spass
und FHEM wächst und gedeiht
upsss...... Tippfehler....... :-\
war noch früh am morgen ;)
Nein, dashboard habe ich noch nicht, da ich noch recht wenige aktoren habe. und da bald ein Umzug in eine andere Wohnung ansteht, muss man erst mal abwarten was da möglich und sinnvoll ist.
Fuchse mich so langsam rein in die Thematik!
Du kannst für den Zuhause-Status die Module RESIDENTS und ROOMMATE (ggf. auch GUEST) nehmen.
Diese kannst du auch manuell über Taster steuern, man muss nicht unbedingt ein iPhone per GEOFANCY daran koppeln, wenn man nicht will/kann ;-)
Gruß
Julian
Zitatund da bald ein Umzug in eine andere Wohnung ansteht, muss man erst mal abwarten was da möglich und sinnvoll ist.
Alles Ausreden.
Ich ziehe in 5 Monaten auch um, was meinst was ich zur Zeit bastle ;)
Alles was möglich ist, wird jetzt getestet. Man kann schon unheimlich viele Fehler von vorne herein vermeiden. Man muß sie nur mal gemacht haben ;)
;D
Guten Abend,
vielen Dank für die nützlichen Informationen. Habe so etwas schon lange gesucht und baue mein FHEM auch weiter aus.
Ich habe eine Frage:
Ich möchte bei den verschiedenen Anwesen-/Abwesenheiten die Geräte Uhrzeittechnisch schalten.
#### Anwesenheit-Status
define HomeStatus dummy
attr HomeStatus group Home-Status
attr HomeStatus room Home-Status
attr HomeStatus setList state:Zuhause,Weg,Urlaub,Party
attr HomeStatus webCmd Zuhause:Weg:Urlaub:Party
define Zuhause_Treppe_aus notify HomeStatus:Zuhause IF ([Treppe:state] eq "on") (at *20:50:00 set Treppe off)
Leider wird das Treppenlicht nicht um 20:50 Uhr ausgeschaltet und es wird auch nichts im Log geschrieben. Wahrscheinlich nur ein kleiner Fehler, den ich aber leider nicht finde.
Evtl. habt Ihr ja eine Idee?
Vielen Dank im Voraus und ein frohes Weihnachtsfest ....
Andreas
Hallo,
Deine Syntax im Teil zum Schalten ist falsch.
Zitat von: andi1306 am 23 Dezember 2014, 21:03:54
(at *20:50:00 set Treppe off)
Und unabhängig davon, ob nun wer daheim ist, oder ob das Treppenlicht eingeschaltet ist...,
kann man doch prinzipiell einen täglichen Ausschaltbefehl definieren:
define treppe_aus at *22:50 {fhem ("set treppe off")}
Gruß