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

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

Vorheriges Thema - Nächstes Thema

Loredo

#645
Ich habe gerade analog zu ROOMMATE und GUEST noch einen dritten Bewohnertyp namens PET eingecheckt.
Ab morgen kann man also Haustiere wie beispielsweise einen Hund explizit als solchen führen. Dafür gibt es auch entsprechend neue Readings.


Außerdem gibt es ein neues Attribut r*_passStateTo, welches ähnlich wie r*_passPresenceTo nun den Status während man zuhause ist mit einem anderen Gerät abgleichen kann.
Das ist zum Beispiel bei einem Hund sinnvoll, der ja aller Wahrscheinlichkeit nach immer mit Herrchen und/oder Frauchen schlafen geht und aufsteht ;-)


Ich überlege noch, ob nun im RESIDENTS Modul noch neue Status sinnvoll wären, die nur dann eintreten, wenn ein Haustier allein zuhause ist. Ich denke da an ein Präfix "pet_" vor dem eigentlichen Status. Da ich aber weiß, dass es so einige Module und persönliche Automationen gibt, wollte ich vorher einmal horchen, wie dazu so die Meinung ist. Sicherlich kann man das als Attribut erst einschaltbar machen, aber selbst wenn man das tut, werden diejenigen, die das gerne möchten, vielleicht hier und dort auf Probleme stoßen. Und dafür müssten dann wahrscheinlich Module wie HOMEMODE oder AutoShuttersControl etc gewappnet sein.
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

det.

Hallo Loredo,
Für meine 2 Siamkatzen fällt mir für den neuen Bewohnertyp kein Sinn noch Nutzen ein. Aber für die Putzfrau, auch wenn das schon diskriminierend ist, sie unter PET einzugruppieren. Die Möglichkeit abhängig von deren " Alleinzuhause Status " anders zu schalten als bei ROMMATE oder GUEST macht aber schon Sinn. Das Gleiche trifft auf die Freunde (GTag) zu, die während unseres Urlaubs die Biester füttern und die Katzenklo's reinigen.
Meine Frage dazu also - könntest Du den 3ten Bewohnertyp nicht z.b. SERVICE nennen oder den Namen konfigurierbar machen?
LG
det.

choenig

Zitat von: Loredo am 04 Mai 2019, 13:56:26
Ich habe gerade analog zu ROOMMATE und GUEST noch einen dritten Bewohnertyp namens PET eingecheckt.
Ab morgen kann man also Haustiere wie beispielsweise einen Hund explizit als solchen führen. Dafür gibt es auch entsprechend neue Readings.

Finde ich ziemlich cool :)

Dann mach ich den Hundi direkt zum PET, zur Zeit ist er noch ein GUEST  8)

LG
Christian

Loredo

#648
Zitat von: Loredo am 04 Mai 2019, 13:56:26
Ich überlege noch, ob nun im RESIDENTS Modul noch neue Status sinnvoll wären, die nur dann eintreten, wenn ein Haustier allein zuhause ist. Ich denke da an ein Präfix "pet_" vor dem eigentlichen Status. Da ich aber weiß, dass es so einige Module und persönliche Automationen gibt, wollte ich vorher einmal horchen, wie dazu so die Meinung ist. Sicherlich kann man das als Attribut erst einschaltbar machen, aber selbst wenn man das tut, werden diejenigen, die das gerne möchten, vielleicht hier und dort auf Probleme stoßen. Und dafür müssten dann wahrscheinlich Module wie HOMEMODE oder AutoShuttersControl etc gewappnet sein.

Ich habe jetzt gerade noch eine neue Version aller Module eingecheckt, die einen "Home Alone" Modus mitbringt.
Dabei werden für alle RESIDENTS Sub-Module auch subTypes eingeführt (über Attribute). Diese basieren bei ROOMMATE auf der Altersklasse ('baby', 'toddler', 'child', 'teenager', 'adult', 'senior'). Bei GUEST gibt es 'generic', 'minor', 'domesticWorker', 'vacationer'. Und bei PET kann man (eher spaßeshalber) auch angeben, um welche Art von Tier es sich handelt ('generic', 'bird',  'cat', 'dog', 'monkey', 'pig').

Aus dem subType wird dann errechnet, ob diese Person (oder das Tier) als unselbstständig angesehen wird und somit als "allein zu Hause" gilt. Dafür werden dann 3 neue Readings im RESIDENTS Device erstellt. Über ein weiteres Attribut kann man dann den RESIDENTS Gerätestatus mit einem Präfix versehen, welcher dem subType entspricht.

Bei der Ermittlung, welcher subType jetzt derjenige "in Verantwortung" ist, wird eine Reihenfolge beachtet, die über ein Attribut verändert werden kann. Die Reihenfolge ist dabei so gewählt, dass der "älteste" Mensch den Home Alone Status bestimmt (in der Annahme, dass dieser auf jüngere aufpasst, die auch anwesend sein könnten). Eine Ausnahme ist per Default der subType "senior", welcher für Erwachsene vergeben werden kann, die hilfebedürftig sind.

Der Home Alone Status ist beendet, sobald ein 'adult' zu Hause anwesend ist oder alle Bewohner außer Haus sind.


@det.: Schau doch mal, ob du mit dem subType domesticWorker jetzt weiter kommst.
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

choenig

Guten Morgen Julian,

ich habe jetzt unseren Brandy als PET statt vorher als GUEST eingerichtet und alles umgestellt und mal aufgeräumt :). Hat alles geklappt, ziemlich Cool!

Verstehe ich es richtig, dass der 'homealone'-Status dadurch ausgedrückt wird, dass homealoneType (bzw. homealoneSubtype) gesetzt werden?  (Ich habe rgr_homealoneInStatus nicht gesetzt.)

Das einzige, was mir jetzt fehlt, sind readings, die mir anzeigen, wie viele Personen anwesend sind, also ROOMMATE + GUEST  8)

Zitat
residentsTotalPresent          = ROOMMATES + PETS + GUEST
residentsTotalPeoplePresent    = ROOMMATES + GUEST
residentsTotalRoommatesPresent = ROOMMATES
residentsTotalPetsPresent      = PETS
residentsTotalGuestsPresent    = GUEST

LG und vielen Dank :)
Christian

Loredo

#650
Ja das macht wohl Sinn - habe ich gerade eingecheckt.


Zitat von: choenig am 05 Mai 2019, 10:08:50
Verstehe ich es richtig, dass der 'homealone'-Status dadurch ausgedrückt wird, dass homealoneType (bzw. homealoneSubtype) gesetzt werden?  (Ich habe rgr_homealoneInStatus nicht gesetzt.)


Ja, das sind die beiden Readings. Wenn sie etwas anderes als "-" enthalten, ist der homealone Status aktiv und man kann ableiten, welche "Form" von Allein Zuhause das ist. Entweder recht allgemein über Type oder etwas genauer über SubType.
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

choenig

Zitat von: Loredo am 05 Mai 2019, 13:24:08
Ja das macht wohl Sinn - habe ich gerade eingecheckt.

Ich konnte es nicht abwarten, hab' schonmal upgedated :)

So sehen meine DOIFs jetzt ein wenig aufgeräumter aus  :D

LG
Christian

Loredo

Ich habe einige kleinere Fixes zum homealone Status eingecheckt.
Geändert hat sich dabei ein subType für GUEST: Aus "minor" (Minderjährig) wurde nun "childcare" (Kinderbetreuung).


Außerdem hat das bisher nicht vollständig veröffentlichte HOMESTATE Modul nun support für homealone erhalten.
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

thegimliboy

Seit einem Update heute bin ich auf dieser Version:
Zitat20_ROOMMATE.pm 19386 2019-05-14 16:47:14Z loredo

Nach einem Neustart von FHEM wurde in der fhem.cfg alle ROOMATEs gelöscht. Das log hat diese Fehlermeldung
ZitatCan't use an undefined value as an ARRAY reference at ./FHEM/20_ROOMMATE.pm line 29.

Auch wenn ich diese Roommates danach wieder neu anlegen will, kommt diese Fehlermeldung, und keine Roommates werden angelegt.
Kann ich noch was prüfen?
gruß

thegimliboy

