FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: davidson am 21 Februar 2018, 22:12:40

Titel: DOIF GPIO Abfrage
Beitrag von: davidson am 21 Februar 2018, 22:12:40
Hallo,

ich habe für euch wahrscheinlich eine leichte Frage. Ich möchte, wenn ein Signal anliegt ein Licht anschalten, und wenn es nicht mehr vorhanden ist ausschalten.

Habe folgen Code.

([Bewegungsmelder_Terrasse:"on"]) (set Licht_Terrasse on) DOELSE (set Licht_Terrasse off)

Leider funktioniert es nicht und ich bekomme folgende Fehlermeldung:

timer_01_c01
error: Wrong timespec Bewegungsmelder_Terrasseeq"on": either HH:MM:SS or {perlcode}
2018-02-21 22:02:00

Wenn ich cmd_1 oder 2 händisch ausführe, funktioniert es.

Bitte helft mir weiter.
Titel: Antw:DOIF GPIO Abfrage
Beitrag von: Phill am 21 Februar 2018, 22:16:02
Die Syntax der Bedingung ist anders. Das musst du dir nochmal anschauen.


([Bewegungsmelder_Terrasse] eq "on") (set Licht_Terrasse on) DOELSE (set Licht_Terrasse off)

Bin aber jetzt nicht der DOIF Experte, denn eigentlich sehe ich gerade das deine Syntax ja auch so in der Commandref steht...
Titel: Antw:DOIF GPIO Abfrage
Beitrag von: davidson am 21 Februar 2018, 22:16:55
Danke für die schnelle Hilfe, habe es eben gesehen:-(

([Bewegungsmelder_Terrasse:state] eq "on") (set Licht_Terrasse on) DOELSE (set Licht_Terrasse off)
Titel: Antw:DOIF GPIO Abfrage
Beitrag von: Frank_Huber am 21 Februar 2018, 22:28:06
Du musst unterscheiden zwischen Event und Zustands-Steuerung.

Dein ursprünglicher DOIF ging auf das Event, also exalt den Moment wo  "on" kam. Und das wenn ich es richtig sehe auch noch in falschem Syntax.

Der Vorschlag von Phil ist korrekter Weise auf den Zustand ausgelegt. Also solange "on" ansteht ist er aktiv.

Mit dem Handy online, daher kurz gefasst...
Titel: Antw:DOIF GPIO Abfrage
Beitrag von: NewRasPi am 22 Februar 2018, 09:16:30
Hallo davidson
So als Anfänger würd ich das Problem sehen: "mach das Licht an und sofort - mach das Licht aus"
Bevor das Licht ausgeschaltet wird sollte eventuell ein Attribut "wait 0,20" (Dauer in Sekunden) etc. stehen.
Dann bemerkt man vielleicht auch das Dein Licht an ist. 
Schöne Grüße und viel Erfolg

Geändert in wait 0,20 damit es sofort an, aber verzögert ausgeschaltet wird
Titel: Antw:DOIF GPIO Abfrage
Beitrag von: Damian am 22 Februar 2018, 09:22:07
Nur mal zum Verständnis.

Man kann beim DOIF genauso gut auf Ereignisse triggern, nichts anderes macht auch ein Notify.

Hier also:

([Bewegungsmelder_Terrasse:"on"]) (set Licht_Terrasse on) DOELSEIF ([Bewegungsmelder_Terrasse:"off"]) (set Licht_Terrasse off)

Die vorgeschlagene Zustandsabfrage funktioniert natürlich genauso gut. In beiden Fällen wird allerdings vorausgesetzt, dass der Bewegungsmelder seinen Zustand per Event auf off ändert.