Hallo zusammen,
ich will meine Rollläden zu bestimmten Zeitpunkten +/- X Minuten hoch und runter fahren lassen. Die Abweichung per Zufallswert soll dabei eine normale Anwesenheit simulieren. Generell will ich das Rad nicht neu erfinden und habe folgenden Artikel gegooglet:
https://www.computerhilfen.de/info/smart-home-programmieren-zufallszahlen-fhem.html#newshaupt
Der hier aufgeführt Code:
define morgens_Schlafzimmer_Rollaeden at *08:00:00
{\ if (!$we) {\ my $Zufallszahl = int(rand(15) +1 );;\
my $Uhr = "08:".$Zufallszahl.":".$Zufallszahl;;\
fhem("define morgens_Schlafzimmer_Rollaeden_auf1 at *".$Uhr." { fhem('set SZ_ROLLADEN on') }");;\
}else{\ my $Zufallszahl = int(rand(15) +1 );;\
my $Uhr = "10:".$Zufallszahl.":".$Zufallszahl;;\
fhem("define morgens_Arbeitszimmer_Rollaeden_auf1 at *".$Uhr." { fhem('set SZ_ROLLADEN on') }");;\ }\ }
macht aber bei mir absolut nichts. Natürlich habe ich die Bezeichner und Befehle an meine Gegebenheiten angepasst. Es macht auch keinen Unterschied ob ich diese Code direkt in die fhem.cfg kopiere oder entsprechend modifiziert über die GUI einfüge.
Schade, das hätte meine Anforderung exakt erfüllt.
Sehr ihr hier einen Fehler? Oder wie könnte ich sonst die Anforderung hinreichend erfüllen?
https://forum.fhem.de/index.php/topic,73964.0 (https://forum.fhem.de/index.php/topic,73964.0) kennst Du?
Und hier was "einfaches"
Macht dan Rolladen zu, wenn die Sonne 3 Grad unter den Horizont steht +- 10 Minuten,
aber nicht vor 16 Uhr und spätestens um 22:30
Internals:
COMMAND set Rollo_Slz 0
DEF *{sunset("HORIZON=-3.0",int(rand(1200)-600),"16:00","22:30")} set Rollo_Slz 0
NAME Ro_Slz_zu
NR 110
NTM 19:33:20
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 19:33:20
TIMESPEC {sunset("HORIZON=-3.0",int(rand(1200)-600),"16:00","22:30")}
TRIGGERTIME 1505928800
TRIGGERTIME_FMT 2017-09-20 19:33:20
TYPE at
READINGS:
2017-09-19 19:41:46 state Next: 19:33:20
Mit DOIF für den DEF-Editor
([([08:00]+rand(900))])
(set Rollo auf)
DOELSEIF ([([22:00]+rand(900))])
(set Rollo zu)