Neues Modul: 22_HOMEMODE.pm - grundlegende Automationen und mehr

Begonnen von DeeSPe, 07 Januar 2017, 15:59:43

Vorheriges Thema - Nächstes Thema

gestein

Ich habe 10 Aqara Motion über deCONZ eingebunden.

Lg, Gerhard

DeeSPe

Hmm, sehr komisch!
Ich nutze hauptsächlich die Hue BWMs (auch über deCONZ angebunden) aber auch ein paar von Fibaro und habe bisher noch nie das Problem gehabt dass die aus dem Internal verschwinden.
Im Moment weiß ich überhaupt nicht wirklich wo ich ansetzen soll um dir zu helfen.
An einem missglückten Update von HOMEMODE kann es auch nicht liegen da es ja seit Langem kein Update dafür gab.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Esjay

Zitat von: DeeSPe am 28 Januar 2022, 12:19:13
"updateInternalsForce" sollte an dieser Stelle reichen.

Könntest Du bitte mal testen ob das Internal nach einem Neustart von FHEM richtig befüllt wird?

War das schon immer so? In einem der letzten Updates von HUEDevice gab es wohl Probleme dass manche Events nicht kamen. Bitte teste mal mit einem tagesaktuellem FHEM.
Wenn das Event von Reading "state" kommt und "open" oder "closed" feuert dann sollte das HOMEMODE automatisch erkennen können.

Gruß
Dan

Nach einem Neustart wird alles korrekt angezeigt/angelegt.
Was jetzt geholfen hat, war einfach nur den def Editor zu öffnen und ein modify zu machen.
Was mir aufgefallen ist, dass viele Attribute in den einzelnen Devices angelegt wurden. Zumindest hat hat mir das das rote ? signalisiert.

Zitat von: gestein am 30 Januar 2022, 17:32:27
Ich habe 10 Aqara Motion über deCONZ eingebunden.

Lg, Gerhard

Hattest du vorher andere Bewegungsmelder? Ich bin der Meinung seit meinem Umstieg von MAX auf deConz hat es angefangen, dass die Internals verschwunden sind.

DeeSPe

Zitat von: Esjay am 31 Januar 2022, 12:38:25
Was jetzt geholfen hat, war einfach nur den def Editor zu öffnen und ein modify zu machen.

"set ... updateInternalsForce" sollte reichen.

Zitat von: Esjay am 31 Januar 2022, 12:38:25
Hattest du vorher andere Bewegungsmelder? Ich bin der Meinung seit meinem Umstieg von MAX auf deConz hat es angefangen, dass die Internals verschwunden sind.

Ich verwende eigentlich schon immer eine Kombination aus Zigbee und ZWave Sensoren/Aktoren, bisher immer problemlos.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

gestein

Ich hatte immer schon die Aqara Motion und eigentlich keine Probleme damit.
Momentan läuft "verbose 5", aber wie immer ist momentan alles wieder ok.
Mal sehen, was sich ergibt.

Und ja, bei mir hat ein "set ... updateInternalsForce" immer geholfen.

lg, Gerhard

TWART016

Ich möchte gerne etwas triggern, wenn ein Resident awoken ist.

Es gibt das attr HomeCMDmode-awoken. Dort wird allerdings nur getriggert, wenn ein Resident auf state = absent geändert wird.

Gibt es ein anderen globales Attribut für awoken?

DeeSPe

Ich benutze dafür die Attribute "HomeCMDmode-awoken-resident" (für alle Fälle) und "HomeCMDmode-awoken-<ROOMMATE/GUEST NAME>" (für spezielle Fälle).

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

TWART016

Danke, HomeCMDmode-awoken-resident ist tatsächlich das richtige.

HomeCMDmode-awoken ist sehr verwirrend in dem Modul.

sd

Hallo,

tolles Modul, vielen Dank dafür. Langsam stelle ich meine AT und NOTIFY um.
Dabei ist mir ein Fehler aufgefallen:
Ich habe das Attribut HOMEDAYTIMERS entsprechend des WIKI in deutsch festgelegt.
Beim Füllen des Userattributs HomeCMDdaytime-Spätabend kommt der Fehler:

homemode: bad attribute name 'HomeCMDdaytime-Spätabend' (allowed chars: A-Za-z/\d_\.-)

Ich habe kein Problem den Umlaut als ae zu schreiben, aber dann sollte auch das WIKI geändert werden.
Gruß
Steffen

DeeSPe

Zitat von: sd am 06 März 2022, 11:54:12
Hallo,

