Problem DOIF mit mehreren Bedienungen

Begonnen von MadMax75, 20 März 2016, 19:33:53

Vorheriges Thema - Nächstes Thema

MadMax75

Hallo Liebe FHEM Experten!

ich komme bei einem DOIF mit mehreren Bedienungen einfach nicht weiter. Habe schon viele Varianen probiert - leider hat noch keine so funktionier wie ich es mir vorstelle.

Was möchte ich:

Eine Poolpumpe zeitgesteuert ein und ausschalten - das ist kein Problem
Zusätzlich soll, wenn die Poolpumpe läuft (in einem der Zeitfenster) die Pooltemperatur abgefragt werden. Ist diese <=30 (°C) dann soll eine Solarpumpe auch eingeschaltet werden, wenn nicht, läuft nur die Poolpumpe.

Das wars eigentlich auch schon - eigentlich keine große Sache. Im Excel wäre das schnell erledigt. Mit DOIF komme ich aber irgendwie nicht ans Ziel (ist doch etwas komplizierter).

Was ich habe, aber nicht funktioniert:

([08:00-18:45] or [20:00-22:00]) DOELSEIF ([Pooltemperatur]<=30) ((set Poolpumpe on) (set Solarpumpe on)) ((set Poolpumpe on) (set Solarpumpe of)) DOELSE ((set Poolpumpe off) (set Solarpumpe off))

Bin für jeden Hinweis dankbar!

mfg
Markus

Damian

#1
(([08:00-18:45] or [20:00-22:00]) and [Pooltemperatur]<=30) (set Poolpumpe on, set Solarpumpe on) DOELSE (set Poolpumpe off, set Solarpumpe off)

Gruß

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

MadMax75

Hallo Damian,

danke für die rasche Rückmeldung.
Ich glaube hier fehlt noch eine Sache.

Die Poolpumpe soll immer gem. Zeitfenster laufen.
Die Solarpumpe nur, wenn das Zeitfenster und die Temperatur Bedienung erfüllt ist. Diese "Logik" fehlt noch oder?

mfg
Markus

Damian

Zitat von: MadMax75 am 20 März 2016, 20:25:22
Hallo Damian,

danke für die rasche Rückmeldung.
Ich glaube hier fehlt noch eine Sache.

Die Poolpumpe soll immer gem. Zeitfenster laufen.
Die Solarpumpe nur, wenn das Zeitfenster und die Temperatur Bedienung erfüllt ist. Diese "Logik" fehlt noch oder?

mfg
Markus

Na, dann würde ich zwei unabhängige DOIFs definieren:


([08:00-18:45] or [20:00-22:00]) (set Poolpumpe on) DOELSE (set Poolpumpe off)

und

(([08:00-18:45] or [20:00-22:00]) and [Pooltemperatur]<=30) (set Solarpumpe on) DOELSE (set Solarpumpe off)

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

MadMax75

ok - Danke. Die einzelnen habe ich auch schon am laufen gehabt.
Ist es möglich die zu Kombinieren (mehrere DOELSEIF kombinieren) - oder ist das nicht möglich.

Damian

Zitat von: MadMax75 am 20 März 2016, 20:41:04
ok - Danke. Die einzelnen habe ich auch schon am laufen gehabt.
Ist es möglich die zu Kombinieren (mehrere DOELSEIF kombinieren) - oder ist das nicht möglich.

Bestimmt, aber da sie ja unterschiedlich (on/off) schalten sollen, würde ich sie hier tatsächlich in zwei DOIFs unterbringen. Alles andere macht die Sache unnötig kompliziert. Wenn es darum geht, die Zeit gleich zu halten, da könntest du indirekte Timer verwenden.

Gruß

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