[gelöst] Zufälligkeit bei sunrise_abs/sunset_abs bei eingeschränkten Zeiten erzeugen

Begonnen von xray, 13 August 2023, 14:28:43

Vorheriges Thema - Nächstes Thema

xray

Hallo zusammen,

ich würde gerne meine Rolläden ein wenig zufälliger steuern, was ja generell kein großes Problem darstellt:
{sunrise_abs("REAL",int(rand(18)))}
Nunmehr würde ich gerne die Schaltung z.B. am Wochenende gerne ein wenig einschränken, so dass die Rolläden nicht vor 8:30 Uhr und spätestens um 09:30 Uhr hochfahren - z.B. mittels
{sunrise_abs("REAL",int(rand(18)),"08:30","09:30")}
Ist der berechnete Sonnenaufgang aber vor 08:30 Uhr, dann fahren alle Rolläden pünktlich um 08:30 Uhr nach oben.
Vermutlich berechnet {sunrise_abs("REAL")} im Sommer z.B. 06:30 Uhr und würde dann laut voherigem Code int(rand(18)) addieren. Damit ist man aber ja immer noch weit vor 08:30 Uhr.

Kennt jemand eine Möglichkeit, die zufällige Zahl auf den Output von {sunrise_abs("REAL","08:30","09:30")} im Nachgang zu addieren? Das hätte zumindest zur Folge, dass nicht alle Rollläden zur gleichen Sekunde geschaltet werden.

Viele Grüße

Marc

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

xray

Zitat von: Damian am 13 August 2023, 19:35:11siehe: https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitberechnung

Besten Dank! Ich hatte zuvor in der Commandref nachgesehen und auch den zitierten Eintrag gesehen.

Allerdings bekomme ich bei
{[({sunset()}+900+int(rand(600)))]}den Output
ARRAY(0x6a160e8)
bzw. bei
{({sunset()}+900+int(rand(600)))}den Output
103049136
Auf mein Beispiel oben angewendet müsste ich ja eigentlich
{{sunset_abs("REAL","18:30","21:30")}+int(rand(60))}nehmen können. Das liefert mir random Zahlen bis 60 zurück.

xray