Presence bei einem Roommate spinnt

Begonnen von DustP, 26 Oktober 2019, 10:42:01

Vorheriges Thema - Nächstes Thema

DustP

Hallo,

ich beschäftige mich jetzt seit ein paar Tagen mit FHEM und stoße gerade auf ein komisches Problem..

Ich habe hier eine Unifi USG und WLAN-AP, diese werden über den Unifi-Controller auf einem Raspi gesteuert.
FHEM ist auf einem anderen Raspi

Jetzt habe ich zwei Roommates angelegt und die passenden Presence-Devices. das eine Presence-Device funktioniert ohne Probleme. Das zweite (siehe List) leider nicht.


Internals:
   CFGFN     
   DEF        Haus
   DURATIONTIMER 1572078236.23061
   FUUID      5db34624-f33f-89a5-d6bd-7131ad27b592bf83
   FVERSION   20_ROOMMATE.pm:0.195330/2019-06-02
   NAME       Sie
   NOTIFYDEV  global,pres_Sie
   NR         656
   NTFY_ORDER 50-Sie
   READY      1
   RESIDENTGROUPS Haus
   STATE      home
   SUBTYPE    adult
   TYPE       ROOMMATE
   READINGS:
     2019-10-26 10:06:26   durTimerAbsence 00:00:00
     2019-10-26 10:06:26   durTimerAbsence_cr 0
     2019-10-26 09:49:23   durTimerPresence 00:00:00
     2019-10-26 09:49:23   durTimerPresence_cr 0
     2019-10-25 21:00:03   durTimerSleep   00:00:00
     2019-10-25 21:00:03   durTimerSleep_cr 0
     2019-10-26 10:22:56   lastArrival     2019-10-26 10:22:56
     2019-10-26 10:22:55   lastDeparture   2019-10-26 10:22:55
     2019-10-26 10:22:56   lastDurAbsence  00:00:01
     2019-10-26 10:22:56   lastDurAbsence_cr 0
     2019-10-26 10:22:55   lastDurPresence 00:00:32
     2019-10-26 10:22:55   lastDurPresence_cr 1
     2019-10-26 10:22:55   lastLocation    home
     2019-10-26 10:22:55   lastMood        calm
     2019-10-26 10:22:56   lastState       absent
     2019-10-26 10:22:56   location        home
     2019-10-26 10:22:56   mood            calm
     2019-10-26 10:22:56   presence        present
     2019-10-26 10:22:56   state           home
     2019-10-25 21:06:25   wayhome         0
   TIMER:
     Sie_DurationTimer:
       HASH       Sie
       MODIFIER   DurationTimer
       NAME       Sie_DurationTimer
Attributes:
   alias      Sie
   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
   group      Sie
   icon       people_sensor
   room       Residents
   rr_presenceDevices pres_Sie
   sortby     1
   webCmd     state


Problem:
Wenn das Handy, welches überwacht wird OFFLINE ist, wird der Roomate auch schön als absent angezeigt und es wird einmal im Logfile geschrieben ROOMMATE set Sie absent.
Wenn das Handy im Controller ONLINE ist, wird der Status des Roommates auch auf present geändert, ABER, alle 30 Sekunden bekomm ich das hier:


2019.10.26 10:37:14 2: ROOMMATE set Sie absent
2019.10.26 10:37:14 2: ROOMMATE set Sie home


Was dann natürlich auch das DOIF triggert, welches ich daran "gehängt" hab.

Ich habe auch schon das Roommate und Presence Device neu gemacht...aber auch das brachte keine Besserung  ??? :o .

Danke für eure Tips...wenn Ihr noch was braucht, einfach schreien..

Grüße

DustP

Loredo

Du musst das presence device entprellen, siehe event-on-change attribut.
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

MadMax-FHEM

Hmmm, wenn aber das Presence Device tatsächlich zwischen absent und present hin und her springt, hilft event-on-change wohl nicht wirklich!?

Logge doch einfach mal das Presence Device mit (was du gepostet hast war das RoomMate Device, das reagiert ja nur auf das Presence Device), also ein FileLog für pres_Sie anlegen, wenn es nicht schon existiert.

Wenn das nicht "rund" läuft wird RoomMate das auch nicht können...

Wenn du dann siehst, dass pres_Sie immer wieder mal fälschlicherweise wechselt, dann dort ansetzen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

CoolTux

absenceThreshold oder/und presenceThreshold
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

MadMax-FHEM

Zitat von: CoolTux am 26 Oktober 2019, 11:22:57
absenceThreshold oder/und presenceThreshold

Jep wollte ich auch schon nennen... ;)
...aber halt erst mal sehen/prüfen lassen wie sich Presence verhält...

Aber das würde wohl helfen...
...aber auch die jeweilige Erkennung verlangsamen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DustP

