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

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

Vorheriges Thema - Nächstes Thema

FunkOdyssey

Zitat von: Loredo am 10 Januar 2017, 18:28:06
Ich habe gerade eine aktualisierte Version von ROOMMATE und GUEST eingecheckt.

Über das neue Attribut r*_presenceDevices kann man jetzt ähnlich wie mit r*_geofenceUUIDs vereinfacht auf andere FHEM Geräte verweisen, die einen Wechsel absent->home oder home->absent auslösen. Es können auch mehrere Devices mit Komma getrennt angegeben werden. Erst wenn alle Geräte den selben Status haben wird der Status auch in ROOMMATE/GUEST übernommen. Das ganze funktioniert mit jedem FHEM Device, welches entweder ein Reading "presence" oder "state" mit dem folgenden Status hat:

absent ODER disappeared ODER unavailable
present ODER appeared ODER available

Ein Beispiel dafür ist der Einsatz zusammen mit dem PRESENCE Modul.


Wie immer ab morgen per Update verfügbar.

Hi Loredo, danke für diese Vereinfachung. Gefällt mir sehr gut.
Ich hatte sonst immer ein DOIF dazwischen. Hatte dann aber auch die Möglichkeit ein paar weitere Bedingungen einzubauen.
So habe ich (ganz individuell) eine Statusänderung durch Presence nur von 10:00 bis 22:00 Uhr zugelassen, da außerhalb des Zeitraum ja theoretisch die Handys auch ausgeschaltet sein können. Dann wären die Bewohne absent, obwohl die ruhig im Bett liegen. Wenn ich deine "Abkürzung" nutze, dann kann ich dies nicht mehr steuern, oder?

Weiterhin habe ich auch manuell "gotosleep" gesetzt, wenn gewissen Kriterien zutrafen (Licht aus, Rolladen runter, etc.).

Loredo

Zitat von: FunkOdyssey am 11 Januar 2017, 09:52:07
Ich hatte sonst immer ein DOIF dazwischen. Hatte dann aber auch die Möglichkeit ein paar weitere Bedingungen einzubauen.
So habe ich (ganz individuell) eine Statusänderung durch Presence nur von 10:00 bis 22:00 Uhr zugelassen, da außerhalb des Zeitraum ja theoretisch die Handys auch ausgeschaltet sein können. Dann wären die Bewohne absent, obwohl die ruhig im Bett liegen. Wenn ich deine "Abkürzung" nutze, dann kann ich dies nicht mehr steuern, oder?


Nein. Für solch außergewöhnliche Anwendungsfälle ist die Vereinfachung nicht gedacht. Es kann aber weiterhin DOIF, Notify etc. statt dem Attribut genutzt werden. Daran ändert sich nichts.
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

Loredo

Zitat von: l2r am 10 Januar 2017, 22:01:27
@Loredo: Ich hab nur eine rein informative Frage. Hattest du dir bei dem Update auch das Timingproblem bei der Vorhersage von NextWakeUp angeschaut?


Nein, dafür war und ist keine Zeit.
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

Zitat von: Loredo am 10 Januar 2017, 18:28:06
Ich habe gerade eine aktualisierte Version von ROOMMATE und GUEST eingecheckt.

Über das neue Attribut r*_presenceDevices kann man jetzt ähnlich wie mit r*_geofenceUUIDs vereinfacht auf andere FHEM Geräte verweisen, die einen Wechsel absent->home oder home->absent auslösen. Es können auch mehrere Devices mit Komma getrennt angegeben werden. Erst wenn alle Geräte den selben Status haben wird der Status auch in ROOMMATE/GUEST übernommen. Das ganze funktioniert mit jedem FHEM Device, welches entweder ein Reading "presence" oder "state" mit dem folgenden Status hat:

absent ODER disappeared ODER unavailable
present ODER appeared ODER available

Ein Beispiel dafür ist der Einsatz zusammen mit dem PRESENCE Modul.


Wie immer ab morgen per Update verfügbar.

Hallo Julian,

