FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: holmexx am 07 Oktober 2023, 23:53:21

Titel: Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden
Beitrag von: holmexx am 07 Oktober 2023, 23:53:21
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
Titel: Aw: Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden
Beitrag von: Otto123 am 08 Oktober 2023, 14:09:37
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
Titel: Aw: Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden
Beitrag von: MadMax-FHEM am 08 Oktober 2023, 14:36:20
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
Titel: Aw: Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden
Beitrag von: holmexx am 08 Oktober 2023, 19:25:34
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
Titel: Aw: Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden
Beitrag von: holmexx am 08 Oktober 2023, 19:40:56
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€
Titel: Aw: Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden
Beitrag von: Otto123 am 08 Oktober 2023, 20:10:29
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")}
Titel: Aw: Fensterkontakt via virtuellem Gerät mit Homematic-Heizkörperthermostat verbinden
Beitrag von: holmexx am 09 Oktober 2023, 11:55:06
Danke Otto,

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

Gruß
Holger