FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: masl am 21 Juni 2019, 00:03:05

Titel: Frage Umsetzung Poolheizung
Beitrag von: masl am 21 Juni 2019, 00:03:05
Hallo zusammen.

Ich versuche mich gerade an einer Heizung/Pool-Steuerung mit Dummy, Notify, etc...
Folgendes möchte ich Steuern:
Poolpumpe
Ventil im Bypass
Ventil im Solar
Temperatur im Solarschlauch


Habe nun einen Dummy angelegt, welcher sagt:
Pool_Solar on = Ventil_Bypass zu, Ventil_Solar auf, Pumpe_Pool an
Pool_Solar off = Ventil_Bypass zu, Ventil_Solar zu, Pumpe_Pool aus



Über ein Doif habe ich das schon hinbekommen:
define di_PoolHeizung DOIF ([Temp_Schlauch:temperature] > 30) (set Pool_Solar on) DOELSE ([Temp_Schlauch:temperature] < 26) (set Pool_Solar off)

Jetzt habe ich aber das Problem dass während dem Doif die Pumpe nicht anderweitig eingeschaltet werden kann.

Ich wollte eigentlich zusätzlich zum Solar-Doif ein Reinigungs-Doif anlegen:
Ventil Bypass auf; Ventil Solar zu; Pumpe Pool an von 10:00 - 12:00 und 19:00-23:00

Wie bekomme ich es hin, dass sich beide Doifs nicht im Wege stehen?
Oder hat jemand einen anderen Lösungsansatz für mich?

Titel: Antw:Frage Umsetzung Poolheizung
Beitrag von: MadMax-FHEM am 21 Juni 2019, 00:37:18
Dein (erstes) DOIF ist schon fehlerhaft:

entweder DOELSE dann gibt es KEINE Bedingung (also das "([Temp_Schlauch:temperature] < 26)" ist Quatsch) oder ein DOELSEIF dann kann eine weitere Bedingung kommen...

Poste doch mal ein list des DOIF und des Dummy...

Wozu willst du den Dummy nutzen?
Schalten/Klicken in der Oberfläche?
Welcher?
FhemWeb, FTUI, ...
Alexa, homebridge/homekit, ...?

Vielleicht auch mal beschreiben (in Worten: wenn ich das drücke, dann das aber nur wenn usw.) was du tun/erreichen willst...

Gruß, Joachim
Titel: Antw:Frage Umsetzung Poolheizung
Beitrag von: masl am 18 Juli 2019, 09:06:24
Ich habe nach langem Basteln es nun hinbekommen. Habe mit DOELSEIF gearbeitet und alles funktioniert einwandfrei!

Zitat[/(([10:00-12:00]) and ([Temp_Pool:temperature] < 30) and ([Temp_Solar:temperature] > 20)) (set Pumpenprogramm Heizung)
DOELSEIF (([10:00-12:00]) and ([Temp_Pool:temperature] < 30) and ([Temp_Solar:temperature] < 20)) (set Pumpenprogramm Reinigung)
DOELSEIF (([10:00-12:00]) and ([Temp_Pool:temperature] >= 30)) (set Pumpenprogramm Reinigung)
DOELSEIF (([10:00-12:00]) and ([Temp_Pool:temperature] < 30) and ([Temp_Solar:temperature] > 48)) (set Pumpenprogramm Heizung)
DOELSEIF ([12:00]) (set Pumpenprogramm Aus)
DOELSEIF (([12:05-16:00]) and ([Temp_Pool:temperature] < 30) and ([Temp_Solar:temperature] > 20)) (set Pumpenprogramm Heizung)
DOELSEIF (([12:05-16:00]) and ([Temp_Pool:temperature] < 30) and ([Temp_Solar:temperature] < 20)) (set Pumpenprogramm Reinigung)
DOELSEIF (([12:05-16:00]) and ([Temp_Pool:temperature] >= 30)) (set Pumpenprogramm Reinigung)
DOELSEIF ([16:00]) (set Pumpenprogramm Aus)
DOELSEIF (([16:15-18:00]) and ([Temp_Solar:temperature] >= 34)) (set Pumpenprogramm Solar)
DOELSEIF (([16:15-18:00]) and ([Temp_Solar:temperature] <= 29)) (set Pumpenprogramm Aus)
DOELSEIF ([19:00]) (set Pumpenprogramm Reinigung)
DOELSEIF ([21:00]) (set Pumpenprogramm Aus)quote]