Geofency + LightScene + Twilight

Begonnen von bmilos, 11 April 2016, 09:14:17

Vorheriges Thema - Nächstes Thema

bmilos

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


Raspberry Pi 3, nanoCUL 433, FHEMduino, HMLAN, Homematic, Intertechno, MiLight, MySensor

Loredo

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
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

bmilos

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
Raspberry Pi 3, nanoCUL 433, FHEMduino, HMLAN, Homematic, Intertechno, MiLight, MySensor

Loredo

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

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

bmilos

#5
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
Raspberry Pi 3, nanoCUL 433, FHEMduino, HMLAN, Homematic, Intertechno, MiLight, MySensor

Loredo

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)
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