Anwesenheits-Status mittels Softwarebutton

Begonnen von LastActionHero, 22 Februar 2014, 23:13:34

Vorheriges Thema - Nächstes Thema

LastActionHero

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?

Future

also den Dummy kannst du mit attr Homestatus setList state:on,off,Urlaub,Party erweitern
dann attr Homestatus webCmd state
dann kannst du umschalten  ;)
FHEM 5.6 auf Brix
1xCUL433, 12x Elro AB440SC
Onkyo TX-NR515, Coolstream NEO, Samsung UE46F6500, HMLAN, 3x HM-PB-2-WM55-2, 2x HM-PB-6-WM55, 4x HM-CC-RT-DN, 3x HM-TC-IT-WM-W-EU, 1x HM-RC-4-2, 3x HM-LC-Sw1PBU-FM,1x HM-WDS10-TH-O

LastActionHero

#2
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!

Franz Tenbrock

#3
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) ;)
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

LastActionHero

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!

Franz Tenbrock

hast du auch im dashboard ?!  8)

so macht das Spass
und FHEM wächst und gedeiht
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Future

upsss...... Tippfehler.......   :-\
war noch früh am morgen  ;)
FHEM 5.6 auf Brix
1xCUL433, 12x Elro AB440SC
Onkyo TX-NR515, Coolstream NEO, Samsung UE46F6500, HMLAN, 3x HM-PB-2-WM55-2, 2x HM-PB-6-WM55, 4x HM-CC-RT-DN, 3x HM-TC-IT-WM-W-EU, 1x HM-RC-4-2, 3x HM-LC-Sw1PBU-FM,1x HM-WDS10-TH-O

LastActionHero

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!

Loredo

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
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Rince

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
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

andi1306

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

bergadler

#11
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ß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)