Twilight Garagenlicht Torauf

Begonnen von DJ-Dan, 10 Februar 2016, 14:48:15

Vorheriges Thema - Nächstes Thema

DJ-Dan

Hallo zusammen,

ich sitze jetzt schon längere Zeit an meiner Garagentorsteuerung.

Folgendes habe ich vor.
Wenn das Garagentor aufgeht. (Relais vom Pi) Und es nun draußen hell ist passiert mit der Beleuchtung in den Garage nichts.
Wenn nun das Garagentor aufgedrückt wird und draußen ist es dunkel soll gleichzeitig über ein weiteres Relais das Garagenlicht eingeschaltet werden.

Ich bekomme es nicht hin, dass mein zweites Relais angeschaltet wird.

Kann mir hierbei jemand helfen?

Grüße und Danke
DJ-Dan

Ellert

Wie sieht Dein bisheriger Ansatz aus?

DJ-Dan

Folgendes habe ich programmiert.

Der Taster:
define GPIO25 RPI_GPIO 25
attr GPIO25 active_low no
attr GPIO25 alias Schalter_Auf/Zu
attr GPIO25 direction input
attr GPIO25 poll_interval 0.05

Relais 1 (Tormotor):
define GPIO17 RPI_GPIO 17
attr GPIO17 active_low yes
attr GPIO17 alias Torsteuerung
attr GPIO17 direction output
attr GPIO17 poll_interval 5

Relais 2 (Licht):
define GPIO22 RPI_GPIO 22
attr GPIO22 active_low yes
attr GPIO22 alias Relais 3
attr GPIO22 direction output
attr GPIO22 poll_interval 5

Twilight:
define Licht Twilight 51.268459 6.962956

Notify:
define Tor_AufZu notify GPIO25:on \
set GPIO17 on-for-timer 0.5

define Garagenlicht_AnAus notify GPIO2:on \
set GPIO27 on-for-timer 1

At-Befehl:
define Licht_An at *{sunset(0)} set GPIO22 on

Der At funktioniert auch. Aber er soll halt nur dann angehen wenn der Taster GPIO25 gedrückt wird und es halt draußen dunkel ist.

Ellert

Mit at und notify kenn ich mich nicht so gut aus. Ich nutze lieber DOIF, das ist recht kompakt, s. http://fhem.de/commandref_DE.html#DOIF

Damit würde es etwa so gehen:
([GPIO25] eq "on" and [?{sunset(0)}-23:00]) (set GPIO22 on, set GPIO17 on-for-timer 0.5)
DOELSEIF ([GPIO25] eq "on") (set GPIO17 on-for-timer 0.5)

Bei gpio25=on und zwischen Sonenuntergang und 23:00 Uhr schaltet der 1. Befehlszweig
Bei gpio25=on und vor Sonnenuntergang schaltet der 2. Befehlszweig

Du musst noch das Attribut do always setzen.

Nicht getestet und ohne Syntaxprüfung

DJ-Dan

Viele Dank Ellert.

Ich hab das nun wie folgt eingebunden:
define DO_Licht_An DOIF ([GPIO25] eq "on" and [?{sunset(0)}]) (set GPIO26 toggle, set GPIO17 on-for-timer 0.5) DOELSEIF ([GPIO25] eq "on") (set GPIO17 on-for-timer 0.5)

GPIO25 ist mein Kontakt (Schalter)
GPIO26 das Relais was geschaltet werden soll
GPIO17 Das Relais für das Tor

Nur leider funktioniert da garnichts. Soeben war mal kurz das Relais GPIO 26 an aber da hab ich es dann nicht mehr aus bekommen habe den Pi neugestartet und jetzt geht nichts mehr. Es geht noch nicht mal das Tor Relais GPIO 17 an

Sorry ich bin da ziemlich unerfahren was das angeht!

Ellert

Warum hast Du die Zeitspanne "-23:00" herausgenommen?

DJ-Dan

Naja weil es um z.b. 1Uhr auch noch funktionieren soll. :)
Geht das nicht? ::)

Ellert

ZitatNur leider funktioniert da garnichts.
Die Antwort hast Du Dir schon selbst gegeben ;)

Siehe: http://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitintervallen

ZitatSorry ich bin da ziemlich unerfahren was das angeht!
Dein Vergleich kann nur am Zeitpunkt des Sonnenunterganges wahr werden. Du könntest in der Zeitspanne auch den Sonnenaufgang benutzen.



DJ-Dan

Danke Ellert

ich habe es jetzt so wie bei der Seite beschrieben einprogrammiert!

define DO_Licht_An DOIF ([GPIO25] eq "on" and [?{sunset(0,"-23:00")}]) (set GPIO26 on, set GPIO17 on-for-timer 0.5) DOELSEIF ([GPIO25] eq "on") (set GPIO17 on-for-timer 0.5)

Ellert

Falls es nicht klappen sollte, kannst Du es auch so machen, wie ich es vorgeschlagen hatte  ;)

DJ-Dan

Hey gerade getestet es funktioniert.

Vielen Dank Ellert