Hauptmenü

Problem mit notify

Begonnen von Intmic, 19 Dezember 2021, 13:46:44

Vorheriges Thema - Nächstes Thema

Intmic

Hallo zusammen,

ich habe folgendes Problem.

3 Xiaomi Fenstersensoren und 3 Spirit Heizungsthermostate in unterschiedlichen Räumen.
Angebunden über Zigbee Conbee2 auf einem Raspberry

Es soll in dem jeweiligen Raum das Thermostat auf 5°C gestellt werden sobald das Fenster geöffnet wird. Beim Schließen des Fensters dann wieder auf die gewünschte Raumtemperatur.

Dafür habe ich je Raum 2 Notify´s angelegt. Fensterauf und Fensterzu.

Funktioniert auch im Prinzip, aber egal welches Fenster ich öffne, es werden alle Thermostate runtergeregelt, beim schließen gehen dann alle wieder auf die jeweilige Wunschtemperatur.
Wie kann ich das entkoppeln?

Die Fenstersensoren sind alle eindeutig benannt und den Notify´s auch entsprechend zugeordnet, ebenso die Thermostate.

Was mir auffällt das in jedem Notify in der Raw Definition Triggered by, der zuletzt genutzt Fenster Sensor steht.

z.B. Bad_1OG


defmod Bad1OG_Fensterauf notify Bad_1OG_Fenster:state:.*|open set Bad_1OG_Hz heatsetpoint 5
attr Bad1OG_Fensterauf room Bad 1_OG

setstate Bad1OG_Fensterauf 2021-12-19 13:29:42
setstate Bad1OG_Fensterauf 2021-12-19 13:12:56 state active
setstate Bad1OG_Fensterauf 2021-12-19 13:29:42 triggeredByDev FensterKueche_1OG
setstate Bad1OG_Fensterauf 2021-12-19 13:29:42 triggeredByEvent open


Hier noch die dazugehörende DEF: Bad_1OG_Fenster:state:.*|open set Bad_1OG_Hz heatsetpoint 5

Und das Listing von dem Notify:

Internals:
   CFGFN     
   DEF        Bad_1OG_Fenster:state:.*|open set Bad_1OG_Hz heatsetpoint 5
   FUUID      61bf1daf-f33f-04b7-d06c-b55984d690cbafad
   NAME       Bad1OG_Fensterauf
   NR         189
   NTFY_ORDER 50-Bad1OG_Fensterauf
   REGEXP     Bad_1OG_Fenster:state:.*|open
   STATE      2021-12-19 13:29:42
   TRIGGERTIME 1639916982.52292
   TYPE       notify
   READINGS:
     2021-12-19 13:12:56   state           active
     2021-12-19 13:29:42   triggeredByDev  FensterKueche_1OG
     2021-12-19 13:29:42   triggeredByEvent open
Attributes:
   room       Bad 1_OG


Habt ihr den Effekt schon mal gehabt und wie kann ich das Lösen?

Viele Grüße


CoolTux

defmod Bad1OG_Fensterauf notify Bad_1OG_Fenster:.open

Deine Trigger RegEx ist nicht korrekt. So sollte es für das Badezimmerfenster aussehen denke ich mal.

Allerdings solltest Du darüber nachdenken das ganze zu verallgemeinern und dadurch ausbaufähiger zu machen. So könnte zum Beispiel ein einziges Notify ausreichen mit passender RegEx auf alle Kontakte zu reagieren. Im Notify selber kannst Du rausfinden zu welchen Raum der Fensterkontakt gehört und somit alle Thermostate im selben Raum runter regeln.
Natürlich wäre eine bessere Benamung angebracht.
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

Intmic

#2
Hallo CoolTux,

erstmal danke für die Rückmeldung.

Aber so ganz verstehe ich nicht was genau Du gemeint hast.

