Hauptmenü

Zufall einstellen

Begonnen von jeep, 30 September 2015, 20:08:28

Vorheriges Thema - Nächstes Thema

jeep

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
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

dev0


All-Ex

Geht einfach mit DOIF, ich poste mal aus der Command Ref 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)


jeep

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
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

dev0

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.