tolles Modul, vielen Dank dafür. Langsam stelle ich meine AT und NOTIFY um.
Dabei ist mir ein Fehler aufgefallen:
Ich habe das Attribut HOMEDAYTIMERS entsprechend des WIKI in deutsch festgelegt.
Beim Füllen des Userattributs HomeCMDdaytime-Spätabend kommt der Fehler:

homemode: bad attribute name 'HomeCMDdaytime-Spätabend' (allowed chars: A-Za-z/\d_\.-)

Ich habe kein Problem den Umlaut als ae zu schreiben, aber dann sollte auch das WIKI geändert werden.

Du hast recht.
Ursprünglich ging das ganz sicher einmal.
Irgendwann wurde dann mal eine Überprüfung der Readings- und Attributnamen eingeführt und seit dem sind wohl auch keine Umlaute in den Namen mehr zulässig. Da ich die Daytimes zwar genau wie im Wiki bei mir definiert habe, die dazu passenden CMD Attribute aber nicht benutze, ist mir das bisher nicht aufgefallen.
Ich denke mal über einen Lösungsansatz dafür nach, denn eigentlich möchte ich schon gern die Umlaute weiter verwenden können.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

gestein

Hallo,

Ich habe immer noch das Problem, dass die Bewegungsmelder aus dem Internal verschwinden.
https://forum.fhem.de/index.php/topic,64317.msg1204829.html#msg1204829

Nach einigen Versuchen habe ich zumindest eines rausgefunden.
Jedesmal, wenn fhem neu gestartet wird, ist bei mir das Internal "SENSORSMOTION" leer.

Erst ein "updateInternalsForce" befüllt das Internal wieder und die Bewegungsmelder lösen wieder aus.
Leider finde ich da trotz "verbose 5" keinen Eintrag im log.

Auch der folgende Code in "HomeCMDfhemINITIALIZED" bringt nichts. Wahrscheinlich ist es da zu früh.
{
fhem("msg FHEM Home wurde neu gestartet...\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a."));
Log 1, "HomeCMDfhemINITIALIZED aufgerufen!\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a.");
fhem("set myHome updateInternalsForce");
}

Die Ausgabe im log-File ist wie folgt:
2022.03.12 11:30:07.367 5: myHome: HOMEMODE_RESIDENTS dev: Zuhause type: RESIDENTS
2022.03.12 11:30:07.568 5: myHome: cmdnew: {    fhem("msg FHEM Home wurde neu gestartet...");   Log 1, "HomeCMDfhemINITIALIZED aufgerufen!\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a.");     fhem("set myHome updateInternalsForce"); }
2022.03.12 11:30:15.085 5: myHome: new monitored device count: 69
2022.03.12 11:30:15.100 5: myHome: HOMEMODE_RESIDENTS dev: Zuhause type: RESIDENTS
2022.03.12 11:30:15.249 4: myHome: executed CMDs: {     fhem("msg FHEM Home wurde neu gestartet...");;  Log 1, "HomeCMDfhemINITIALIZED aufgerufen!\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a.");;    fhem("set myHome updateInternalsForce");; }


Eigenartigerweise ist sonst kein Eintrag im log-File.
Der Code wird aber ausgeführt.

Wo könnte ich da ansetzen?
lg, Gerhard

DeeSPe

Zitat von: gestein am 15 März 2022, 09:32:26
Auch der folgende Code in "HomeCMDfhemINITIALIZED" bringt nichts. Wahrscheinlich ist es da zu früh.
{
fhem("msg FHEM Home wurde neu gestartet...\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a."));
Log 1, "HomeCMDfhemINITIALIZED aufgerufen!\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a.");
fhem("set myHome updateInternalsForce");
}


Das das nichts bringt wundert mich nicht, denn das ist genau das was das Modul sowieso intern ausführt.
Versuch doch mal das "updateInternalsForce" etwas zu verzögern, z.B. 5sec:
{
fhem("msg FHEM Home wurde neu gestartet...\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a."));
Log 1, "HomeCMDfhemINITIALIZED aufgerufen!\r\nSENSORSMOTION=".InternalVal("myHome","SENSORSMOTION","n.a.");
fhem("sleep 5; set myHome updateInternalsForce");
}

Wenn das noch nicht den gewünschten Effekt hat evtl. die 5sec auf testweise 10sec hoch setzen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

outhouse

#1257
MSG Pushover

Aktuell versendet Homemode die Nachrichten mit den folgenden Befehlen immer an alle Pushover Devices:

fhem "msg push \@rr_Chrigel 1 |[rgr_Residents:lastActivityBy]| %ALARMHR% $is noch offen"
oder
fhem "msg push \@PushChrigel 1 |[rgr_Residents:lastActivityBy]| %ALARMHR% $is noch offen"