Wird hier auf beides getriggert? Sowohl dem Reading presence als auch dem Reading state. Ich habe es eben mal kurz mit dem Reading presence ausprobiert, da hat es leider nicht geklappt. Habe jetzt mal auf state umgestellt. Mal schauen.
Ach so, umstellen heißt das ich event-on-change-reading state jetzt stehen habe, hatte da vorher presence stehe.



Grüße
Leon
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

Zitat von: CoolTux am 11 Januar 2017, 13:40:04
Wird hier auf beides getriggert? Sowohl dem Reading presence als auch dem Reading state. Ich habe es eben mal kurz mit dem Reading presence ausprobiert, da hat es leider nicht geklappt. Habe jetzt mal auf state umgestellt. Mal schauen.


Es wird zunächst auf das Vorhandensein von presence geprüft und ansonsten auf state.


Zitat von: CoolTux am 11 Januar 2017, 13:40:04
Ach so, umstellen heißt das ich event-on-change-reading state jetzt stehen habe, hatte da vorher presence stehe.


Beim angegebenen FHEM-Drittgerät nehme ich an, bei ROOMMATE macht es wenig Sinn ;-)
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

Hallo Julian

event-on-change-reading beim presence Device meine ich. Auch bei state hatte ich kein Erfolg. Das Reading im presence Device wird korrekt geändert aber das rommate Device stellt sich nicht um.


Internals:
   CFGFN
   CHANGED
   DEF        AnniKraussStr,Eltern
   NAME       rr_Marko
   NR         16
   NTFY_ORDER 50-rr_Marko
   RESIDENTGROUPS AnniKraussStr,Eltern,
   STATE      home
   TYPE       ROOMMATE
   Helper:
     Dblog:
       Presence:
         Logdb:
           TIME       1484148504.74305
           VALUE      present
   Readings:
     2017-01-11 16:28:24   durTimerAbsence 00:00:00
     2017-01-11 16:28:24   durTimerAbsence_cr 0
     2017-01-11 19:38:25   durTimerPresence 03:10:01
     2017-01-11 19:38:25   durTimerPresence_cr 190
     2017-01-11 07:02:02   durTimerSleep   00:00:00
     2017-01-11 07:02:02   durTimerSleep_cr 0
     2017-01-11 16:28:24   lastArrival     2017-01-11 16:28:24
     2017-01-11 07:02:02   lastAwake       2017-01-11 07:02:02
     2017-01-11 13:26:32   lastDeparture   2017-01-11 13:26:32
     2017-01-11 16:28:24   lastDurAbsence  03:01:52
     2017-01-11 16:28:24   lastDurAbsence_cr 182
     2017-01-11 13:26:32   lastDurPresence 03:45:15
     2017-01-11 13:26:32   lastDurPresence_cr 225
     2017-01-11 07:02:02   lastDurSleep    08:22:13
     2017-01-11 07:02:02   lastDurSleep_cr 502
     2017-01-11 13:26:32   lastLocation    home
     2017-01-11 13:26:32   lastMood        calm
     2017-01-10 22:39:49   lastSleep       2017-01-10 22:39:49
     2017-01-11 16:28:24   lastState       absent
     2017-01-11 06:00:01   lastWakeup      07:00
     2017-01-11 06:00:01   lastWakeupDev   rr_Marko_wakeuptimer1
     2017-01-11 16:28:24   location        home
     2017-01-11 16:28:24   mood            calm
     2017-01-11 07:00:04   nextWakeup      07:00
     2017-01-11 07:00:04   nextWakeupDev   rr_Marko_wakeuptimer1
     2017-01-11 16:28:24   presence        present
     2016-04-21 07:34:58   pushDev         nexus5-marko
     2017-01-11 16:28:24   state           home
     2017-01-11 07:00:04   wakeup          0
     2016-05-03 17:09:02   wayhome         0
   Timer:
     Rr_marko_durationtimer:
       HASH       rr_Marko
       MODIFIER   DurationTimer
       NAME       rr_Marko_DurationTimer
