Hallo liebes Forum,
ich beschäftige mich seit kurzem mit Fhem, bin also noch völliger Neuling.
Bin mir nicht so ganz sicher wie, ich dies umsetzen soll:
-Ich möchte gerne ein Geofency für 2 Geräte einrichten (für ein Gerät bereits eingerichtet siehe Code)
#Aktionen bei An-/Abwesenheit
define n_bmilos.Presence notify geofancy:currLoc_bmilos:.Milos-Home set HomeStatus scene home
define n_bmilos.absence notify geofancy:currLoc_bmilos:.underway {\
if (Value("bmilos.homestatus") ne "gone" && Value("bmilos.homestatus") ne "absent") {\
fhem("set HomeStatus scene away");;\
}}
-Sobald eines der Geräte zu Hause ist soll eine Lightscene z.B. home gesetzt werden, sofern Twilight den Wert 8 oder Grösser hat
-Sobald beide Geräte ausser Haus sind soll eine Lightscene z.B. away gesetzt werden
Kann mir hier jemand hier weiterhelfen?
LG
Ich würde dir empfehlen GEOFANCY zusammen mit einem ROOMMATE Device pro Person/Handy einzurichten:
define rgr_Residents RESIDENTS
set rgr_Residents addRoommate Vorname1
set rgr_Residents addRoommate Vorname2
Es gibt somit nun 3 neue Devices:
rr_Vorname1 --> repräsentiert den Status des ersten Bewohners
rr_Vorname2 --> repräsentiert den Status des zweiten Bewohners
rgr_Residents --> repräsentiert den Status aller Bewohner zusammen
Aus dem GEOFANCY Modul kannst du sehen, welche UUID ein Gerät sendet, wenn es die entry/exit Events verarbeitet.
Die UUID des Handys von Person Vorname1 hinterlegst du im Attribut rr_geofenceUUIDs vom FHEM Gerät rr_Vorname1; analog dazu machst du mit dem Handy von Vorname2 das gleiche.
Du kannst nun auf das Gerät rgr_Residents für alle Bewohner gesammelt Aktionen definieren.
Dazu nimmst du am besten ein DOIF Device wie dieses:
define di_rgr_Residents DOIF ([rgr_Residents:?presence] eq "present" and [TwilightDevice:?light] < 6) set HomeStatus scene home DOELSEIF ([rgr_Residents:?presence] eq "absent") set HomeStatus scene away
Ich vermute bei Twilight hast du dich vertan und möchtest schalten, wenn es draußen dunkel ist.
Gruß
Julian
Wow, hätte ich nie selber gekonnt ;)
Vielen lieben Dank, ich werde es heute Abend ausprobieren.
Genau ich möchte das Licht einschalten sobald, es dunkel wird.
Meinst du das bei Twilight der Wert nicht richtig war?
Gruss
Milos
Zitat von: bmilos am 11 April 2016, 14:17:02
Meinst du das bei Twilight der Wert nicht richtig war?
Genau.
http://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Stati_ohne_Trigger
Das vielleicht auch noch mal lesen
Hi,
Es kommte der Fehler:
di_rgr_Residents DOIF: expected DOELSEIF or DOELSE: set HomeStatus scene home DOELSEIF ([rgr_Residents:?presence] eq "absent") set HomeStatus scene away
Hier wäre der Code:
#Aktionen bei An-/Abwesenheit
define rgr_Residents DOIF ([rgr_Residents:?presence] eq "present" and [TwilightDevice:?light] < 6) set HomeStatus scene home DOELSEIF ([rgr_Residents:?presence] eq "absent") set HomeStatus scene away
#Anwesenheit
define rgr_Residents RESIDENTS
attr rgr_Residents alias Residents
attr rgr_Residents devStateIcon .*home:status_available:absent .*absent:status_away_1:home .*gone:status_standby:home .*none:control_building_empty .*gotosleep:status_night:asleep .*asleep:status_night:awoken .*awoken:status_available:home .*:user_unknown:home
attr rgr_Residents group Home State
attr rgr_Residents icon control_building_filled
attr rgr_Residents room Residents
attr rgr_Residents webCmd state
#User1
define rr_User1 ROOMMATE rgr_Residents
attr rr_User1 alias Status
attr rr_User1 devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home
attr rr_User1 group User1
attr rr_User1 icon people_sensor
attr rr_User1 room Residents
attr rr_User1 rr_realname group
attr rr_User1 sortby 1
attr rr_User1 webCmd state
attr rr_User1 rr_geofenceUUIDs xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#User2
define rr_User2 ROOMMATE rgr_Residents
attr rr_User2 alias Status
attr rr_User2 devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home
attr rr_User2 group User2
attr rr_User2 icon people_sensor
attr rr_User2 room Residents
attr rr_User2 rr_realname group
attr rr_User2 sortby 1
attr rr_User2 webCmd state
attr rr_User2 rr_geofenceUUIDs xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Gruss
Probier es mal damit:
define di_rgr_Residents DOIF ([rgr_Residents:?presence] eq "present" and [TwilightDevice:?light] < 6) (set HomeStatus scene home) DOELSEIF ([rgr_Residents:?presence] eq "absent") (set HomeStatus scene away)