Nur zur Info: bin bei den drei Modulen (Residents, Roomate und Guest) wieder zurück zur Version 18995 vom 22.03.2019
Damit kann ich meine Roommates wieder herstellen.

Selbst wenn ich mit der aktuellen Version 19386 ein Roommate über Residents anlegen wollte, kam im Log diese Meldung:
Zitat2019.06.01 17:36:03 0: Can't use an undefined value as an ARRAY reference at ./FHEM/20_ROOMMATE.pm line 29.
2019.06.01 17:36:03 3: define rr_Peter ROOMMATE rgr_myHome : Cannot load module ROOMMATE

gruß

Loredo

Zitat von: thegimliboy am 31 Mai 2019, 19:59:42
Seit einem Update heute bin ich auf dieser Version:
Nach einem Neustart von FHEM wurde in der fhem.cfg alle ROOMATEs gelöscht. Das log hat diese Fehlermeldung
Auch wenn ich diese Roommates danach wieder neu anlegen will, kommt diese Fehlermeldung, und keine Roommates werden angelegt.
Kann ich noch was prüfen?


Du machst offenbar nur selektive Updates von einzelnen FHEM Dateien, das ist nicht gut.
Dir fehlt eine aktuelle Version von RESIDENTStk.pm.
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

thegimliboy

Ich hatte vorgestern ein "update all" gemacht. Da war Nichts selektiv.
OK. Beim zurückgehen auf eine ältere Version war ich selektiv vorgegangen. Mir ist kein Befehl bekannt, mit dem man das geregelt machen kann. Geht so etwas wirklich?
Für mich war erst mal wichtig, dass es wieder funktioniert.
Die Residentsk.pm war auch auf 19386. Ich habe diese Datei jetzt auch auf den älteren Stand gebracht. Die Störung wurde durch die 20_ROOMMATE.pm mit der Version 19386 verursacht. Zumindest bei mir, und ich hatte keine Idee mehr, wo ich noch schauen kann.

Loredo

Trotzdem besagt die Fehlermeldung, dass er eine Variable, die in RESIDENTStk erst neu hinzugekommen ist, nicht finden kann.
Hast du FHEM auch neu gestartet? Welche Perl Version?
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

thegimliboy

ich kann bei dieser Fehlermeldung
Zitat2019.06.01 17:36:03 0: Can't use an undefined value as an ARRAY reference at ./FHEM/20_ROOMMATE.pm line 29.
2019.06.01 17:36:03 3: define rr_Peter ROOMMATE rgr_myHome : Cannot load module ROOMMATE
beim besten Willen nicht herauslesen, dass er eine Variable, die in RESIDENTStk erst neu hinzugekommen ist, nicht finden kann.
Wo steht da was von RESIDENTStk.pm ?

Ich habe gerade Stunden von Recherche hinter mir, wofür die RESIDENTStk.pm überhaupt da ist. Im Wiki konnte ich nichts finden, und in diesem Thread auch nicht. Schade.
Gerne hätte ich die Ursache gefunden, aber trotz LogLevel 5 war nichts beim Starten zu finden.

Loredo

#659
Zitat von: thegimliboy am 02 Juni 2019, 17:55:07
ich kann bei dieser Fehlermeldungbeim besten Willen nicht herauslesen, dass er eine Variable, die in RESIDENTStk erst neu hinzugekommen ist, nicht finden kann.
Wo steht da was von RESIDENTStk.pm ?

Dort steht eine Codezeile und in dieser Codezeile wird auf eine Variable verwiesen, die aus RESIDENTStk exportiert wird. Das weiß ich als Modulautor natürlich und kann es dir deshalb sagen.
RESIDENTStk beinhaltet den eigentlichen Code der Module RESIDENTS, ROOMMATE, PET und GUEST (kann dir im übrigen auch der FHEM Installer sagen). Das muss man aber gar nicht wissen, wenn man immer brav alle Dateien gemeinsam aktualisiert. Du schreibst zwar, dass das bei dir der Fall wäre, jedoch kann ich dann eben nicht erklären wie es zu dem Fehler bei dir kommt, da ich ihn absolut nicht nachstellen kann.
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