PRESENCE- Anwesenheit zweier Personen prüfen (gelöst)

Begonnen von chq, 27 Mai 2018, 21:07:27

Vorheriges Thema - Nächstes Thema

chq

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
So einfach wie möglich, so kompliziert wie nötig

Wuppi68

FHEM unter Proxmox als VM

loescher

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.

chq

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
So einfach wie möglich, so kompliziert wie nötig

loescher

Wie heissen denn deine beiden PRESENCE Devices für dich und deine Frau?

chq

#5
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
So einfach wie möglich, so kompliziert wie nötig

CoolTux

Ich kann Dir nur wärmstens die Residents Modulfamilie empfehlen. Damit kann man alles abdecken was das virtuelle wiederspiegeln von Anwesenheit an geht.
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

chq

#7
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
So einfach wie möglich, so kompliziert wie nötig

CoolTux

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

amenomade

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?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

chq

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
So einfach wie möglich, so kompliziert wie nötig

CoolTux

Notify ist abgesprungen.
Du solltest für das Devices jmdDaheim eigentlich Events im Eventmonitor sehen.
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

chq

Ja genau. So interpretiere ich das als Laie ebenso.

Gruß Chris
So einfach wie möglich, so kompliziert wie nötig

Gasmast3r

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.
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

chq

#14
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
So einfach wie möglich, so kompliziert wie nötig