Sunrise, sunset, at und Zufall

Begonnen von jeep, 01 Oktober 2015, 21:32:58

Vorheriges Thema - Nächstes Thema

jeep

Hallo zusammen,

ich nerve Euch mal wieder mit einer Anfängerfrage die ich auch schon in der Rubrik für "Anfängerfragen" gestellt habe. Leider bekam ich dort nicht die erhoffte Lösung, deshalb hier nochmal(weil hier liest der Chef mit  ;)
Also ich habe 2 at Funktionen mit sunrise und sunset und würde gerne eine +- 30 minütige Zufallszeit dazu addieren oder abziehen. Oder geht das int(rand(1800)) nur mit DOIF?

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

Also nochmal sorry,  mir ist bewußt die Frage hat nichts mit ZWAVE  zu tun (habe aber in FHEM nur ZWAVE Sensoren und Aktoren), aber ich hab mir wirklich Mühe gegeben das command reference zu durchsuchen. Ihr könnt das Thema sofort nach Anfängerfragen verschieben. Hat ja überhaupt nichts mit ZWAVE zu tun, nur bitte sagt mir das es mit "at" geht.
Besten Dank Euch allen!

Grüße,
Josef
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

dev0

Ich hatte dir gestern im Anfängerbereich bereits geschrieben, dass und wie es möglich ist. So bin ich jetzt raus.

jeep

#2
Also Entschuldige mal, Deine Antwort war wirklich für /dev/nul. Ich habe mich klar als Anfänger geoutet, da brauch ich solche Weisheiten nicht, da war die Antwort von All-Ex sehr konstruktiv und ist für mich umsetzbar.

Trotzdem Danke ich auch Dir für den Versuch...

Grüße,
Josef

PS. Ich hatte mir die Funktion in der von Dir vorgschlagenen 99_myUtils.pm angeschaut, konnte aber keine Lösung für mich erkennen.
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

krikan

Hallo Josef!
*{sunset("REAL",0,"18:00","21:30")}
Der 2. Parameter 0 ist Sekunden-Offset. Dort kannst Du das Gewünschte einbauen/übergeben.

Das ins Eingabefeld eingegeben und Enter drücken liefert Dir Beispiele für die positive Richtung. Zum Testen geeignet.
*{sunset("REAL",int(rand(1800)),"18:00","21:30")}


Für beide Richtung musst Du mal suchen und probieren. Bspw. http://stackoverflow.com/questions/21806362/how-can-i-create-a-random-number-between-two-numbers-in-perl

Gruß, Christian

PS: Habe jetzt nicht im Anfängerforum nachgeschaut, was Du dort für Antworten bekommen hast. Würde es aber begrüßen, wenn Du den Thread dorthin verschiebst. Wenn das Nutzen von falschen Forenbereichen einmal losgeht, dann...

jeep

#4
Hallo Christian,

perfekt, gerade getestet und es hat funktioniert. Genau das wollte ich. Ich habe den zweiten Paramter mit was anderem aus der Commandref assoziert und habe versucht die Funktion woanders unterzubringen bin aber immer  auf die Schnauze gefallen. Aber jetzt bin ich glücklich. Sorry das ich es hier gepostet habe. Werde es sofort verschieben. Aber ich wusste auch das Du oder Rudolf eine Lösung parat habt.
Danke Dir vielmals.

Grüße,
Josef

Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

jeep

Hallo Christian und Kollegen,

es funktioniert auch in die andere Richtung, einfach vor der int() Funktion ein "-"(minus) setzen.
*{sunset("REAL",-int(rand(1800)),"18:00","21:30")}

Grüße,
Josef
Ein wenig HomeMatic
RPi2  - UZB1, FHEM Testsystem - 8 devices
HC2  - 72 devices  (95 % sind Fibaro devices)

rudolfkoenig

int() kann man sich auch sparen.
Ohne * kann man das auch in der Kommandozeile eingeben, um zu sehen, ob/wie es funktioniert.
Bei der at Definition wichtig: keine Leerzeichen.