Löse ich eine Nachricht manuell aus, wird die Mitteilung wie gewünscht nur die Device "PushChrigel" übermittelt.

set PushChrigel msg Es ist ja nur ein Test

Hat sich da etwas geändert? Was muss geändert werden, damit wieder automatisch nur 1 Device die Mitteilung erhält?

Gruss Chris
Raspberry 4 B mit Raspberry Pi OS und FHEM-Image 6.3 von fhem.de
Cul CC 1101 V4 als CUL_HM
Cul V3.4 + V3.4 als RFR
enocean-pi

DeeSPe

Zitat von: outhouse am 09 April 2022, 14:17:04
MSG Pushover

Aktuell versendet Homemode die Nachrichten mit den folgenden Befehlen immer an alle Pushover Devices:

fhem "msg push \@rr_Chrigel 1 |[rgr_Residents:lastActivityBy]| %ALARMHR% $is noch offen"
oder
fhem "msg push \@PushChrigel 1 |[rgr_Residents:lastActivityBy]| %ALARMHR% $is noch offen"

Löse ich eine Nachricht manuell aus, wird die Mitteilung wie gewünscht nur die Device "PushChrigel" übermittelt.

set PushChrigel msg Es ist ja nur ein Test

Hat sich da etwas geändert? Was muss geändert werden, damit wieder automatsich nur 1 Device die Mitteilung erhält?

Gruss Chris

An HOMEMODE wurde nichts verändert.
Mit dem eigentlichen Versand von Nachrichten per "msg" hat HOMEMODE auch nichts zu tun.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Bronze

Hallo,
bei der weitergehenden Nutzung des Homemode richte ich gerade die Fensterkontakte mit 2 Zuständen ein:

HomeSensorTemperatureOutside OUT_Wetter

HomeSensorsContact KNX_0403010

HomeSensorsContactReadings state state

HomeSensorsContactValues alarm|alarm|no_alarm


Dabei enthält der state entweder "no_alarm", wenn Fenster geschlossen, oder "alarm", wenn Fenster geöffnet.

Außerdem wurde mal mit Hilfe von Cooltux ein userReading eingerichtet, auf das aber hier nicht zugegriffen wird:
userReadings
ascWinState:(alarm|no.alarm) { (ReadingsVal($name,'state','no alarm') eq 'alarm' ? 'open' : 'closed') }


Im Ergebnis gelten nach der Definition der Fensterkontakte - wenn ich es richtig verstanden habe - alle als geöffnet, obwohl alle geschlossen sind und das im state der Kontakte auch so angezeigt wird:

contactsDoorsInsideOpen KNX_0403

contactsDoorsInsideOpen_ct 1

contactsDoorsInsideOpen_hr Die EMA TH Gittertuer

contactsDoorsMainOpen KNX_0403

contactsDoorsMainOpen_ct 1

contactsDoorsMainOpen_hr Die EMA TH Haustuer

contactsDoorsOutsideOpen_ct 0

contactsOpen
KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403

contactsOpen_ct 11

contactsOpen_hr
Das EMA EG Fenster Schlafzimmer, das EMA EG Fenster Kinderzimmer, das EMA EG Fenster Wohnzimmer, das EMA EG Fenster Esszimmer, das EMA EG Fenster GaesteWC, das EMA EG Fenster Bad, das EMA TH Fenster, das EMA DG Fenster, die EMA TH Haustuer, die EMA TH Gittertuer and das EMA EG Kueche Fenster

contactsOutsideOpen
KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403

contactsOutsideOpen_ct
10

contactsOutsideOpen_hr
Das EMA EG Fenster Schlafzimmer, das EMA EG Fenster Kinderzimmer, das EMA EG Fenster Wohnzimmer, das EMA EG Fenster Esszimmer, das EMA EG Fenster GaesteWC, das EMA EG Fenster Bad, das EMA TH Fenster, das EMA DG Fenster, die EMA TH Haustuer and das EMA EG Kueche Fenster

contactsWindowsOpen
KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403,KNX_0403

contactsWindowsOpen_ct 9

contactsWindowsOpen_hr
Das EMA EG Fenster Schlafzimmer, das EMA EG Fenster Kinderzimmer, das EMA EG Fenster Wohnzimmer, das EMA EG Fenster Esszimmer, das EMA EG Fenster GaesteWC, das EMA EG Fenster Bad, das EMA TH Fenster, das EMA DG Fenster and das EMA EG Kueche Fenster


Wie muss das denn bitte eingestellt werden, damit der richtige Zustand angezeigt wird?

Gruß, Bronze