Hallo,irgendwie komme ich nicht ganz klar mit meiner Aufgabenstellung.Ich möchte gern meine Jalousien hochfahren zufällig zwischen 7:00 und 7:30 am Wochentag aber nur wenn es hell ist.Ansonsten sollen sie hochfahen wenn es hell ist.Am wochenende erst zufällig zwischen 8:00-08:45uhr aber nur wenn es hell ist.irgendwie kan ich das mit doif nicht richtig abbilden ... irgendwie stehe ich auf dem schlauch.Hat jeman ne iddee ??? Folgendes habe ich bis jetzt :
(
[([$SELF:a_zeit_auf_at]+int(rand([$SELF:a_zeit_auf_zufall_at]*60)))|AT] > [[Sonnenschein:sr_indoor]|AT]
and [?Jalousien_structure:state] ne "on"
and [?$SELF:a_automatik] eq "Ja"
)
(set Jalousien_structure 100)
DOELSEIF
(
[[Sonnenschein:sr_indoor]|AT]
and [?Jalousien_structure:state] ne "on"
and [?$SELF:a_automatik] eq "Ja"
)
(set Jalousien_structure 100)
DOELSEIF
(
[([$SELF:a_zeit_auf_we]+int(rand([$SELF:a_zeit_auf_zufall_we]*60)))|WE]
and [?Jalousien_structure:state] ne "on"
and [?$SELF:a_automatik] eq "Ja"
)
(set Jalousien_structure 100)
DOELSEIF
(
(
([([{ReadingsVal("Sonnenschein","[$SELF:a_zeit_zu]","00:00:00")}]+int(rand([$SELF:a_zeit_zu_zufall]*60)))])
)
and [?Jalousien_structure:state] ne "off"
and [?$SELF:a_automatik] eq "Ja"
)
(set Jalousien_structure 0)
(set Licht_WZ_Fenster on)
{set_anwesenheit_simulation()}
Gruss Rainer
- "AT" und "WE" kenne ich nicht.
- ein Vergleich von Zeiten mit ">" finde ich fragwürdig.
Guck mal eher in die Richtung: https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitberechnung
Zitat von: rainer1962 am 13 Dezember 2018, 19:07:00Folgendes habe ich bis jetzt
Und was geht damit oder nicht?
Wenn du einzelne Abfragen testen willst, packe sie in ein DOIF_Reading. Oder ein Test-DOIF ohne Gedöns drum herum.
Zeitangaben oder Zeitintervalle sind immer nur wahr oder falsch. Ein Größer-Kleiner-Vergleich macht hier keinen Sinn.
Hallo Damian,wie kann ich dann irgendwie vergleichen wann eine Zeit kleiner oder größer ist wie eine andere im DOIF?
Hi,
ein Beispiel zwischen 9:00 und 9:20 Uhr :D
defmod di_RolloAufTemp DOIF ([09:00]) (set Rollo.*:FILTER=STATE=zu auf)
attr di_RolloAufTemp do always
attr di_RolloAufTemp room Haus
attr di_RolloAufTemp timerWithWait 1
attr di_RolloAufTemp wait rand(1200)
Gruß Otto