Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden

Begonnen von holmexx, 07 Oktober 2023, 23:53:21

Vorheriges Thema - Nächstes Thema

holmexx

Moin,

ich habe einen (alten) MAX! WindowSensor, der einwandfrei in FHEM eingebunden ist. Die Statusänderungen sollen mit einem Notify an ein virtuelles CUL-HM gesendet werden, welches wiederum mit dem Channel xxx-WindowRec des Thermostats gepeert ist. Der ganze Unterbau funktioniert soweit.
define notf_SchlafzFensterkontakt notify feko_Schlafzimmer:opened|feko_Schlafzimmer:closed set vt_SchlafzFensterkontakt postEvent $EVENTDas funktioniert. Ich kann in den Log-Dateien die Statusänderungen sehen:
2023-10-07_22:50:31 feko_Schlafzimmer opened
...
2023-10-07_23:13:53 feko_Schlafzimmer closed
Das Notify-Element funktioniert aber nur für "closed"
2023.10.07 23:13:53 3: CUL_HM set vt_SchlafzFensterkontakt postEvent closed
Das Thermostat reagiert wie gewünscht (die Vorgabetemperatur wird wieder hoch gesetzt).

Das Gegenstück funktioniert nicht:
2023.10.07 22:50:31 3: CUL_HM set vt_SchlafzFensterkontakt postEvent opened
2023.10.07 22:50:31 3: notf_SchlafzFensterkontakt return value: cond:opened not allowed. choose one of:[0..255],Smoke Alarm,added,addedStrong,closed,closed,damp,damp,dry,dry,dry,dry,no alarm,normal,off,on,open,open,quiet,rain,rain,storm,tilted,tone off,wet,wet

Wenn ich nun ganz oben "feko_Schlafzimmer:opened" durch "feko_Schlafzimmer:open" ersetze, wird das Notify gar nicht mehr ausgelöst (für 'open'). Allerdings reagiert der Thermostat (via Channel xxx-WindowRec) auch nur auf ein Event "open" und nicht auf "opened". Ich kann das "open"-Event manuell im virtuellen Gerät erfolgreich auslösen. Hier komme ich nun nicht mehr weiter.

Gruß
Holger
If you can't fix it with a hammer it might be an electrical problem

Otto123

Hallo Holger,

Zitat von: holmexx am 07 Oktober 2023, 23:53:21Ich kann das "open"-Event manuell im virtuellen Gerät erfolgreich auslösen

Vermutung: der Event open kommt so nicht vor (als state Event - also ohne Readingname). Schau bitte im Eventmonitor nach.

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

MadMax-FHEM

Ich denke eher:

MAX! (feko_Schlafzimmer?) "sendet" opened darauf würde dann das notify reagieren (tut es auch) aber der Homematic Contact "braucht" open.
Mit dem "einfachen" notify, also $EVENT weiterzugeben funktioniert dann nicht, da ja opened weitergegeben wird aber open "gebraucht" wird.
Zumindest "lese" ich das.
Und ich hab bei Homematic mal geschaut -> open
(MAX! hab ich [leider] nicht mehr, um zu schauen was dort "generiert" wird)

Bei closed passt es, MAX! "liefert" closed und Homematic "braucht" closed (hab grad nachgesehen: closed)...

Evtl. eventMap beim feko_Schlafzimmer?

opened:open

https://wiki.fhem.de/wiki/EventMap
EDIT: dann nat. auch das notify anpassen auf open (bzw. eben: Eventmonitor mal prüfen)...

Klarer wird aber das ganze, wenn man (wie von Otto geschrieben) mal Auszüge aus dem Eventmonitor sieht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

holmexx

Hallo Otto und MadMax-FHEM,

ihr habt beide meine knappen Ausführungen völlig richtig interpretiert. MAX! (feko_Schlafzimmer!) "liefert" opened/closed und das RT möchte aber open und closed haben. Mit Eventmapping betrete ich völliges Neuland. Ich werde mich da mal einlesen und ggf. nochmal melden.

Im Event-Monitor hatte ich das schon gesehen, aber mangels tieferen Wissens (siehe Eventmapping) ...
2023-10-08 19:21:23 MAX feko_Schlafzimmer opened
...
2023-10-08 19:21:33 MAX feko_Schlafzimmer closed

Danke euch beiden
Holger
If you can't fix it with a hammer it might be an electrical problem

holmexx

Ich nochmal  ;) ,

der Text opened kommt doch sicherlich irgendwo aus dem Perl-Code des entsprechenden Moduls. Ketzerische Frage: könnte ich ich nicht direkt im Modul opened anpassen?

Gruß
Holger

P.S.: ich habe noch 5 Stück von diesen MAX! WindowSensors. Ich würde die ungern entsorgen, u.a. wegen: das 3-er Pack, jetzt optisch, kostet schlappe 120€
If you can't fix it with a hammer it might be an electrical problem

Otto123

Zitat von: holmexx am 08 Oktober 2023, 19:40:56könnte ich ich nicht direkt im Modul opened anpassen?
Die Frage kannst nur Du beantworten. :) Mein Rat: lass es.

Ich selbst bin immer sehr vorsichtig mit Eventmapping, deshalb der Vorschlag für den Ausführungsteil:

set vt_SchlafzFensterkontakt postEvent {("$EVENT" eq "opened"?"open":"$EVENT")}
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

holmexx

Danke Otto,

hab' auch extra ganz vorsichtig gemacht ;) und funktioniert - also ich meine nicht die Modulfummelei ;D.

Gruß
Holger
If you can't fix it with a hammer it might be an electrical problem