Internals:
   DEF        Bad_1OG_Fenster:.open set Bad_1OG_Hz heatsetpoint 5
   FUUID      61bf1daf-f33f-04b7-d06c-b55984d690cbafad
   NAME       Bad1OG_Fensterauf
   NOTIFYDEV  Bad_1OG_Fenster
   NR         40
   NTFY_ORDER 50-Bad1OG_Fensterauf
   REGEXP     Bad_1OG_Fenster:.open
   STATE      active
   TRIGGERTIME 1639921550.88546
   TYPE       notify
   READINGS:
     2021-12-19 14:46:51   state           active
     2021-12-19 14:45:50   triggeredByDev  Bad1OG_Fensterauf
     2021-12-19 14:45:50   triggeredByEvent addRegexpPart Bad1OG_Fensterauf addRegexpPart.*
Attributes:
   room       Bad 1_OG


So sieht das jetzt aus. Thermostat reagiert jetzt nicht mehr. Den Code von dir habe ich so eingesetzt.

Viele Grüße

CoolTux

Das verstehe ich jetzt nicht. Du hast dein gar nichts von meinem oben geschrieben  übernommen.
Ich hatte geschrieben

Bad1OG_Fensterauf notify Bad_1OG_Fenster:.open

Du hast

Bad1OG_Fensterzu

Wir reden aneinander vorbei.
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

Otto123

Dann nimm am Besten den Eventmonitor löse das Fenster aus und suche den Event auf den Du reagieren willst und modifiziere dein notify.
Hier steht wie es geht
https://wiki.fhem.de/wiki/Event_monitor
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

Intmic

#5
Hallo CoolTux,

ich habe die Zeile so direkt übernommen in die Commandline, Enter und gespeichert.

Internals:
   DEF        Bad_1OG_Fenster:.open set Bad_1OG_Hz heatsetpoint 5
   FUUID      61bf1daf-f33f-04b7-d06c-b55984d690cbafad
   NAME       Bad1OG_Fensterauf
   NOTIFYDEV  Bad_1OG_Fenster
   NR         40
   NTFY_ORDER 50-Bad1OG_Fensterauf
   REGEXP     Bad_1OG_Fenster:.open
   STATE      active
   TRIGGERTIME 1639921550.88546
   TYPE       notify
   READINGS:
     2021-12-19 15:31:04   state           active
     2021-12-19 14:45:50   triggeredByDev  Bad1OG_Fensterauf
     2021-12-19 14:45:50   triggeredByEvent addRegexpPart Bad1OG_Fensterauf addRegexpPart.*
Attributes:
   room       Bad 1_OG


Oder kann ich das irgendwie anders einstellen?

Viele Grüße


Intmic

Hallo Otto,

im Eventmonitor sieht das so aus:


2021-12-19 15:27:13 HUEDevice Bad_1OG_Fenster open
2021-12-19 15:27:41 HUEDevice Bad_1OG_Fenster closed


Im Prinzip das was ich erwartet habe.

Viele Grüße

CoolTux

Das geht so nicht.

Meine Empfehlung. Mache es wie Otto sagte. Am besten Du löschst Dein Notify zum öffnen der Fenster.

Dann Eventmonitor öffnen und das Fenster auf machen. Danach die Zeile markieren welche entstanden ist als du das Fenster geöffnet hast und create Notify anklicken. Siehe auch Ottos Link. Geht am einfachsten für Dich.
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

Otto123

Zitat von: Intmic am 19 Dezember 2021, 15:30:07
Hallo Otto,

im Eventmonitor sieht das so aus:


2021-12-19 15:27:13 HUEDevice Bad_1OG_Fenster open
2021-12-19 15:27:41 HUEDevice Bad_1OG_Fenster closed


Im Prinzip das was ich erwartet habe.

Viele Grüße
Na dann Zeile markieren und notify modifizieren! Ist das zu kompliziert beschrieben?
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

Intmic

Hallo zusammen,

über den Eventmonitor hat es dann einwandfrei funktioniert.
Vielen Dank für die sehr hilfreichen Antworten.

Die nächste Ausbaustufe ist dann das ganze noch mit einer Zeitsteuerung zu kombinieren, also heizen nur von bis zu einer bestimmten Uhrzeit. Sollte doch gehen?

Viele Grüße

CoolTux

Ja das geht. Dafür aber bitte einen neuen Thread aufmachen.


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