Hauptmenü

Zeitsteuerung DOIF

Begonnen von Heinz Krischeu, 04 Juli 2018, 22:04:08

Vorheriges Thema - Nächstes Thema

Heinz Krischeu

Hi,
ich hätte gerne eine Erweiterung um 2 weitere Zeitfenster.
Im Moment funktioniert es so:
( ([21:35:00-21:40:00] ) and [Regen] eq "off" ) (set Pumpe01 on) DOELSE (set Pumpe01 off)

Schön ware so was wie ((([21:35:00-21:40:00]or[22:40:00-22:45:00]or[22:50:00-22:55:00]) and [Regen] eq "off" (set Pumpe01 on) DOELSE (set Pumpe01 off)

Hat da jemand eine Idee?
Grüße
Heinz

kumue

hast du deinen code getestet ? denke du hast ein paar klammern zu viel

ungetestet
(([21:35:00-21:40:00] or [22:40:00-22:45:00] or [22:50:00-22:55:00]) and [Regen] eq "off") (set Pumpe01 on) DOELSE (set Pumpe01 off)

Heinz Krischeu

Hi,
Müssten die or nicht in extra Klammern?

Wenn Uhrzeit 1 oder Uhrzeit 2 oder Uhrzeit 3 UND ....

Grüße Heinz

the ratman

#3
aus der commandref https://fhem.de/commandref_DE.html#DOIF_Zeitsteuerung_mit_Zeitintervallen
ZitatZeitintervalle werden im Format angegeben: [<begin>-<end>], für <begin> bzw. <end> wird das gleiche Zeitformat verwendet, wie bei einzelnen Zeitangaben. Getriggert wird das Modul zum Zeitpunkt <begin> und zum Zeitpunkt <end>. Soll ein Zeitintervall ohne Zeittrigger lediglich zur Abfrage dienen, so muss hinter der eckigen Klammer ein Fragezeichen angegeben werden (siehe Beispiele weiter unten). Das Zeitintervall ist als logischer Ausdruck ab dem Zeitpunkt <begin> wahr und ab dem Zeitpunkt <end> nicht mehr wahr.

[21:35:00-21:40:00] <-- triggert um 21:35 und 21:40
[?21:35:00-21:40:00] <-- setzt die bedienung, dass irgendwas zw. 21:35 und 21:40 passiert - z.b. dein regen.

die klammern würd ich wie kumue setzen.
(
   ( wenn einer der 3 zeitbereiche )
und
   regen
)


(
dann mach was
)
→do↑p!dnʇs↓shit←

Heinz Krischeu

Hi,
ich probiere es gleich mal aus und melde mich wieder.
Grüße
Heinz

Gisbert

Kann es sein, dass das Fragezeichen "?" etwas unglücklich erklärt ist?
Ich hab es wie folgt verstanden. Die Bedingung mit einem vorangestelltem Fragezeichen, z.B. eine Zeit, ein Reading etc., wird nicht getriggert, muss aber erfüllt sein, damit dieser Zweig ausgeführt wird.
Ich hoffe, dass ich es richtig wiedergegeben habe.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

misux

ja, so habe ich es auch verstanden! mit Fragezeichen nur abfrage aber keine Triggerung (der Zustand muss aber erfüllt sein)

Ohne Fragezeichen triggerung UND abfrage und der Zustand muss erfüllt sein...

misux

#7
Zitat von: h.krischeu@gmx.de am 04 Juli 2018, 22:04:08
Hi,
ich hätte gerne eine Erweiterung um 2 weitere Zeitfenster.
Im Moment funktioniert es so:
( ([21:35:00-21:40:00] ) and [Regen] eq "off" ) (set Pumpe01 on) DOELSE (set Pumpe01 off)

Schön ware so was wie ((([21:35:00-21:40:00]or[22:40:00-22:45:00]or[22:50:00-22:55:00]) and [Regen] eq "off" (set Pumpe01 on) DOELSE (set Pumpe01 off)

Hat da jemand eine Idee?
Grüße
Heinz

Denke so sollte es funktionieren: (da waren die Klammern falsch gesetzt)

(([21:35:00-21:40:00]or[22:40:00-22:45:00]or[22:50:00-22:55:00]) and [Regen] eq "off") (set Pumpe01 on)
DOELSE
(set Pumpe01 off)


EDIT: UPS... kumme hat auch schon die Richtige Antwort gegeben... ;D