Modulfamilie für Bewohner / 10_RESIDENTS 20_ROOMMATE 20_GUEST

Begonnen von Loredo, 19 Januar 2014, 23:12:34

Vorheriges Thema - Nächstes Thema

ujaudio

Ich bitte um Hilfe zur Selbsthilfe: seit einiger Zeit läuft mein System relativ instabil, weil die HomeMatic-Kommunikation  Problem macht. Apptime liefert mir aber Zeitbedarfe bei ROOMMATE. Deswegen zuerst mal die Frage hier: ist dieses Verhalten normal?
                      name             function    max  count    total  average maxDly
tmr-ROOMMATE_DurationTimer      HASH(0x2d15c60)    868      1      868   868.00      4 HASH(rr_Juergen_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2d07680)    658      1      658   658.00      6 HASH(rr_Juergen_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2e59828)    655      1      655   655.00      9 HASH(rr_Ursula_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2c82a28)    653      1      653   653.00     58 HASH(rr_Ursula_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2d17300)    652      1      652   652.00      5 HASH(rr_Ursula_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2c8aae0)    651      1      651   651.00      5 HASH(rr_Ursula_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2d3d4f8)    651      1      651   651.00      9 HASH(rr_Juergen_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2d59fa0)    649      1      649   649.00      5 HASH(rr_Juergen_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2d3d6c0)    613      1      613   613.00      5 HASH(rr_Ursula_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2cb6638)    607      1      607   607.00      6 HASH(rr_Juergen_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2276878)    606      1      606   606.00    406 HASH(rr_Ursula_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2cd4648)    603      1      603   603.00      5 HASH(rr_Juergen_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2a4f298)    595      1      595   595.00      9 HASH(rr_Juergen_DurationTimer)
tmr-ROOMMATE_DurationTimer      HASH(0x2c8bef0)    595      1      595   595.00      8 HASH(rr_Ursula_DurationTimer)

Das sind die Appliaktionen mit dem größten Zeitbedarf, alles andere liegt um Faktoren darunter. Was kann ich da durch mein Verwenden des Moduls falsch gemacht haben? Oder soll ich zuerst einfach mal auf gut Glück ein Update machen?
Einen lieben Gruß
Jürgen

pappn

Ich möchte gerne den Status der Presence devices als auch des daraus resultierenden Residents status aufzeichnen und in einem LogFile zusammenfassen. Für die Presence devices funktioniert das auch prima. Beim Residends device habe ich Probleme.
define PRESENCE.File FileLog ./log/presence-%Y-%m.log andrea_handy:presence.*|armin_handy:presence.*|christof_handy:presence.*|Familie:state.* mit attr PRESENCE.File addStateEvent 1
Der State des Residents Devices wird korrekt gemeldet/erfasst, wenn er sich ändert, aber, obwohl ich attr Familie event-min-interval state:900 für das Device gesetzt habe, bekomme ich nicht die erwarteten Log Einträge im 15 min Takt.

Ist in diesem Modul etwas anders als in anderen, das ich übersehen habe?
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

moskito

#602
Ich glaube Du interpretierst das Attribut "event-min-interval" falsch.

Zitatevent-min-interval
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings:minInterval" Paare. readings kann ein regexp sein. Ein Event wird nur dann generiert, falls seit dem letzten Auftreten des gleichen Events mindestens minInterval Sekunden vergangen sind. Falls event-on-change-reading auch spezifiziert ist, dann werden sie mit ODER kombiniert, d.h. wenn einer der beiden Bedingungen wahr ist.

Ich hatte mal etwas ähnliches für Rollläden in Betrieb, evtl. hilft Dir das weiter:

### jede 1/2 Stunde einen Eintrag für Rollläden
define roll_log notify roll_log {addLog("Roll_Kinderzimmer","position")}

define roll_log_hour at +*00:30:00 trigger roll_log


Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

pappn

Danke für den Hinweis. Also kommt es offensichtlich auf das Zusammenspile zwischen event-min-interval und event-on-change-reading an. Wenn das Modul gar keine events generiert, bewegt sich also auch nichts. Insofern verhält es sich hier schon anders als andere Module, wo das Vorgehen mit event-min-interval und event-on-change-reading sehr gut funktioniert. Ich habe addlog daher sonst nicht mehr im Einsatz.

Mit dieser Variante bekomme ich aber auch was ich brauche.
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

en-trust

Kann ich irgendwie neue Stati (neben home zum Beispiel homeoffice) einfügen und wie kann ich die dann einbinden ?

kjmEjfu

