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

Hallo, wir haben mit dem Wecker ein "Problem". Die Grundfunktion ist perfekt, da darf man wiederholt nochmals DANKE sagen.
:) Wenn ich nun ins Bett gehe, drücke ich auf einen Knopf, ich nehme den Status "asleep" ein - alles bestens.
:) Drücke ich den Knopf lange, wird der Wecker ausgeschaltet, ich kann lange schlafen, am nächsten Tag ist der Wecker automatisch wieder eingeschaltet - alles bestens.
:) Will ich 2 Stunden später aufstehen, stelle ich die Zeit, alles klappt, auch am Folgetag wieder normale Weckzeit - alles bestens.
:( Will ich früher aufstehen, stelle ich die Zeit, ich werde pünktlich geweckt, sobald die Kaffeemaschine läuft habe ich den Status "home" - soweit alles ok. Aber dann klingelt der Wecker zur Standardzeit wieder, und wei ich nicht "asleep" bin, sondern "home" kommt natürlich einiges bei mir durcheinander. Gibt es irgendeine Idee, wo ich meinen Fehler suchen muss?
Einen lieben Gruß
Jürgen

masterpete23

Hi. Wie kann ich mehrere zu einer  Gruppe Familie zusammen fassen oder die Kinder zur Gruppe Kinder bündeln damit ich darauf abfragen machen kann.

Gesendet von meinem Huawei Honor 7


CoolTux

Zitat von: ujaudio am 19 Dezember 2015, 10:18:24
Hallo, wir haben mit dem Wecker ein "Problem". Die Grundfunktion ist perfekt, da darf man wiederholt nochmals DANKE sagen.
:) Wenn ich nun ins Bett gehe, drücke ich auf einen Knopf, ich nehme den Status "asleep" ein - alles bestens.
:) Drücke ich den Knopf lange, wird der Wecker ausgeschaltet, ich kann lange schlafen, am nächsten Tag ist der Wecker automatisch wieder eingeschaltet - alles bestens.
:) Will ich 2 Stunden später aufstehen, stelle ich die Zeit, alles klappt, auch am Folgetag wieder normale Weckzeit - alles bestens.
:( Will ich früher aufstehen, stelle ich die Zeit, ich werde pünktlich geweckt, sobald die Kaffeemaschine läuft habe ich den Status "home" - soweit alles ok. Aber dann klingelt der Wecker zur Standardzeit wieder, und wei ich nicht "asleep" bin, sondern "home" kommt natürlich einiges bei mir durcheinander. Gibt es irgendeine Idee, wo ich meinen Fehler suchen muss?

Da kannst Du nichts machen. Stell Dir doch einfach vor was genau passiert.
Du hast eine default Zeit auf die jeden Tag gestellt wird, und zwar immer nach dem Stoppen des Weckers beim letzten Weckprozess. So und nun überlege mal was wohl passiert wenn Deine default Zeit 5 Uhr ist, Du Dich aber mal um 4 Uhr wecken lässt.

Das ist nicht gegen Dich so der an alle User gerichtet. Wenn Ihr ein Modul verwendet, versucht bitte zu verstehen wo die Zusammenhänge sind und wie das Modul funktioniert. Logik.



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

ujaudio

Zitat von: CoolTux am 19 Dezember 2015, 11:16:06
Da kannst Du nichts machen. Stell Dir doch einfach vor was genau passiert.
Du hast eine default Zeit auf die jeden Tag gestellt wird, und zwar immer nach dem Stoppen des Weckers beim letzten Weckprozess. So und nun überlege mal was wohl passiert wenn Deine default Zeit 5 Uhr ist, Du Dich aber mal um 4 Uhr wecken lässt.

Das ist nicht gegen Dich so der an alle User gerichtet. Wenn Ihr ein Modul verwendet, versucht bitte zu verstehen wo die Zusammenhänge sind und wie das Modul funktioniert. Logik.

Grüße
Leon
Ok, soweit klar, aber wie funktioniert das dann bei "Wecker aus"? Wann wird da wieder die Defaultzeit eingestellt?
Einen lieben Gruß
Jürgen

CoolTux

Weil eine Zeit immer eingestellt wird/ist. Und wenn Du eine default Zeit hast dann wird die auch gesetzt. ABER, wenn Dein Wecker auf OFF steht, werden die entsprechenden Skripte nicht ausgeführt.



Grüße
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: masterpete23 am 19 Dezember 2015, 10:49:24
Hi. Wie kann ich mehrere zu einer  Gruppe Familie zusammen fassen oder die Kinder zur Gruppe Kinder bündeln damit ich darauf abfragen machen kann.


Dazu gibt es ein Beispiel in der Commandref von ROOMMATE und GUEST:




# Complex family structure
define rr_Manfred ROOMMATE rgr_Residents,rgr_Parents # Parent
define rr_Lisa ROOMMATE rgr_Residents,rgr_Parents # Parent
define rr_Rick ROOMMATE rgr_Residents,rgr_Children # Child1
define rr_Alex ROOMMATE rgr_Residents,rgr_Children # Child2




       
  • Der Vater "Manfred" und die Mutter "Lisa" sind dabei beide Mitglied des RESIDENTS Device "rgr_Parents"
  • Die Kinder "Rick" und "Alex" sind beide Mitglied des RESIDENTS Device "rgr_Children"
  • Alle Bewohner sind Mitglied des RESIDENTS Device "rgr_Residents"
Wichtig ist dabei, dass alle 3 RESIDENTS Devices vor den ROOMMATE Devices angelegt sind.
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: ujaudio am 19 Dezember 2015, 10:18:24
:( Will ich früher aufstehen, stelle ich die Zeit, ich werde pünktlich geweckt, sobald die Kaffeemaschine läuft habe ich den Status "home" - soweit alles ok. Aber dann klingelt der Wecker zur Standardzeit wieder, und wei ich nicht "asleep" bin, sondern "home" kommt natürlich einiges bei mir durcheinander. Gibt es irgendeine Idee, wo ich meinen Fehler suchen muss?


Ja das ist ein bekannter Fehler, für den ich noch keine Zeit hatte ihn genauer zu untersuchen.
Es gibt eigentlich eine Art Karenzzeit, in der der Wecker kein zweites Mal auslösen sollte (siehe Attribut wakeupWaitPeriod mit Default Wert = 6h). Sprich, wenn z.B. die Default-Time auf 7:00 steht und ich den Wecker ausnahmsweise früher auf 5:00 gestellt habe, sollte er um 7:00 nicht nochmals ausgelöst werden, obwohl nach dem Wecken um 5:00 die Uhrzeit wieder automatisch auf 7:00 gestellt worden ist, damit am nächsten Tag wieder zur Standardzeit geweckt wird.


Leider sind Tests und Debugging-Sessions da immer sehr aufwändig, weil man eben dauernd einen Timer setzen und 1-2 Minuten warten muss, bis dieser dann ausgeführt wird. Daher habe ich das noch nicht gemacht, auch weil es bei mir nicht so häufig vorkommt, dass ich früher als normal aufstehe.
Spontan könnte es damit zu tun haben (Auszug Commandref): "Does not apply in case wake-up time was changed during this period".
Das muss ich aber wie gesagt erstmal ausprobieren.


-----


Es bleibt auch noch der Anwendungsfall, dass ich von alleine früher aufwache und mich auf "awoken" etc. setze. Dabei sollte der Wecker dann eigentlich auch nicht mehr auslösen. Das ist auch noch nicht berücksichtigt, aber eben auch ein seltener, jedoch realistischer Anwendungsfall.


Zitat von: CoolTux am 19 Dezember 2015, 11:16:06
Das ist nicht gegen Dich so der an alle User gerichtet. Wenn Ihr ein Modul verwendet, versucht bitte zu verstehen wo die Zusammenhänge sind und wie das Modul funktioniert. Logik.


Grundsätzlich richtige Schlussfolgerung, das Modul versucht dem aber wie oben beschrieben durchaus entgegenzuwirken (bzw. soll es)  ;)


Zitat von: ujaudio am 19 Dezember 2015, 11:37:21
Ok, soweit klar, aber wie funktioniert das dann bei "Wecker aus"? Wann wird da wieder die Defaultzeit eingestellt?


Das zum Wecker dazugehörige at-Device bleibt immer aktiv und löst trotzdem aus. Wenn man also den Wecker einmal auf OFF stellt, dann wird die Default-Time am nächsten Tag zur gewohnten Weckzeit wieder eingeschaltet, so dass am übernächsten Tag wieder geweckt wird (u.U. je nach Einstellung von wakeupResetdays).


Zitat von: CoolTux am 19 Dezember 2015, 12:13:49
Weil eine Zeit immer eingestellt wird/ist. Und wenn Du eine default Zeit hast dann wird die auch gesetzt. ABER, wenn Dein Wecker auf OFF steht, werden die entsprechenden Skripte nicht ausgeführt.


Richtig.
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: ujaudio am 19 Dezember 2015, 10:18:24
:( Will ich früher aufstehen, stelle ich die Zeit, ich werde pünktlich geweckt, sobald die Kaffeemaschine läuft habe ich den Status "home" - soweit alles ok. Aber dann klingelt der Wecker zur Standardzeit wieder, und wei ich nicht "asleep" bin, sondern "home" kommt natürlich einiges bei mir durcheinander. Gibt es irgendeine Idee, wo ich meinen Fehler suchen muss?


Eine Überlegung, mit der ich immer wieder ringe, ist auch:
Momentan wird ein Wecker IMMER ausgelöst, unabhängig vom Status des Bewohners (solange er nur zu Hause ist). Das soll vermeiden, dass man ggf. einmal vergisst über die Hausautomation schlafen zu gehen (sprich sich nicht in den Status "asleep" schaltet) und dann eben nicht geweckt würde. Wie man hier merkt kann es jedoch auch Vorteile haben, dass ein Wecker wirklich nur auslöst, wenn man tatsächlich "asleep" ist. Ich kenne es aber von mir selbst, dass ich z.B. auf dem Sofa einschlafe und dann nur noch im Halbschlaf ins Schlafzimmer wanke ohne mich in den Status "asleep" zu schalten und einfach nur  jeden Lichtschalter betätige, der mir begegnet. Das kann man sicher auch mit einer feiner ausgeklügelten Automation auffangen, dennoch bleibt immer ein "Restrisiko". Da ist es mir bisher immer wichtiger gewesen am nächsten Morgen zuverlässig geweckt zu werden und eben mit der Komplexität umzugehen, dass der Wecker implizit schauen muss nicht doppelt auszulösen.


Wenn da jemand eine bessere Logik für erfinden kann, bitte gerne ;)
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

ujaudio

Hallo Loredo,

ich finde deine Logik ok, habe es soweit verstanden und muss doch jetzt nur noch "meinen Laden aufräumen". Mir ist es auch lieber 2x geweckt zu werden als gar nicht! Wenn das Attribut wakeupWaitPeriod richtig tut, wäre es doch schon prima. Die ganz Vorsichtigen können das Attribut auf 0 setzen, dein Default von 6 Stunden erscheint mir ganz ok.

Wenn man dann noch das genannte Attribut immer beim Übergang auf den Status "home" nutzt, dann hätte man auch den Fall des freiwillig früheren Aufstehens ohne Wecker erschlagen.

Sicherlich gibt es noch weitere Meinungen, ich kann auch mit den jetzigen Zustand leben.
Einen lieben Gruß
Jürgen

masterpete23

könnt mich  bitte einer in die richtige Richtung Schubsen
Möchte die residents zu eltern zusammen fassen.
und dort dann auch den status anzeigt
über presence zieh ich mir das .
BIn ich hier überhaupt korrekt?

Loredo

Zitat von: masterpete23 am 19 Dezember 2015, 23:23:50
könnt mich  bitte einer in die richtige Richtung Schubsen
Möchte die residents zu eltern zusammen fassen.
und dort dann auch den status anzeigt
über presence zieh ich mir das .
BIn ich hier überhaupt korrekt?

Ich verstehe irgendwie gar nicht, was du hier schreibst, deine Worte ergeben für mich keinen Sinn.

Du musst doch quasi nur die Beispiele von oben nachempfinden. Was fehlt dir da?
Du kannst RESIDENTS nicht gruppieren, du kannst ROOMMATE und GUEST in einer oder mehreren RESIDENTS Gruppen zusammenfassen.

Also wie oben beschrieben:


Eltern (Type: RESIDENTS)
   |--Vater (Type: ROOMMATE)
   |--Mutter (Type: ROOMMATE)

Kinder (Type: RESIDENTS)
   |--Kind1 (Type: ROOMMATE)
   |--Kind2 (Type: ROOMMATE)

Bewohner (Type: RESIDENTS)
   |--Vater (Type: ROOMMATE)
   |--Mutter (Type: ROOMMATE)
   |--Kind1 (Type: ROOMMATE)
   |--Kind2 (Type: ROOMMATE)



Das definiert sich dann so:



define Bewohner RESIDENTS
define Eltern RESIDENTS
define Kinder RESIDENTS

define Vater ROOMMATE Bewohner,Eltern
define Mutter ROOMMATE Bewohner,Eltern
define Kind1 ROOMMATE Bewohner,Kinder
define Kind2 ROOMMATE Bewohner,Kinder
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

MichaelO

Moin,

ich hätte eine Frage zu den Reading "*Names":

residentsHomeNames
residentsTotalPresentNames
residentsTotalRoommatesPresentNames

Ich habe alle Roomates gruppiert zu "Status Hausbewohner". Nun fiel mir auf, dass alle Readings, wo die Namen der Roomates auftauchen sollten, als "Status Hausbewohner" angezeigt werden.

residentsTotalRoommatesPresentNames
Status Hausbewohner, Status Hausbewohner
2015-12-21 18:58:42


Hab ich da was falsch gemacht, oder kann/sollte das im Modul geändert werden?

Gruß
Michael

Haecksler

Hallo Loredo,
habe gerade auch ein wenig mit dem RESIDENTS Toolkit wakeuptimer gespielt, was mir aber nicht gefällt ist, dass man nur Weckezeiten im 15min Abstand wählen kann.
Deshalb habe ich die "setlist" wie folgt angepasst:

setList      state:time reset:noArg trigger:noArg start:noArg stop:noArg end:noArg

und das "webcmd" entsprechend

webCmd state

Könnte diese eine Beeinträchtigung der Funktion zur folge haben?

Gruß,
Stefan

Loredo

Zitat von: Haecksler am 22 Dezember 2015, 21:43:09
Deshalb habe ich die "setlist" wie folgt angepasst:

setList      state:time reset:noArg trigger:noArg start:noArg stop:noArg end:noArg

und das "webcmd" entsprechend

webCmd state

Könnte diese eine Beeinträchtigung der Funktion zur folge haben?


Grundsätzlich ist es auch so gedacht, dass man die Zeiten in setList anpasst, wenn man das möchte (z.B. wenn man während eines Zeitraums 5min Schritte ö.ä. möchte).
Wenn du dabei auf das Widget "time" umstellst, kannst du den Wecker nicht mehr auf OFF setzen (ok, wenn man drauf verzichten möchte).


Es ist allerdings falsch "state" zu setzen, es muss bei nextRun bleiben:


attr rr_Julian_wakeuptimer1 setList nextRun:time reset:noArg start:noArg trigger:noArg stop:noArg
attr rr_Julian_wakeuptimer1 webCmd nextRun


Das Reading state wird indirekt durch den wakeuptimer gestellt. Es sieht nur so aus, als wenn man state direkt stellen könnte.
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

Haecksler

Zitat von: Loredo am 22 Dezember 2015, 22:16:55
Das Reading state wird indirekt durch den wakeuptimer gestellt. Es sieht nur so aus, als wenn man state direkt stellen könnte.

Heißt das, dass

set rr_Julian_wakeuptimer1 08:37

nicht funktioniert?

Oder muss man
set rr_Julian_wakeuptimer1 nextRun 08:37
schreiben?