Strom abhängig von Türöffnung schalten

Begonnen von Christian72D, 24 Oktober 2015, 18:23:07

Vorheriges Thema - Nächstes Thema

Christian72D

Ich steh gerade etwas auf dem Schlauch: ich würde gerne den Strom im Garten einschalten sobald ich die Gartentüre öffne.

Ich hatte gehofft/gedacht daß es SO gehen würde:

define Aussenstrom_Schalten DOIF ([K.Tuer:STATE] eq "on") (set Aussenstrom on) DOELSEIF ([K.Tuer:STATE] eq "off") (set Aussenstrom off)

Der Code scheint (von der Syntax her) richtig zu sein, aber es wird nichts geschaltet
K.Tuer ist der Drehgriffschalter und Aussenstrom ein Kanal vom 4fach Hutschienen Aktor.

Wo ist mein Fehler?

kumue

versuch es mal mit

define Aussenstrom_Schalten DOIF ([K.Tuer:state] eq "on") (set Aussenstrom on) DOELSEIF ([K.Tuer:state] eq "off") (set Aussenstrom off)

bzw.

define Aussenstrom_Schalten DOIF ([K.Tuer] eq "on") (set Aussenstrom on) DOELSEIF ([K.Tuer] eq "off") (set Aussenstrom off)

Amenophis86

Reagiert das Doif denn, wenn der Status der Tür sich ändert, dann liegt es ja klar am Kommando. Wenn nicht am Trigger.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Christian72D

Ich habe jetzt mal beide Varianten angelegt, beide reagieren wohl nicht.

Der Statur der Tür ändert sich aber wie gewünscht.

Woran liegts?

SvenJust

Das State des Sensors heißt "open" bzw "closed" und nicht on oder off.  Also im DOIF entsprechend ändern...

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Christian72D

#5
Na super, auf alles geachtet, aber nicht DARAUF... JETZT gehts natürlich.

DANKE!

Wenn da jetzt noch eine Gartentür dazu kommt muß die Syntax dann wie folgt aussehen?

define Aussenstrom_Schalten DOIF ([K.Tuer] eq "open" OR [G.Tuer] eq "open") (set Aussenstrom on) DOELSEIF ([K.Tuer] eq "closed" AND [G.Tuer] eq "closed") (set Aussenstrom off)

Code editiert damit es hier richtig steht!

Amenophis86

immer noch open, aber sonst ja.

So würdest du anschalten, sobald eins auf ist und ausschalten, wenn beide zu sind.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Christian72D

So, der nächste Kontakt ist angekommen, leider ist wohl ein Fehler in der Syntax:

define Aussenstrom_Schalten DOIF ([K.Tuer] eq "open" OR [Ke.Tuer] eq "open") (set Aussenstrom on) DOELSEIF ([K.Tuer] eq "closed" AND [Ke.Tuer] eq "closed") (set Aussenstrom off)

Als error reading bekomme ich:
perl error in condition: InternalDoIf('K.Tuer','STATE','') eq "open" OR InternalDoIf('Ke.Tuer','STATE','') eq "open": syntax error at (eval 3828) line 1, near ""open" OR "

Amenophis86

das mag jetzt echt bescheuert klingen, aber hast du das or mal klein geschrieben? Weiß nicht, ob es daran liegt, aber sonst sehe ich aktuell keinen Fehler.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Damian

Zitat von: Christian72D am 28 Oktober 2015, 17:31:22
So, der nächste Kontakt ist angekommen, leider ist wohl ein Fehler in der Syntax:

define Aussenstrom_Schalten DOIF ([K.Tuer] eq "open" OR [Ke.Tuer] eq "open") (set Aussenstrom on) DOELSEIF ([K.Tuer] eq "closed" AND [Ke.Tuer] eq "closed") (set Aussenstrom off)

Als error reading bekomme ich:
perl error in condition: InternalDoIf('K.Tuer','STATE','') eq "open" OR InternalDoIf('Ke.Tuer','STATE','') eq "open": syntax error at (eval 3828) line 1, near ""open" OR "

Operatoren wie or oder and werden in Perl klein geschrieben und die Bedingung in DOIF ist Perl.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Christian72D

Ah OK... ich hatte es nur der Übersichtlichkeit GROSS geschrieben, danke, jetzt läuft alles.