Hauptmenü

Montags Probleme mit DOIF

Begonnen von dennis_n, 26 Januar 2016, 11:17:36

Vorheriges Thema - Nächstes Thema

dennis_n

Hi,

ich hatte das in einem länger zurückliegenden Thread zwar schonmal gefragt, aber irgendwie bekomme ich es nicht hin.
Zur Steuerung der Rolläden habe ich folgendes DOIF angelegt:
([homestatus] eq "home" and ([07:30:00-17:30:00|12345] or [10:00:00-17:30:00|60])) (set RL_Alle Hoch, set pushmsg msg 'Homestatus' 'Alle Rolläden geöffnet') DOELSEIF ([homestatus] =~ "home|nachtdienst|unterwegs" and ([17:30:01-07:29:59|12345] or [17:30:01-10:00:01|60])) (set RL_Alle Runter, set pushmsg msg 'Homestatus' 'Alle Rolläden geschlossen') DOELSEIF ([homestatus] eq "nachtdienst" and ([07:29:55-17:30:00|12345] or [09:59:59-17:30:00|60])) (set RL_Nachtdienst Hoch, set RL_Unterwegs Runter, set pushmsg msg 'Homestatus' 'Rolläden Nachtdienst geschlossen') DOELSEIF ([homestatus] eq "unterwegs" and ([07:29:59-17:30:00|12345] or [09:59:59-17:30:00|60])) (set RL_Unterwegs Runter, set pushmsg msg 'Homestatus' 'Rolläden unterwegs geschlossen')

Sorry wirklt etwas unüberscihtlich, aber im Grunde gehen an Wochentagen die Rolläden morgens um 7.30 Uhr hoch und Abends um 17.30 Uhr runter.
An Wochenenden gegehn sie erst um 10 Uhr hoch und ebenfalls um 17.30 Uhr runter.

Allerdings gehen sie Montags morgens auch erst um 10 Uhr hoch. Ich gehe davon aus, dass dies an der Definition der Zeiten liegt.
Wie würde ich es denn besser umschreiben, dass Montags als neuer Tag angesehen wird?

Danke

Gruss
Dennis

Otto123

Hallo Dennis,

dazu habe ich zwei Gedanken:
Warum nimmst Du einen Zeitbereich und nicht Zeitpunkte? Also 7:30 RolloHoch und 17:30 RolloRunter?
Warum nimmst Du nicht 7 (Wochenende) und 8 (Wochentags)?

Also ich mache das so und bei mir ist Montag auch Montag  8)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dennis_n

Hi,

die Zeitbereiche habe ich, da es am Tag immer wieder vorkommt, dass sich der Anwesenheitsstatus ändert.
Wenn beispielsweise die Rolläden um 7.30 Uhr hoch gegangen sind und meine Frau um 11 Uhr das Haus verlässt, ändert sie den Status auf Abwesend. Liegt dieser zeitpunkt innerhalb einer bestimmten Uhrzeit, sollen bestimmte Rolläden runter gehen.
Genauso sollen die Rolläden auch wieder hochgehen, wenn der Status irgendwann zwischen 7.30 Uhr und 17.30 Uhr wieder auf home gesetzt wird.
Daher habe ich die Zeitbereiche drin.

Wenn Du mir sagst, das kann man anders lösen, bin ich nicht abgeneigt ;-)

Die Wochentage habe ich erst einzel benannt (12345) nachdem 7 und 8 das gleiche Ergebnis brachten. War nur ein Versuch.

Gruss
Dennis

Otto123

Hallo Dennis,

naja die Definition der Zeiten ist sicher erstmal in Ordnung, die Frage ist durch was und damit wann das Modul wirklich getriggert wird. Warum das Montag um 10 passiert sehe ich jetzt nicht.

Ich habe bei mir die Sache erstmal entzerrt um den Überblick zu behalten, also getrennte DOIFs.
Zu bestimmten Zeiten gehen die Rollos hoch bzw. runter. Habe ich durch Zeitpunkte und Abfrage der Anwesenheit gemacht.
Wenn in einem bestimmten Zeitraum alle gehen, werden die Rollos geschlossen.

Läuft aber bei mir auch noch nicht optimal.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dennis_n

Hmmm,


beim mehrmaligen drüberlesen, frage ich mich, ob ich diesen Teil überhaupt brauche und der mein Problem ist:
DOELSEIF ([homestatus] =~ "home|nachtdienst|unterwegs" and ([17:30:01-07:29:59|12345] or [17:30:01-10:00:01|60])) (set RL_Alle Runter, set pushmsg msg 'Homestatus' 'Alle Rolläden geschlossen')

Damit sage ich ja, dass um 17.30 Uhr die Rolläden unabhängig vom Anwesenheitsstatus runter gehen sollen.
Warum ich hier allerdings einen Zeitbereich und die Unterscheidung von Wochentag und Wochenende angebe ist mir schleierhaft. Ich könnte hier doch einfach schreiben:
DOELSEIF ([homestatus] =~ "home|nachtdienst|unterwegs" and ([17:30:00|0123456])) (set RL_Alle Runter, set pushmsg msg 'Homestatus' 'Alle Rolläden geschlossen')

Würde das mein Problem lösen?

Gruss
Dennis


Otto123

Kannst Du bloss probieren, könnte aber wirklich sein.

Allerdings kannst den homestatus ja auch weglassen, oder gibt es noch einen vierten?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dennis_n

Hi,

ja, es gibt noch einen vierten. Ist momentan noch nicht aktiv.
Erst im Sommer. Der besagt, dass wenn wir draussen im Pool sind, ein Rolladen nciht geschlossen wird, damit wir uns nicht aussperren. :-)

Gruss
Dennis




Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz