FHEM Forum

FHEM - Hausautomations-Systeme => InterTechno => Thema gestartet von: bajogger am 28 Juli 2013, 13:36:04

Titel: bekomme if Bedingung nicht hin
Beitrag von: bajogger am 28 Juli 2013, 13:36:04
Hallo
starte meine Rolladen abhängig vom Sonnenuntergang
Beispiel:
define at_SonnenUnt11 at *{sunset(-3400)} set RollAll2 on

Problem:
Sitze ich abends auf der Terasse geht plötzlich der Rolladen runter
Lösung:
Möchte mit einem einfachen Schalter diesen Automatismus ausser Betrieb setzen.
Schalter ist definiert und heißt Rolldeakt

Ist der Schalter on soll der Automatismus ausgeschaltet sein. Bei off normal laufen
Habe das so gemacht:
define at_SonnenUnt11 at *{sunset(-3400)} set RollAll2 on if RollDeakt = off

Was mache ich falsch
Titel: Aw: bekomme if Bedingung nicht hin
Beitrag von: Dietmar63 am 28 Juli 2013, 15:02:04
so könnte es besser funktionieren. Mit der zweiten Version kannst du sofort(nach 5 Sekunden) testen, ob der at-Code funktioniert:

define at_SonnenUnt11 at *{sunset(-3400)} { fhem ("set RollAll2 on") if (ReadingsVal("RollDeakt","state","NF") eq "off")}
define at_SonnenUnt11 at +00:00:05        { fhem ("set RollAll2 on") if (ReadingsVal("RollDeakt","state","NF") eq "off")}
Titel: Aw: bekomme if Bedingung nicht hin
Beitrag von: bajogger am 28 Juli 2013, 16:06:43
Danke funktioniert.
Ist halt doch nicht ganz so easy
Titel: Antw:bekomme if Bedingung nicht hin
Beitrag von: mfeske am 23 Februar 2015, 13:39:57
Hallo Dietmar,

ich wollte das auf mein Projekt übertragen, aber das scheint nicht so einfach zu sein :-(
Ich habe bisher:
define Tageslicht dummy
attr Tageslicht room Wetter
define Tageslicht_hell at *{sunset(-3600)} set Tageslicht hell
attr Tageslicht_hell room Wetter
define Tageslicht_dunkel at *{sunrise(+1800)} set Tageslicht dunkel
attr Tageslicht_dunkel room Wetter
define Rolladen01_zeit_down at *{sunset(-60)} { fhem ("set Rolladen01 on")
attr Rolladen01_zeit_down room Wohnzimmer
define Rolladen01_zeit_up at *{sunrise(+60)} { fhem ("set Rolladen01 off")
attr Rolladen01_zeit_up room Wohnzimmer


Wenn ich jetzt Deinen fünf Minuten Test übertrage und define Rolladen01_zeit_test at +00:00:05 { fhem ("set Rolladen01 on") if (ReadingsVal("Gartentuer","state","offen") eq "zu")} Verwende wird mir angezeigt, das ich erst  Rolladen01_zeit_test  definieren soll.

Ich habe einen dummy Gartentuer mit state offen / zu. Wenn der state offen ist soll in dem Fall Rolladen02 nicht runterfahren, erst wenn die Gartentuer geschlossen wird.

Gruß
Micha
Titel: Antw:bekomme if Bedingung nicht hin
Beitrag von: Bennemannc am 23 Februar 2015, 15:29:16
Hallo,

mal so am Rande - ich habe das mit "if" anders gelernt. Normalerweise kommt erst die Abfrage und dann der Befehl. Also "at xxx if (Bedingung) (set ...). Normalerweise kennt if ja auch else - also wenn die Bedingung nicht zutrifft mache etwas anderes (z.B. Licht auf der Terasse an).

Gruß Christoph