Zitat von: en-trust am 16 Februar 2018, 15:54:12
Kann ich irgendwie neue Stati (neben home zum Beispiel homeoffice) einfügen und wie kann ich die dann einbinden ?

rr_locations?
Migriere derzeit zu Home Assistant

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

en-trust

Ich meinte eher eine Art 2.Status. Folgendes Szenario stellt sich dar. Ich habe eine Awesenheitsprüfung über wlan. Allerdings Meldet sich das Handy öfters ab (ist wohl ein Bug in der letzten HandyFirmware). Dies hat zur Folge, dass meine Jalousie dann automatisch runter fährt. Nun würde ich gerne eine Funktion haben, wo ich manuell fhem mitteile, dass ich jetzt 'manuell' zu Hause bin und er die Prüfung hinten anstellen kann.

CoolTux

Zweites anwesenheitsdevice und mit dem ersten zusammen ein Structuredevice erstellen und das dann halt abfragen wegen Abwesenheit
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

en-trust


CoolTux

verrate erstmal wie du es bis jetzt machst.
Gib bitte ein list von Deinem presence device und Deinem Roommate Device. Ich gehe davon aus das Du das presence Attribut Deines Roomates verwendest.
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

en-trust

Hier die beiden Lists welche ich parallel abfrage.

Internals:
   CFGFN      ./FHEM/fhem_residents.cfg
   CHANGED   
   DEF        function {CheckiPhone("ip","mac")} 60 120
   INTERVAL_NORMAL 60
   INTERVAL_PRESENT 120
   MODE       function
   NAME       Galaxy.A5.Wlan
   NOTIFYDEV  global
   NR         916
   NTFY_ORDER 50-Galaxy.A5.Wlan
   STATE      present
   TYPE       PRESENCE
   Helper:
     DBLOG:
       presence:
         logdb:
           TIME       1518891868.75429
           VALUE      present
       state:
         logdb:
           TIME       1518892726.06711
           VALUE      present
   READINGS:
     2018-02-16 13:42:42   model           function
     2018-02-17 19:51:44   presence        present
     2018-02-17 19:51:44   state           present
   helper:
     CURRENT_STATE present
     call       {CheckiPhone("ip","mac")}
Attributes:
   Bewohner_structure Bewohner
   Handys     alleHandys
   event-on-change-reading state,presence
   group      Anwesenheit
   room       3.2_Anwesenheit,Fritzbox,Status,System
   userattr   Bewohner_structure Bewohner_structure_map Handys Handys_map structexclude


Internals:
   ADDRESS    ip
   CFGFN      ./FHEM/fhem_residents.cfg
   CHANGED   
   DEF        lan-ping ip 60
   INTERVAL_NORMAL 60
   INTERVAL_PRESENT 60
   MODE       lan-ping
   NAME       HA.SvenWlan
   NOTIFYDEV  global
   NR         910
   NTFY_ORDER 50-HA.SvenWlan
   STATE      absent
   TYPE       PRESENCE
   Helper:
     DBLOG:
       presence:
         logdb:
           TIME       1518892601.37061
           VALUE      absent
       state:
         logdb:
           TIME       1518892601.37061
           VALUE      absent
   READINGS:
     2018-02-16 13:42:42   model           lan-ping
     2018-02-17 19:52:44   presence        absent
     2018-02-17 19:52:44   state           absent
   helper:
     CURRENT_STATE present
     RUNNING_PID:
       abortFn    PRESENCE_ProcessAbortedScan
       arg        HA.SvenWlan|ip|0|4
       bc_pid     46927
       finishFn   PRESENCE_ProcessLocalScan
       fn         PRESENCE_DoLocalPingScan
       pid        22934
       timeout    60
       abortArg:
Attributes:
   event-on-change-reading state,presence
   group      Anwesenheit
   pingCount  4
   presence   Anwesenheit
   room       3.2_Anwesenheit,Fritzbox,Status,System
   userattr   presence presence_map structexclude


und das Roommate...