Attributes:
   alias      Marko
   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 state,userState,presence,wayhome,location
   group      Marko
   icon       people_sensor
   room       AnniKraussStr
   rr_locations atwork,home,wayhome,underway
   rr_presenceDevices presenceMarko
   rr_realname group
   rr_states  home,gotosleep,asleep,awoken,absent,gone
   rr_wakeupDevice rr_Marko_wakeuptimer1
   sortby     0
   webCmd     state



Internals:
   ADDRESS    7C:2F:80:98:B8:3D
   CFGFN
   CHANGED
   DEF        lan-bluetooth TAG-MAC IP-ADRESSE:5333 10 60
   DeviceName 10.6.6.20:5333
   FD         24
   MODE       lan-bluetooth
   NAME       presenceMarko
   NOTIFYDEV  global
   NR         177
   NTFY_ORDER 50-presenceMarko
   PARTIAL
   STATE      present
   TIMEOUT_NORMAL 10
   TIMEOUT_PRESENT 60
   TYPE       PRESENCE
   Helper:
     Dblog:
       Presence:
         Logdb:
           TIME       1484136534.11303
           VALUE      absent
   Readings:
     2017-01-11 17:14:44   command_accepted yes
     2017-01-10 16:12:25   device_battery  ok
     2017-01-10 16:12:25   device_batteryLevel 26
     2017-01-11 19:38:44   device_name     Gigaset G-tag
     2016-06-11 22:57:12   lastStatusRequestState statusRequest_done
     2017-01-11 13:08:54   presence        absent
     2017-01-11 19:38:44   state           present
   Helper:
     CURRENT_TIMEOUT present
Attributes:
   absenceThreshold 36
   alias      G-tag
   event-on-change-reading presence,device_battery,device_batteryLevel
   group      Marko
   room       AnniKraussStr
   timestamp-on-change-reading presence
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

ToKa

Hallo zusammen,

ich kann das Verhalten bestätigen. Leider wird beim roommate device der presence Wert nicht aus dem presence Device übernommen. Mit verbose 5 ist roommate leider auch nicht sehr gesprächig und es wird auch im Eventmonitor nichts ausgegeben.

Gruß
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

marvin78

Hier kein Problem. Das klappt einwandfrei. Habt ihr eventuell noch die ein oder anderen notify/DOIF Leiche, die den Status beeinflusst?

Loredo

Das trat in Verbindung mit der gleichzeitigen Nutzung von Wakeuptimer auf. Habe gerade einen fix eingecheckt.
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

ToKa

Hallo zusammen,

habe gerade mal getestet, ob man das DateTimePickerWidget für den wakeuptimer verwenden kann. Es funktioniert prima mit der aktuellen svn Version des Widgets. Als Einstellungen habe ich im setlist des wakeuptimer folgende Einstellungen vorgenommen:

nextRun:datetime,theme:default,datepicker:false,format:H:i,step:5

Gruß Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

CoolTux

Zitat von: Loredo am 11 Januar 2017, 20:52:40
Das trat in Verbindung mit der gleichzeitigen Nutzung von Wakeuptimer auf. Habe gerade einen fix eingecheckt.

Update gemacht und getestet. Funktioniert. Das ist eine super Idee gewesen Julian. Danke. Geht aber richtig sauber nur mit presence/absentsThreshold daher war es auch der richtige Zeitpunkt, vor einem halben Jahr hätte es noch kein Sinn gemacht.

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

Zitat von: CoolTux am 12 Januar 2017, 11:04:36
Geht aber richtig sauber nur mit presence/absentsThreshold daher war es auch der richtige Zeitpunkt, vor einem halben Jahr hätte es noch kein Sinn gemacht.


Ganze genau :-)
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

l2r

@Cooltux: sry, dass ich so doof nachfrage, Aber: presence/absentsThreshold ??? habe ich da was nicht auf dem Schirm oder im letzten halben Jahr nicht mitbekommen?

Gruß Michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

marvin78


l2r

Wissen ist Macht.
Ich weiß nix.
Macht nix.