Notify verzögert ausführen

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

Vorheriges Thema - Nächstes Thema

Otto123

#30
Hallo Steven,

die Behebung für den Eintrag steht hier ;)
https://fhem.de/commandref_modular_DE.html#cancel
cancel abwesenheit quiet
Man könnte auch aufwendig abfragen ob der sleep Timer gesetzt wurde ;)

Was mich noch aufmerksam macht: triggeredByEvent state: absent
Sicher das Du jemals einen Event mit abwesend bekommst?

Hast Du mal im Eventmonitor geschaut was da so passiert?
Es wäre eventuell besser das Suchmuster präziser zu gestalten:
rgr_Bewohner:state:.absent|rgr_Bewohner:state:.present
oder auch
rgr_Bewohner:state:.[abpre]+sent ;)

Gruß Otto
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

eigentlich schon. Zumindest ist es in anderen Bereichen so. Aber das hat mich auch schon stutzig gemacht. Ich schau mal in den Evenmonitor.

Das mit dem


cancel abwesenheit quiet


verstehe ich nicht ... sorry

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

#32
dann ist er ruhig wenn das benannte sleep nicht existiert ;)

Das Problem entsteht, wenn ein Event kommt, der nicht auf den ersten Zweig trifft und gar kein benanntes sleep existiert.
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

Das ist der Event laut Eventmonitor


rgr_Bewohner abwesend


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

DeeSPe

Zitat von: sxx128 am 07 Dezember 2022, 17:30:55


rgr_Bewohner:state:.* {
if (Value("rgr_Bewohner") eq "abwesend") {
fhem("set heizregler_wand_Climate controlMode night");
}
else {
fhem("set heizregler_wand_Climate controlMode auto");
}
}


Mit ein klein Wenig mehr Logik ist das Problem doch ganz einfach zu lösen.
Hier mein Vorschlag dazu:

defmod n_rgr_Bewohner_presence notify rgr_Bewohner:presence:.* {\
  if ($EVTPART1 eq 'absent') {\
    fhem('defmod atTmp_heizregler_wand_Climate_night at +01:00:00 { fhem("set heizregler_wand_Climate:FILTER=controlMode!=night controlMode night") if (ReadingsVal("rgr_Bewohner","presence","") eq "absent")}');;\
  }\
  else {\
    fhem('set heizregler_wand_Climate:FILTER=controlMode!=auto controlMode auto');;\
  }\
}


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

sxx128

..hab ich dann nicht wieder das Problem das wenn ich innerhalb der Stunde zurückkomme der Timer weiter läuft ?
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

DeeSPe

Zitat von: sxx128 am 10 Dezember 2022, 01:25:08
..hab ich dann nicht wieder das Problem das wenn ich innerhalb der Stunde zurückkomme der Timer weiter läuft ?

Ja, er läuft weiter! Ist aber kein Problem da im Timer ja noch einmal abgefragt wird ob wirklich die Bewohner abwesend sind.
Und falls man wirklich noch einmal kurz wiederkommt und dann wieder geht, wird der Timer wieder neu gestellt.

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

sxx128

#37
...aber er wird nicht abgebrochen richtig ...falls man nur innerhalb der Stunde wiederkommt .richtig ? Dein Vorschlag funktioniert ich habe ihn nur ein wenig angepasst ..Danke dafür schonmal :-)
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

DeeSPe

Zitat von: sxx128 am 10 Dezember 2022, 01:35:46
...aber er wird nicht abgebrochen richtig ...falls man nur innerhalb der Stunde wiederkommt .richtig ?

Er muss auch nicht abgebrochen werden!
Der set Befehl wird nach der Stunde nur ausgeführt wenn die Bewohner auch wirklich abwesend sind.
Sonst läuft das "at" einfach ohne etwas auszuführen ab.

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

sxx128

#39
..ah jetzt verstanden ..sorry... 

das hier


rgr_Bewohner:presence:.*


verstehe ich auch nicht ganz. Ich hätte da jetzt so was erwartet wie z.B.


rgr_Bewohner eq "abwesend"


was macht das


:presence


da?

Werden dadurch die Events von rgr_bewohner und presence abgeprüft ?

Das ist meine abgeänderte Version:


rgr_Bewohner:presence:.* {
  if ($EVTPART1 eq 'abwesend') {
    fhem('defmod atTmp_heizregler_wand_Climate_night at +01:00:00 { fhem("set heizregler_wand_Climate:FILTER=controlMode!=night controlMode night") if (ReadingsVal("rgr_Bewohner","presence","") eq "abwesend")}');;
  }
  else {
    fhem('set heizregler_wand_Climate:FILTER=controlMode!=auto controlMode auto');;
  }
}



die jetzt offensichtlich funktioniert...



rgr_Bewohner:.* {
  if ($EVTPART1 eq 'abwesend') {
    fhem('defmod atTmp_heizregler_wand_Climate_night at +01:00:00 { fhem("set heizregler_wand_Climate:FILTER=controlMode!=night controlMode night") if (ReadingsVal("rgr_Bewohner","") eq "abwesend")}');;
  }
  else {
    fhem('set heizregler_wand_Climate:FILTER=controlMode!=auto controlMode auto');;
  }
}





müsste ja dann auch gehen oder ?
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

DeeSPe

Das kann natürlich sein dass das bei dir auf deutsch ist das Reading, finde ich irgendwie gruselig.
Bei mir sind die RESIDENTs auf englisch und dort kommen halt diese Events.

Schön wenn es jetzt für dich funktioniert.

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

sxx128

..ja vielen Dank für die Hilfe ..

das müsste dann auch gehen oder ?



rgr_Bewohner:.* {
  if ($EVTPART1 eq 'abwesend') {
    fhem('defmod atTmp_heizregler_wand_Climate_night at +01:00:00 { fhem("set heizregler_wand_Climate:FILTER=controlMode!=night controlMode night") if (ReadingsVal("rgr_Bewohner","") eq "abwesend")}');;
  }
  else {
    fhem('set heizregler_wand_Climate:FILTER=controlMode!=auto controlMode auto');;
  }
}


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

DeeSPe

Zitat von: sxx128 am 10 Dezember 2022, 01:56:17
..ja vielen Dank für die Hilfe ..

das müsste dann auch gehen oder ?

Gerne!

Bloß nicht!
Damit reagierst du im notify auf alle Events von rgr_Bewohner.
Ich würde das bei "rgr_Bewohner:presence:.*" belassen.

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

frank

vielleicht habe ich gestern beim überfliegen von residents etwas falsch verstanden. aber kommt nicht nach 36 std der status "gone" und macht die heizung wieder an?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

CoolTux

Zitat von: CoolTux am 08 Dezember 2022, 12:46:22

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

Notify ist einfach nicht das geeignete Werkzeug
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