FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: chq am 27 Mai 2018, 21:07:27

Titel: PRESENCE- Anwesenheit zweier Personen prüfen (gelöst)
Beitrag von: chq am 27 Mai 2018, 21:07:27
Hi,

über das PRESENCE-Modul kann ich mir bereits die Anwesenheit von mir und meiner Frau via FHEM anzeigen lassen.

Kann mir jmd. evtl. ein paar Schlagworte zuschmeissen, damit ich so etwas zusammengebastelt bekomme:

if(ich oder meine Frau daheim) Lampe an;
else Lampe aus;

Suchen kann ich dann allein.  :)

Gruß Chris
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: Wuppi68 am 27 Mai 2018, 21:24:54
structure ?
homemode?
readingsgroup?
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: loescher am 27 Mai 2018, 22:05:47
Hi!

Falls du für structure ein Beispiel brauchst:

define st_JemandAnwesend structure JemandAnwesend IchDaheim FrauDaheim
attr st_JemandAnwesend clientstate_behavior relative
attr st_JemandAnwesend clientstate_priority present|1 absent|0
attr st_JemandAnwesend event-on-change-reading state


LG Stephan.
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: chq am 03 Juni 2018, 21:37:06
Hallo Stephan,

vielen Dank für das Struct. Kannst Du mir evtl. sagen, wie ich mein Reading "presence" (present oder absent) aus meinem PRESENCE-"device" in das Struct einbinden kann?

Daraus müsste sich ja dann "IchDaheim" ergeben.

Gruß Chris
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: loescher am 03 Juni 2018, 22:22:44
Wie heissen denn deine beiden PRESENCE Devices für dich und deine Frau?
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: chq am 04 Juni 2018, 07:14:51
Jetzt hab ich's. Deine Frage war zielführend. ;D

Läuft.

Vielen Dank!

Mein Gefühl sagt mir, dass ich, solange ich noch nicht mal die Basics von Fhem beherrsche mich auch (noch) nicht mit Homemode beschäftigen sollte. Liege ich da richtig? Erstmal "händisch" Dinge zusammenbauen..

Gruß Chris
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: CoolTux am 04 Juni 2018, 08:08:06
Ich kann Dir nur wärmstens die Residents Modulfamilie empfehlen. Damit kann man alles abdecken was das virtuelle wiederspiegeln von Anwesenheit an geht.
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: chq am 04 Juni 2018, 20:04:08
Ok, doch zuerst muss ich das hier gelöst bekommen:

Ich möchte erreichen, dass der ESP8266 einer S20 namens ug01, abhängig davon, ob das Device jmdDaheim present ausgibt, ein- oder ausschaltet. Hierfür habe mir folgendes Notify geschrieben:

define n_jmdDaheim notify jmdDaheim {if ("$EVENT" eq "present" ) {fhem("set ug01 gpio 12 on")} else {fhem("set ug01 gpio 12 off")}}

Leider scheint es nicht zu funktionieren, weiss aber nicht warum.

Vielleicht kann mich jmd. erleuchten. Insbesondere wie "man" in Fhem am sinnvollsten debuggt interessiert mich hierbei.

Gruß Chris
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: CoolTux am 04 Juni 2018, 20:16:00
Schau im Eventmonitor nach wie der Event aus schaut. Dein Notify springt aber an, oder?
Mach bitte ein list DEVICENAME und Gib die Ausgabe hier an.
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: amenomade am 04 Juni 2018, 20:19:36
Zitatwie "man" in Fhem am sinnvollsten debuggt
Das einfachste ist, ein paar Log Befhele hinzufügen.

define n_jmdDaheim notify jmdDaheim { Log3 $NAME, 1, "Trigg name=$NAME event=$EVENT part1=$EVTPART0 part2=$EVTPART1" }

Was ist ein S20?
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: chq am 04 Juni 2018, 20:21:00
Ich schalte für jmdDaheim zwischen folgenden zwei Zuständen hin und her:

2018-06-04 20:17:04 structure jmdDaheim present
2018-06-04 20:17:26 structure jmdDaheim undefined

Notify scheint nicht anzuspringen, da nicht im Eventmonitor zu finden.

list n_jmdDaheim:

Internals:
   CFGFN     
   DEF        jmdDaheim {if ("$EVENT" eq "present" ) {fhem("set ug01 gpio 12 on")} else {fhem("set ug01 gpio 12 off")}}
   NAME       n_jmdDaheim
   NOTIFYDEV  jmdDaheim
   NR         8004
   NTFY_ORDER 50-n_jmdDaheim
   REGEXP     jmdDaheim
   STATE      2018-06-04 20:17:26
   TYPE       notify
   READINGS:
     2018-06-04 19:54:13   state           active
Attributes:


Gruß Chris
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: CoolTux am 04 Juni 2018, 20:23:23
Notify ist abgesprungen.
Du solltest für das Devices jmdDaheim eigentlich Events im Eventmonitor sehen.
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: chq am 04 Juni 2018, 20:24:09
Ja genau. So interpretiere ich das als Laie ebenso.

Gruß Chris
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: Gasmast3r am 04 Juni 2018, 20:29:37
Hy habe das mit 2 G-Tags am laufen


defmod Sonja_Cam PRESENCE lan-bluetooth 7C:2F:80:96:3D:CE 192.168.178.113:5333 10 60
attr Sonja_Cam userattr Bewohner Bewohner_map Sonja Sonja_map structexclude
attr Sonja_Cam Bewohner structure_Bewohner
attr Sonja_Cam event-on-change-reading state

setstate Sonja_Cam present
setstate Sonja_Cam 2018-06-04 20:25:00 .absenceThresholdCounter 0
setstate Sonja_Cam 2018-06-04 20:25:00 .presenceThresholdCounter 0
setstate Sonja_Cam 2018-06-04 14:50:00 command_accepted yes
setstate Sonja_Cam 2018-06-04 20:25:00 daemon lepresenced V0.83
setstate Sonja_Cam 2018-06-04 20:25:00 device_name Gigaset G-tag
setstate Sonja_Cam 2018-06-04 20:25:00 model lan-lepresenced
setstate Sonja_Cam 2018-06-04 20:25:00 presence present
setstate Sonja_Cam 2018-06-04 20:25:00 rssi -86
setstate Sonja_Cam 2018-06-04 20:25:00 state present



defmod structure_Sonja structure Sonja Sonja_Cam Sonja_Cam1
attr structure_Sonja userattr Bewohner Bewohner_map structexclude
attr structure_Sonja Bewohner structure_Bewohner
attr structure_Sonja clientstate_behavior relative
attr structure_Sonja clientstate_priority present|1 absent|0
attr structure_Sonja event-on-change-reading state
attr structure_Sonja room Anwesenheit

setstate structure_Sonja present
setstate structure_Sonja 2018-06-04 14:50:00 LastDevice Sonja_Cam
setstate structure_Sonja 2018-06-04 14:50:00 LastDevice_Abs Sonja_Cam
setstate structure_Sonja 2018-06-04 14:50:00 state present



defmod structure_Bewohner structure Bewohner structure_Sven structure_Sonja
attr structure_Bewohner clientstate_behavior relative
attr structure_Bewohner clientstate_priority present|1 absent|0
attr structure_Bewohner event-on-change-reading state
attr structure_Bewohner room Anwesenheit

setstate structure_Bewohner present
setstate structure_Bewohner 2018-06-04 14:48:50 LastDevice structure_Sonja
setstate structure_Bewohner 2018-06-04 14:48:50 LastDevice_Abs Sonja_Cam1
setstate structure_Bewohner 2018-06-04 14:48:50 state present



defmod Licht_AN DOIF ([?Lichtsteuerung:light] < 5 and [structure_Bewohner] eq "present") (set ESPEasy_Sonoff3_PUMP on)
attr Licht_AN room DOIF

setstate Licht_AN cmd_2
setstate Licht_AN 2018-06-04 14:31:06 Device structure_Bewohner
setstate Licht_AN 2018-05-14 05:43:53 cmd 2
setstate Licht_AN 2018-05-14 05:43:53 cmd_event structure_Bewohner
setstate Licht_AN 2018-05-14 05:43:53 cmd_nr 2
setstate Licht_AN 2018-06-04 14:31:06 e_structure_Bewohner_STATE present
setstate Licht_AN 2018-05-12 11:26:11 mode enabled
setstate Licht_AN 2018-05-14 05:43:53 state cmd_2




defmod Alles_aus notify structure_Bewohner:absent.* set HUEGroup0,LIGHTIFYGroup0,BOSE_D05FB8AAE204,BOSE_50722498B361,BOSE_50722498905A,ESPEasy_Sonoff2_PUMP,ESPEasy_Sonoff3_PUMP,ESPEasy_Sonoff4_PUMP,ESPEasy_Sonoff5_PUMP,ESPEasy_Sonoff6_PUMP,ESPEasy_Sonoff7_PUMP,ESPEasy_Sonoff8_PUMP,ESPEasy_Sonoff9_PUMP,ESPEasy_Sonoff10_PUMP,GHoma_946922 off
attr Alles_aus room DOIF
attr Alles_aus verbose 1

setstate Alles_aus active
setstate Alles_aus 2018-06-04 14:48:43 state active

eventuell ist da ja was hilfreiches dabei.
Titel: Antw:PRESENCE- Anwesenheit zweier Personen prüfen
Beitrag von: chq am 04 Juni 2018, 21:01:56
Hab's selber rausgefunden.

Hier die berichtigte Zeile:

define n_jmdDaheim notify jmdDaheim {if ("$EVENT" eq "present" ) {fhem("set ug01 on")} else {fhem("set ug01 off")}}

Gruß Chris