Internals:
   CFGFN      ./FHEM/fhem_residents.cfg
   DEF        residents
   DURATIONTIMER 1518893783.03789
   NAME       rr_Sven
   NOTIFYDEV  global,Galaxy.A5.Wlan
   NR         954
   NTFY_ORDER 50-rr_Sven
   READY      1
   RESIDENTGROUPS residents
   STATE      home
   TYPE       ROOMMATE
   Helper:
     DBLOG:
       durTimerAbsence:
         logdb:
           TIME       1518891868.83542
           VALUE      00:00:00
       durTimerAbsence_cr:
         logdb:
           TIME       1518891868.83542
           VALUE      0
       durTimerPresence:
         logdb:
           TIME       1518893723.07864
           VALUE      00:30:55
       durTimerPresence_cr:
         logdb:
           TIME       1518893723.07864
           VALUE      31
       lastArrival:
         logdb:
           TIME       1518891868.83542
           VALUE      2018-02-17 19:24:28
       lastDeparture:
         logdb:
           TIME       1518891535.14473
           VALUE      2018-02-17 19:18:55
       lastDurAbsence:
         logdb:
           TIME       1518891868.83542
           VALUE      00:05:33
       lastDurAbsence_cr:
         logdb:
           TIME       1518891868.83542
           VALUE      6
       lastDurPresence:
         logdb:
           TIME       1518891535.14473
           VALUE      01:05:57
       lastDurPresence_cr:
         logdb:
           TIME       1518891535.14473
           VALUE      66
       lastState:
         logdb:
           TIME       1518891868.83542
           VALUE      absent
       location:
         logdb:
           TIME       1518891868.83542
           VALUE      home
       mood:
         logdb:
           TIME       1518891868.83542
           VALUE      calm
       presence:
         logdb:
           TIME       1518891868.83542
           VALUE      present
       state:
         logdb:
           TIME       1518891868.83542
           VALUE      home
   READINGS:
     2018-02-17 19:24:28   durTimerAbsence 00:00:00
     2018-02-17 19:24:28   durTimerAbsence_cr 0
     2018-02-17 19:55:23   durTimerPresence 00:30:55
     2018-02-17 19:55:23   durTimerPresence_cr 31
     2018-02-10 20:43:34   durTimerSleep   00:00:00
     2018-02-10 20:43:34   durTimerSleep_cr 0
     2018-02-17 19:24:28   lastArrival     2018-02-17 19:24:28
     2018-02-10 20:43:34   lastAwake       2018-02-10 20:43:34
     2018-02-17 19:18:55   lastDeparture   2018-02-17 19:18:55
     2018-02-17 19:24:28   lastDurAbsence  00:05:33
     2018-02-17 19:24:28   lastDurAbsence_cr 6
     2018-02-17 19:18:55   lastDurPresence 01:05:57
     2018-02-17 19:18:55   lastDurPresence_cr 66
     2018-02-10 20:43:34   lastDurSleep    00:02:33
     2018-02-10 20:43:34   lastDurSleep_cr 3
     2018-02-17 19:18:55   lastLocation    home
     2018-02-17 19:18:55   lastMood        calm
     2018-02-10 20:41:01   lastSleep       2018-02-10 20:41:01
     2018-02-17 19:24:28   lastState       absent
     2018-02-17 19:24:28   location        home
     2018-02-17 19:24:28   mood            calm
     2018-02-17 19:24:28   presence        present
     2018-02-17 19:24:28   state           home
     2018-02-07 20:07:19   wayhome         0
   TIMER:
     rr_Sven_DurationTimer:
       HASH       rr_Sven
       MODIFIER   DurationTimer
       NAME       rr_Sven_DurationTimer
Attributes:
   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
   event-on-change-reading .*
   group      Anwesenheit,Personen
   icon       people_sensor
   room       3.2_Anwesenheit,Flur
   rr_autoGoneAfter 24
   rr_presenceDevices Galaxy.A5.Wlan
   rr_realname group
   rr_states  home,asleep,absent,gone,homeoffice
   sortby     1
   webCmd     state

CoolTux

Das passt doch gut. Du hast also 2 presence Devices, da machst du nun ein Dummy Device dazu mit state present absent für die manuelle Geschichte.
Nun fügst Du alle 3 Devices in eine structure zusammen, und beim Roommate Device gibst Du das structure Device als rr_presenceDevices 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

Loredo

Morgen gibt es ein Update des RESIDENTS Toolkit und somit auch von ROOMMATE und GUEST, um Funktionen des aktualisierten GEOFANCY Moduls zu unterstützen.
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

mumpitzstuff

Habe seit neuestem dauernd sowas im Logfile:

2018.10.22 05:44:54 3: PRESENCE (GTAG_A) - collectord lost connection to room RPI2
2018.10.22 05:44:57 3: PRESENCE (GTAG_A) - collectord lost connection to room RPI0
2018.10.22 05:44:57 3: PRESENCE (GTAG_A) - collectord reconnected to room RPI0
2018.10.22 05:45:01 3: PRESENCE (GTAG_A) - collectord reconnected to room RPI2


Der GTAG ist eigentlich fast nie da, sondern nur wenn die Großeltern zu Besuch sind. Bis vor kurzem auch kein Problem und jetzt sehe ich laufend diese Meldungen im Logfile.

Kann ich was dagegen tun?