Hallo,
ich möchte eine Zeitsteuerung mit einem dummy RolloAutomatik kurzzeitig deaktivieren, aber danach wieder den Befehl starten.
Sprich: wenn ich um 15h die RolloAutomatik ausschalte und um 17h wieder an, dann soll der Befehl von 16h ausgeführt werden
define Rollladen_runter_AZ at *16:00 { if (Value("RolloAutomatik") eq "An") { fhem("set Rollo_AZ down");; } }
Wie mache ich das?
Gruß Otto
Gar nicht.
Hi,
Und wie macht man sowas?
du kannst ein at mit at_Exec( $defs{<at device>} );
von hand anstossen.
dir zu merken das du noch etwas nachholen musst musst du selber implementieren.
gruss
andre
Das geht. Aber richtig einfach ist das nicht. Obwohl... wenn ich so drüber nachdenke, mit 1-2 Abstrichen gehts eigentlich easy.
Grob so:
Dummy definieren, der z.b. "RolladenBuffer" heisst.
Ich gehe davon aus, dass "RolloAutomatik" irgendein Webschalter ist, der "An" und "Aus" als Zustände hat. Dann änderst du deine define(s) wie folgt.
define Rollladen_runter_AZ at *16:00 { if (Value("RolloAutomatik") eq "An") { fhem("set Rollo_AZ down ;; set RolladenBuffer Kein_Kommando") } else { fhem("set RolladenBuffer runterfahren") }}
Und dann noch:
define act_on_RolloAutomatik_an notify RolloAutomatik:An { if (Value("RolladenBuffer") eq "runterfahren") { fhem("set Rollo_AZ down ;; set RolladenBuffer Kein_Kommando") }}
Aus dem Kopf und ungetestet. Es gibt da einige" Wenn und Abers", aber im Prinzip müsste es so gehen. Muss man bei mehreren Rollos dann entsprechend anpassen und erweitern.
Hallo Zrrronggg!
danke, hat geklappt
Gruß Otto
:-)