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 $EVENT
Das 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
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
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
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
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€
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")}
Danke Otto,
hab' auch extra ganz vorsichtig gemacht ;) und funktioniert - also ich meine nicht die Modulfummelei ;D.
Gruß
Holger