Notify verzögert ausführen

Begonnen von sxx128, 07 Dezember 2022, 17:30:55

Vorheriges Thema - Nächstes Thema

bartman121

Kannst du dein Ziel Mal semantisch beschreiben?

Einerseits sollte man für die Abwesenheit nicht auf den state des Resident-devices triggern sondern auf presence....

Anderseits sieht mir das nach einem klassischen Anwendungsfall von watchdog aus ...

Wenn Abwesenheit eintritt und keine Anwesenheit innerhalb von 1h, dann tue was...
Wenn Abwesenheit eintritt und keine Anwesenheit innerhalb von einer Stunde, dann tue etwas anders?


sxx128

Hallole ..

ich möchte einfach verhindern das meine Thermostate heruntergeregelt werden wenn ich nur eine ,,kurze" zeit abwesend bin. Presence habe ich nicht genommen weil wir zwei Personen sind und ich so einfach den Status abfragen kann.

Ich bin aber für weitere Vorschläge jederzeit offen. Residence ist ja quasi mein ,,Dummy" auf den ich reagiere im Doif.. wenn man das so sagen kann ..

Grüße
Steven
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Otto123

Also zu dem Betreff und der eigentlichen Frage: Man könnte den Ausführungsteil im Notify mit einem benannten sleep verzögern:
define n_Bewohner notify rgr_Bewohner:state:.* {
if ($EVTPART1 eq "abwesend") {
fhem("sleep 3600 n_Bewohner ;; set heizregler_wand_Climate controlMode night")
}
else {
fhem("cancel n_Bewohner ;; set heizregler_wand_Climate controlMode auto")
}
}

Hinweis: Der Vorschlag ging von einem state Event aus! Der muss aber extra aktiviert werden, damit der so funktioniert wie im ursprünglichen Ansatz:
attr n_Bewohner addStateEvent 1
Ich würde aber immer zuerst die eigentliche Abwesenheit verzögern und nicht sofort den Spezialfall draus machen.
ZitatPresence habe ich nicht genommen weil wir zwei Personen
Beide Personen jeweils ein presence device, dann aus beiden eine structure, diese dann für die Steuerung.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sxx128

Hallole

danke für den Hinweis und eure Hilfe. Warum ist es besser auf  Presence zu referenzieren und nicht auf Residence ?

Grüße
Steven
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Otto123

#19
hab ich nicht gesagt ob besser oder schlechter, ich verwende aber Residents nicht. Kann Residents denn die Abwesenheitsschwelle nicht selbst?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sxx128

..ich glaube nicht ..das geht wohl nur bei Presence ... aber ich weiss es nicht ..

Grüße
Steven
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Beta-User

Zitat von: sxx128 am 07 Dezember 2022, 21:56:37
danke für den Hinweis und eure Hilfe. Warum ist es besser auf  Presence zu referenzieren und nicht auf Residence ?
Was ist Residence?

Ich kenne RESIDENTS, und das ist eine "besondere" Art "structure" für ROOMMATE und GUEST Devices, die wiederum per PRESENCE-Devices mit An- und Abwesenheiten "versorgt" werden können.

MAn. ist das der einfachste Weg, Bewohner abzubilden... (und nebenbei die Basis für ein Benachrichtigungssystem aufzubauen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

sxx128

Hallo

du hast natürlich recht. Ich habe es falsch geschrieben. Sorry Es heisst natürlich

RESIDENTS

aus den von dir geschilderten Gründen dachte ich halt auch es hier zu verwenden sei ne gute Idee...

Grüße
Steven
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

CoolTux

Ich habe genau diese Anforderung umgesetzt. Eine Stunde nachdem RESIDENTS absent meldet werden alle Heizungsthermostate runter gedreht. Lösung

watchdog!!
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

sxx128

Hallo CoolTux

würdest du mir da bitte zeigen wie du das gemacht hast ?

Grüße
Steven
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

CoolTux


defmod watchdog_ResidentsAbsentLowerHomeTemperature watchdog AnniKraussStr:absent 01:00:00 AnniKraussStr:home set TYPE=CUL_HM:FILTER=R-nightTemp=17.C:FILTER=controlMode=auto controlManu 19


Meine Residents heißt AnniKraussStr
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

enno

Moin Steven,

ich habe dafür das Modul "Homezone" von Kernsani im Einsatz. Dort sind dann Lampen  und TV (Shelly), Bewegungsmelder (HM) und Fritzbox Presence beteiligt. Vielleicht ja auch ein Ansatz.

https://forum.fhem.de/index.php/topic,98594.0.html

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

sxx128

#27
Hallo

werde ich mir auch anschauen ...danke für den Hinweis. Ich hab derzeit ein Problem mit meinem Notify. Gestern hatte ich das witzigerweise nicht und es hat ohne Probleme gekappt...das ist ja mein Notify:


rgr_Bewohner:state:.* {
if ($EVTPART1 eq "abwesend") {
fhem("sleep 3600 heizungabwsenheit ;; set heizregler_wand_Climate controlMode night")
}
else {
fhem("cancel heizungabwsenheit ;; set heizregler_wand_Climate controlMode auto")
}
}


Wenn das Notify auslöst habe ich eine total "wirre" TriggerTime (siehe Screenshot). Deswegen löst das Notify dann nicht aus so wie ich das einschätze. Was läuft denn da aufeinmal schief ? Habt ihr eine Idee? Mal abgesehen von dem Schreibfehler der ist aber durchgängig falsch und deswegen passt es dann wieder :-)

Grüße
Steven



Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Otto123

#28
abgesehen von Deinem "TriggerTime Fehler": die DEF ist falsch! Dort stehen zwei semikolon, es darf nur eins sein!
Merke: Ich habe ein define geschrieben, das ist für die FHEM Kommandozeile. Da wird dann in der DEF ein ; aus den beiden in der Kommandozeile.
Wenn Du also den define Code einfach in die DEF kopierst, musst Du die Semikolon halbieren!
Es sollte bei der Ausführung des notify einen Fehler im Log geben

Was findest Du an der TriggerTime wirre ? Das ist doch einfach die Sekunden seit 1970.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sxx128

Hallole Otto123,

ich  bin total verwirrt. Die Anpassung hab ich gemacht. Danke für den Hinweis mit den Semikolon.
Im Log bekomme ich folgenden Fehler:


abwesenheit return value: no such id: abwesenheit



Internals:
   CFGFN     
   DEF        rgr_Bewohner:state:.* {
if ($EVTPART1 eq "abwesend") {
fhem("sleep 3600 abwesenheit; set heizregler_wand_Climate controlMode night")
}
else {
fhem("cancel abwesenheit; set heizregler_wand_Climate controlMode auto")
}
}

   FUUID      6393acb1-f33f-a8d7-c043-3b061cc2040df3a4
   NAME       abwesenheit
   NOTIFYDEV  rgr_Bewohner
   NR         801
   NTFY_ORDER 50-abwesenheit
   REGEXP     rgr_Bewohner:state:.*
   STATE      2022-12-09 23:12:00
   TRIGGERTIME 1670623920.03853
   TYPE       notify
   eventCount 5
   READINGS:
     2022-12-09 23:06:33   state           active
     2022-12-09 23:12:00   triggeredByDev  rgr_Bewohner
     2022-12-09 23:12:00   triggeredByEvent state: absent
Attributes:
   addStateEvent 1
   room       Heizregler
   verbose    5





Grüße
Steven
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU