FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jeep am 30 September 2015, 20:08:28

Titel: Zufall einstellen
Beitrag von: jeep am 30 September 2015, 20:08:28
Hallo,

ich fhem und perl Anfänger sowieso. Möchte gerne an dieser at definition einen rand(30) hinzufügen. Nach 3 Fehlermeldungen steh ich jetzt hier. Hat jemand einen Rat für mich.
Danke sehr.

*{sunset("REAL",0,"18:00","21:30")} set Rolll1OG_R zu


Grüße,
Josef
Titel: Antw:Zufall einstellen
Beitrag von: dev0 am 30 September 2015, 20:15:27
RandomTimer kennst du?
Titel: Antw:Zufall einstellen
Beitrag von: All-Ex am 30 September 2015, 20:20:11
Geht einfach mit DOIF, ich poste mal aus der Command Ref http://fhem.de/commandref_DE.html#DOIF (http://fhem.de/commandref_DE.html#DOIF):

ZitatAnwendungsbeispiele:

Lampe wird nach Sonnenuntergang zwischen 900 und 1500 (900+600) Sekunden zufällig zeitverzögert eingeschaltet. Ausgeschaltet wird die Lampe nach 23:00 Uhr um bis zu 600 Sekunden zufällig verzögert:

define di_light DOIF ([({sunset()}+900+int(rand(600)))])

    (set lamp on)

DOELSEIF ([([23:00]+int(rand(600)))])

    (set lamp off)

Titel: Antw:Zufall einstellen
Beitrag von: jeep am 30 September 2015, 20:43:17
Danke All-Ex,

werde mich dann wohl vom "at" verabschieden müssen. Wollte es von Anfang an nicht mit DOIF machen sondern mit 2 at Befehlen und sunrise bzw. sunset.
Aber so gehts natürlich auch.     

Grüße,
Josef
Titel: Zufall einstellen
Beitrag von: dev0 am 30 September 2015, 20:56:01
Wenn es ein at sein soll, dann könntest du den at timeStr durch eine Perl Funktion ersetzten, der die Zufallszeit liefert. Am besten eine funktion aus der 99_myUtils aufrufen. DOIF kenne ich nicht, ist aber bestimmt der einfachere Weg.