FHEM Forum

FHEM => Automatisierung => Thema gestartet von: @MosWare am 16 August 2014, 11:57:08

Titel: IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: @MosWare am 16 August 2014, 11:57:08
Hallo zusammen,

Erst einmal vielen Dank an Domian für das IF und DOIF Modul. Die machen das Konfigurieren deutlich einfacher und lesbarer.
Zuvor habe ich mit einem MAX Fensterkontakt eine Steckdose geschaltet:

define MAX_FK_Noti_on notify MAX_FK:opened set Abluft on
define MAX_FK_Noti_off notify MAX_FK:closed set Abluft off

Jetzt möchte ich mit DOIF logische Verknüpfungen einbinden und habe erst mal zum Testen folgendes geschrieben:
define DI_Abluft DOIF ([Handsender] eq "on") (set Abluft on) DOELSE (set Abluft off)Das Funktioniert auch,
aber wenn ich es mit dem MAX Fensterkontakt versuche, dann funktioniert es wie folgt nicht.

define DI_Abluft DOIF ([MAX_FK] eq "opened") (set Abluft on) DOELSE (set Abluft off)
Was mache ich mit ([MAX_FK] eq "opened") falsch?

Grüße
@MosWare

Titel: Antw:IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: Newbie am 16 August 2014, 15:05:40
Hallo,

sollte doch sicher "open" heißen?

vg
Jens
Titel: Antw:IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: @MosWare am 16 August 2014, 15:38:26
Hallo,

ne, leider nicht.

Es funktioniert mit opened, wenn ich es so mach:

define MAX_FK_Noti_on notify MAX_FK:opened set Abluft on
define MAX_FK_Noti_off notify MAX_FK:closed set Abluft off

Ist schon merkürdig wenn man so ne Kleinikkeit nicht hinbekommt, oder?

Gruß
@MosWare
Titel: Antw:IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: Newbie am 16 August 2014, 18:10:45
Hallo nochmal,

was steht denn in den Readings von deinem DI_Abluft DOIF beim MAX-Fensterkontakt und bei cmd_nr? Bei meinem Homematic-Fensterkontakt muß ich nach einem Systemneustart auch erst einmal das Fenster öffnen damit das DOIF-Modul überhaupt weis in welcher Stellung das Fenster steht.
Titel: Antw:IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: @MosWare am 16 August 2014, 19:21:43
Juhu, Du hast mich drauf gebracht!

In den Readings stand "WinOpened". Die Ursache habe ich hier gefunden und

attr MAX_FK eventMap closed:WinClosed opened:WinOpenedin
attr MAX_FK devStateIcon closed:WinClosed opened:WinOpenedgeändert.

Jetzt geht es endlich und in den Readings steht jetzt "opened" und nicht der Icon-Dateiname "WinOpened"
Danke für den Tipp mit den Readings!

Warum das so ein Einfluss mit eventMap und devStateIcon hat, habe ich noch nicht begriffen.


Gruß
@MosWare
Titel: Antw:IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: Newbie am 17 August 2014, 00:05:06
 Durch dein eventMap opened:WinOpened hätte  dein DOIF

define DI_Abluft DOIF ([MAX_FK] eq "opened") (set Abluft on) DOELSE (set Abluft off)
in

define DI_Abluft DOIF ([MAX_FK] eq "WinOpened") (set Abluft on) DOELSE (set Abluft off)
geändert werden müssen, um zu funktionieren. Da du jetzt dein eventMap aber gelöscht hast, funtioniert jetzt natürlich auch dein DOIF.

attr MAX_FK devStateIcon closed:WinClosed opened:WinOpened heißt doch eigentlich nur, das bei closed ein Icon mit dem Dateinamen WinClosed verwendet werden soll usw.

Titel: Antw:IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: Brockmann am 17 August 2014, 09:08:22
Und das ursprüngliche notify hat ganz sicher mit opened funktioniert, obwohl
attr MAX_FK eventMap closed:WinClosed opened:WinOpenedgesetzt war?
Titel: Antw:IF / DOIF funktioniert nicht mit MAX Fensterkontakt. Was mache ich falsch?
Beitrag von: @MosWare am 17 August 2014, 20:35:39
Ja, habe es noch mal rückgängig gemach und kurz getestet.

Es funktioniert(e) mit:
attr MAX_FK eventMap closed:WinClosed opened:WinOpened
define MAX_FK_Noti_on notify MAX_FK:opened set Abluft on
define MAX_FK_Noti_off notify MAX_FK:closed set Abluft off

Jetzt läuft es wieder mit:
attr MAX_FK devStateIcon closed:WinClosed opened:WinOpened
define DI_Abluft DOIF ([MAX_FK] eq "opened" && [Handsender] eq "on") (set Abluft on) DOELSE (set Abluft off)

Gefällt mir so auch viel besser als das ständige Definieren von notifys.
Ich möchte ja einfach und übersichtlich logisch verknüpfen.

Danke an Damian für das IF/DOIF

Beste Grüße
@MosWare