Hallo,
ich habe meinen ersten DOIF Befehl gebaut. Eigentlich war ich mir ziemlich sicher, alles richtig gemacht zu haben. Aber es funktioniert nicht wie ich will. Vielleicht liegt es nicht am Befehl, sondern an anderen Zusammenhängen ?
Ich habe folgenden Befehl gebaut:
define hk_ermittlung DOIF ([wetterstation_helligkeit] < 40) (set lampe_wanne on) DOELSE (set lampe_wanne off)
Ich habe eine KNX Wetterstation auf dem Dach, die mir die Helligkeit meldet. Wenn der Wert unter 40 ist, möchte ich das die lampe_wanne an geht.
Der Befehl müsste doch richtig sein, oder ?
Nun kommt noch die Besonderheit, warum ich sowas überhaupt brauche, bzw. baue. Die "lampe_wanne" schaltet nur wenn Bewegung im Bad registriert wird. Wenn ich aber tagsüber im Bad bin, brauche ich aber kein Licht. Die Lampe soll also auf Bewegung reagieren ABER erst schalten, wenn es draußen dunkel ist.
Hab ich da einen Fehler in meiner Vorgehensweise ?
Durch eine "structure" hab ich meine 2 Bewegungsmelder als Gruppe verbunden. Wenn eine der beiden Bewegungsmelder, Bewegung meldet, schaltet die Lampe_wanne auch wunderbar. Gehen beide Bewegungsmelder wieder aus, schaltet auch sofort die Lampe aus. Das ist durch das notify gelöst. Funktioniert alles bestens. Jetzt will ich halt nur noch die Helligkeit mit ins Spiel bringen.
Als Anlage mal ein paar Screenshots, wie das bei mir aussieht.
Oder darf das nicht alleine definiert werden, sondern muss irgendwie zusammen sein ?
Würde mich freuen, wenn ein Profi mal drüber schauen könnte und mir sagen kann, wo mein Fehler ist ?
Grüße,
Visionsurfer
Zitat von: visionsurfer am 23 Oktober 2016, 17:25:07
Hallo,
ich habe meinen ersten DOIF Befehl gebaut. Eigentlich war ich mir ziemlich sicher, alles richtig gemacht zu haben. Aber es funktioniert nicht wie ich will. Vielleicht liegt es nicht am Befehl, sondern an anderen Zusammenhängen ?
Ich habe folgenden Befehl gebaut:
define hk_ermittlung DOIF ([wetterstation_helligkeit] < 40) (set lampe_wanne on) DOELSE (set lampe_wanne off)
Ich habe eine KNX Wetterstation auf dem Dach, die mir die Helligkeit meldet. Wenn der Wert unter 40 ist, möchte ich das die lampe_wanne an geht.
Der Befehl müsste doch richtig sein, oder ?
Nun kommt noch die Besonderheit, warum ich sowas überhaupt brauche, bzw. baue. Die "lampe_wanne" schaltet nur wenn Bewegung im Bad registriert wird. Wenn ich aber tagsüber im Bad bin, brauche ich aber kein Licht. Die Lampe soll also auf Bewegung reagieren ABER erst schalten, wenn es draußen dunkel ist.
Hab ich da einen Fehler in meiner Vorgehensweise ?
Durch eine "structure" hab ich meine 2 Bewegungsmelder als Gruppe verbunden. Wenn eine der beiden Bewegungsmelder, Bewegung meldet, schaltet die Lampe_wanne auch wunderbar. Gehen beide Bewegungsmelder wieder aus, schaltet auch sofort die Lampe aus. Das ist durch das notify gelöst. Funktioniert alles bestens. Jetzt will ich halt nur noch die Helligkeit mit ins Spiel bringen.
Als Anlage mal ein paar Screenshots, wie das bei mir aussieht.
Oder darf das nicht alleine definiert werden, sondern muss irgendwie zusammen sein ?
Würde mich freuen, wenn ein Profi mal drüber schauen könnte und mir sagen kann, wo mein Fehler ist ?
Grüße,
Visionsurfer
define hk_ermittlung DOIF ([wetterstation_helligkeit] < 40 and [hb.praesenz.all] eq "on") (set lampe_wanne on) DOELSE (set lampe_wanne off)
Das notify brauchst du dann nicht mehr.
Gruß
Damian
Hi,
tausend Dank.
Funktioniert perfekt. Somit kann ich ja dann das Teil auch noch weiter ausbauen, richtig ?
Ich will dann noch eine Abfrage einbauen nach dem Motto "wenn Licht unter 40 ist oder Rolladen unten". Müsste ja eigentlich kein Problem sein.
Interessant ist, das sowas dann das komplette notify ersetzen kann. War mir so auch nicht bewusst. Ich hatte eher gedachte das die Befehle von oben nach unten abgearbeitet werden und dann FHEM schaut, was gerade zutreffend ist.
Grüße,
Visionsurfer
Zitat von: visionsurfer am 23 Oktober 2016, 18:31:43
Hi,
tausend Dank.
Funktioniert perfekt. Somit kann ich ja dann das Teil auch noch weiter ausbauen, richtig ?
Ich will dann noch eine Abfrage einbauen nach dem Motto "wenn Licht unter 40 ist oder Rolladen unten". Müsste ja eigentlich kein Problem sein.
Interessant ist, das sowas dann das komplette notify ersetzen kann. War mir so auch nicht bewusst. Ich hatte eher gedachte das die Befehle von oben nach unten abgearbeitet werden und dann FHEM schaut, was gerade zutreffend ist.
Grüße,
Visionsurfer
Wenn du noch mehr mit DOIF machen willst, solltest du dir mal eine halbe Stunde Zeit nehmen und die Commandef zu DOIF durchlesen: http://fhem.de/commandref_DE.html#DOIF
Das Modul ersetzt in erster Linie notify und at in Kombination mit if-Abfragen in Perl.
Hi,
hab ich natürlich schon durchgelesen. Daher hatte ich ja den Einstieg, bzw. meinen ersten Befehl gebaut. Anhand der Beispiele die dort waren.
Trotzdem sehr umfrangreicher Wiki und auch dem Einsteiger PDF, muss man aber auch sehr viel die Zusammenhänge verstehen. Oder halt nach dem Motto "was nimmt man wann" usw.
Der Befehl von dir funktioniert nun super. Werde die Tage mal probieren das um die Jalousien zu erweitern.
Grüße,
Visionsurfer