mehrere Schaltzeiten an einem Tag, in Verbindung von Anwesenheit

Begonnen von Beagel, 18 Januar 2016, 23:11:40

Vorheriges Thema - Nächstes Thema

Beagel

Hallo zusammen,
ich möchte gerne eine Zirkulationspumpe nach Anwesenheit von Handy 1 oder Handy 2 schalten, hier mit define Testlampe_an at +*00:00:15 {if(Value("1_iPhone") eq "present" || Value("2_iPhone") eq "present") { fhem("set Intertechno_5 on") } else { fhem("set Intertechno_5 off")}}
funktioniert das schon.
Nun soll aber nicht die ganze Zeit bei Anwesenheit die Pumpe laufen (z.B. Nachts aus) sondern nur am Tag zu bestimmten Uhrzeiten z. B. von 5:00 Uhr bis max 9:00 Uhr dann wieder um 12:00 Uhr bis 14:00 Uhr und um 17:00 Uhr bis 20:00 Uhr.
Gibt es dafür irgendeine Möglichkeit?

Gruß Beagel

MacDad

Moin Beagel,

ein DOIF könnte (D)eine Lösung sein.
Hier http://fhem.de/commandref_DE.html#DOIF findest Du viele Anwendungsbeispiele, mein Versuch daraus sieht so aus:

Ich fange gerade erst damit an, daher gilt ... alles "ohne Gewähr"  ;)

define Test_Beagel DOIF
(([05:00-09:00] or [12:00-14:00] or [17:00-20:00]) and
([?1_iPhone:presence] eq "present" or [?2_iPhone:presence] eq "present" ))
(set Intertechno_5 on)
DOELSEIF
(set Intertechno_5 off)


Gruß Dirk
RPI 2 mit FHEM 5.8
FB 7390 OS 6.83 | Synology DS 214+ DSM
VU+: 1 x Solo4k & 2 Solo2 VTi 11.xx.xx
SONOS: BRIDGE | 8x PLAY:1 | 1x PLAY:5 | 1x SUB Vers. 8.1.1
HMLAN: HM-Sec-SC-2 |-Sec-RHS |-CC-RT-DN |-LC-Bl1PBU-FM |-LC-Sw1PBU-FM |-LC-Sw1-FM |-ES-PMSw1-Pl |-WDS10-TH-O |-PBI-4-F

Otto123

kleine Korrektur es muss DOELSE
(set Intertechno_5 off)

heißen. Sonst müsste ja noch eine Abfrage (IF) definiert sein.
Der Abschluss ist wenn dann ein DOELSE

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

Hollo

Nur so als Anregung...
Auch wenn es schön ist, 1 Problem in 1 Zeile zu lösen, bin ich eher ein Fan von universellen Ansätzen.

Also Teilaspekte einzeln lösen und damit "Hilfsdummy füttern:
- Anwesenheit
- Tag/Nacht
- Hell/Dunkel
oder so ähnlich.

Dann ist man sehr flexibel, wenn sich etwas ändert (1 Person mehr oder weniger, andere Nachtzeit etc.), und braucht im glücklichsten Fall nur an 1 Stelle ändern.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Beagel

Hallo zusammen,
bin jetzt erst dazu gekommen den Vorschlag mit dem DOIF auszuprobieren, scheint der richtig Ansatz zusein,
hab den Code noch etwas umgestellt. Testlampe wird eingeschaltet wenn ein Handy present ist oder innerhalb der laufenden Schaltzeit auf present geht
Zitatdefine Testlampe_an DOIF (([?05:15-07:00] or [?13:00-14:29] or [?18:03-20:02]) and ([1_iPhone:presence] eq "present" or [2_iPhone:presence] eq "present" )) (set Intertechno_5 on) DOELSE (set Intertechno_5 off)
attr Testlampe_an do always
sobald alle Handys absent wird die Testlampe ausgeschaltet. Bin mir nicht sicher ob do always gebraucht wird.

Danke für die Hilfe und die konstruktiven Vorschläge.

Gruß Beagel

Otto123

Wenn Du ein DOELSE als Abschluss hast, brauchst Du normal kein do always.
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