..SO, jetzt der dritte Versuch .. zum dritten mal war mein Beitrag nach dem Klick auf "Schreiben"  weg...deshalb jetzt die "Kurz-Fassung"

Erst einmal versteh ich nicht, wieso das eine Presence Device funktioniert, und das andere nicht .oO.

Also wenn ich das event-on-change hinzufüge (mit .* als Wert, wie im commandref beschrieben) und das Gerät offline ist ändert sich sowohl das Presence-Device als auch der Rommate auf absent mit dem passenden Eintrag im Log des Presence-Devices.

Jetzt wieder das Device auf online ... ... Presence und Roommate gehen auf present bzw. home allerdings wird wieder alle 30 sek. (jedes mal, wenn auch der Controller abgefragt wird) schreibt er wieder die ganze Zeit ins Log.

hier das Presence-Device



Internals:
   CFGFN     
   DEF        event unifiController:Sie-Handy:.disconnected unifiController:Sie-Handy:.connected
   EVENT_ABSENT unifiController:Sie-Handy:.disconnected
   EVENT_PRESENT unifiController:Sie-Handy:.connected
   FUUID      5db34279-f33f-89a5-980e-105e7f038f0782c3
   MODE       event
   NAME       pres_Sie
   NOTIFYDEV  global,unifiController
   NR         644
   NTFY_ORDER 50-pres_Sie
   STATE      present
   TYPE       PRESENCE
   READINGS:
     2019-10-26 09:49:12   model           event
     2019-10-26 12:06:53   presence        present
     2019-10-26 12:06:53   state           present
   helper:
     CURRENT_STATE present
Attributes:
   event-on-change-reading .*
   room       Residents


Also eine größere Verzögerung, als eh schon durch den Unifi-Controller gegeben ist (also die Erkennung, dass das WLAN-Device offline ist) sollte es nicht geben. Oder von welchem Zeitraum reden wir hier?

Grüße DustP

MadMax-FHEM

Es sind unterschiedliche Handys!?

Andere Marke/Typ/OS(-Version/-Stand)!? -> anderes Verhalten möglich.

Durch event-on-change-reading wird wenig beeinflusst, wenn sich der Status tatsächlich ändert...

Durch setzen der "Threshold-Attribute" wird die Erkennung jeweils mind. verdoppelt, da ja zunächst maybe_ kommt und nach dem selben Zeitraum dann entweder zurück (falls "Fehler") oder eben tatsächlich der Zustand absent/present...

D.h. musst du entweder die "Kröte schlucken" oder eben beim Presence per Unifi ansetzen.
Wobei ich mir das auch mal angesehen hatte aber es funktioniert für mein Handy auch nicht zuverlässing bzw. eher für mich entscheidend: viel zu langsam.
Teilweise über 3min bis die Abwesenheit erkannt wird.

Ich nutze daher das hping3: https://forum.fhem.de/index.php/topic,76342.msg682218.html#msg682218
(schnell und bislang zuverlässig / wegen Akku mache ich es "zweistufig", d.h. "normales" lan_ping und nur bei "Auseinanderlaufen" ein hping3 "zur Sicherheit". "Führend" ist was hping3 "sagt" ;)  )

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DustP

Ja, zwei unterschiedliche Handys,

Einmal ein Samsung Galaxy S8 (meins, was ja funktioniert)
Einmal ein Xiaomi Redmi Note Pro 8 (meine Frau)

AAAABER!!1elf  ;)
Der Status den das Unifi-Device bekommt ist ja richtig! Sprich, Im Event-Monitor kommt IMMER:


...
2019-10-26 12:49:14 Unifi unifiController Sie-Handy: connected
...


und dann kommt halt im Log:


...
2019-10-26_12:50:19 pres_Sie absent
2019-10-26_12:50:19 pres_Sie presence: absent
2019-10-26_12:50:20 pres_Sie present
2019-10-26_12:50:20 pres_Sie presence: present
...


Wenn ja der Controller einmal connected und einem disconnected schicken würde, würde ich es ja verstehen ... aber so .oO.

Aber deine Lösung werd ich mir schonmal bookmarken...und hier noch ein wenig weiter machen ;).

Grüße

DustP

MadMax-FHEM

#8
Hmmm, hast du ein FileLog bzgl. Unifi?

EDIT: gut EventMonitor im Auge behalten geht auch... ;)

Vielleicht schaltet der doch mal kurz?

Ansonsten wie sind denn die Presence definiert?
Da Unterschiede?

EDIT: gleiches elf ja aber trotzdem unterschiedliche HW!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DustP

Werde ich nachher alles kontrollieren, dann alles schicken...jetzt erstmal in den großen blauen Raum  ;) :D ein wenig Real-Life