THZ Tecalor (LWZ Stiebel Eltron) module support and code improvement.

Begonnen von immi, 02 Februar 2015, 11:42:16

Vorheriges Thema - Nächstes Thema

mlb

Thanks, this explains  it :)

So here is the function that works for me:

define AutoCoolingVentilation DOIF (([23:00-24:00] or [00:00-03:00]) and [Mythz:inside_temp] > 26 and [Mythz:outside_temp] < 19 and [Mythz:outputVentilatorPower] ==  0) ({fhem("set Mythz p99startUnschedVent 3")};;;;sleep 1)
attr AutoCoolingVentilation room Heating


This additional sleep 1 forces return value 0. And fans are started as needed, they are cooling my house at the moment (because of passive cooling set to 1). I set unscheduled ventilation level 3 at 60% of fans power, so with combination of active cooling mode 1 exhaust fan goes to 80% and input fan is stopped. Last night I activated it manually and worked pretty well (with some windows slightly open), and now it starts automatically  8)

Thanks again for support.
LWZ 403SOL, FHEM + HomeAssistant

immi

excellent mbl and Damian
I do not think that "sleep" blocks fhem for 1s; but to be sure I would prefer return()
{fhem "set Mythz p99startUnschedVent","3";;return()}

NaCkHaYeD

@mlb
Ich persönlich sehe bei deiner Lösung momentan zwei Probleme:
1. Es wird nicht geprüft, ob die Lüfter per manueller Eingabe stillstehen, z.B. wenn es draußen brennt und die Lüftung nicht laufen darf.
2. Es wird nicht geprüft, ob die Fenster gekippt sind. Dieser Fall könnte gegenüber 1. öfters vorkommen.

Ich habe einen ähnlichen Fall zwecks Lüftung und Temperatur. Sinn der doppelten Zeitangabe ist es, das Lüftungsprogram abzubilden, welches unterschiedlich zwischen Werktag und Wochenende ist. Ebenso wird geprüft ob die Drehzahl der Lüfter 0 ist. Bei hoher Aussentemperatur wird die Lüftung von 250 auf 125 m³/h abgesenkt. Im Umkehrschluss, wenn die Innentemperatur zu niedrig ist, die Lüftung in der Nacht von 125 auf 200 m³/h erhöht.
Die Prüfung erfolgt pro Stunde, der manuelle Eingriff ist ebenso eine Stunde lang.
Ausbaustufe zwei wird sein, die manuellen Eingriff am Tag zu zählen und die Anzahl in der Nacht gegenzusteuern.

# Lüftung im Sommer bei hoher Außentemperatur absenken
define VentSommerReduziert DOIF ([+[1]:00] and ([?06:30-18:59|12345] or [?07:30-19:29|06]) and ([Myhtu21dogcD:temperature] > 24.5 and [Myhtu21dwzcD:temperature] > 24.5) and [Mythz:AussenTemp] > 26.0 and [Mythz:VentZuluft] ne 0 and [Mythz:VentAbluft] ne 0) (set Mythz p39Fanstage3AirflowInlet 125;;set Mythz p42Fanstage3AirflowOutlet 125;;set Mythz p43UnschedVent3 60;;set Mythz p99startUnschedVent 3;;sleep 1)
attr VentSommerReduziert room 11_Heizung_Hand

# Lüftung im Sommer bei niedriger Außentemperatur erhöhen
define VentSommerErhoeht DOIF ([+[1]:00] and ([?19:00-06:29|12345] or [?19:30-07:29|06]) and ([Myhtu21dogcD:temperature] > 24.5 and [Myhtu21dwzcD:temperature] > 24.5) and [Mythz:AussenTemp] < 23.0 and [Mythz:VentZuluft] ne 0 and [Mythz:VentAbluft] ne 0) (set Mythz p39Fanstage3AirflowInlet 200;;set Mythz p42Fanstage3AirflowOutlet 200;;set Mythz p43UnschedVent3 60;;set Mythz p99startUnschedVent 3;;sleep 1)
attr VentSommerErhoeht room 11_Heizung_Hand


Dies soll aber nur eine Anregung, keine Kritik sein.

@immi
return() nimmt er bei mir nicht, ungültiges Kommando

mfg
NaCkHaYeD

immi

Zitat von: NaCkHaYeD am 05 August 2015, 09:09:53
return() nimmt er bei mir nicht, ungültiges Kommando

Hi
you have probably forgotten to use the brackets correctly.
"return" is a perl command and not a fhem command.
read here http://fhem.de/commandref_DE.html FHEM-Befehlstypen

gruß

immi

v 0.143 uploaded
added heatcurves to backend, added p77OutThermFilterTime

NaCkHaYeD

#260
Hi,

habe mir noch auch eine Sommer/Winter Automatik gebaut, jedoch funktioniert diese leider nicht. Habe schon diverse Möglichkeiten ausgetestet.
Per Logig wird die Lüfterdrehzahl 3 geändert, das manuelle 3er Intervall auf 60min gestellt, und die manuellen Lüfterstufe gesetzt.
Nun ist es so, dass es nicht zuverlässig funktioniert, obwohl im Log meines Erachtens die sets vorhanden sind. Die THZ zeigt mir aber an, dass Sie auf Manuell steht, jedoch scheinbar in einer falschen Stufe, eben die, welche gerade durch das THZ-Programm aktiv ist. Also 1 (Tag) bzw. 2 (Nacht).

Logs:

2015.08.10 13:00:02 2: VentSommerReduziertSetDrehzahl: set Mythz p39Fanstage3AirflowInlet 125;set Mythz p42Fanstage3AirflowOutlet 125: 125 m3/h
125 m3/h
2015.08.10 13:00:02 2: VentSommerReduziertSetDrehzahl: set Mythz p39Fanstage3AirflowInlet 125;set Mythz p42Fanstage3AirflowOutlet 125: 125 m3/h
125 m3/h
2015.08.10 13:00:12 2: VentSommerReduziertSetZeit: set Mythz p43UnschedVent3 55;sleep 1: 55 min
2015.08.10 13:00:13 2: VentSommerReduziertSetZeit: set Mythz p43UnschedVent3 55;sleep 1: 55 min
2015.08.10 13:00:21 2: VentSommerReduziertSetModus: set Mythz p99startUnschedVent 3;sleep 1: 3
2015.08.10 13:00:22 2: VentSommerReduziertSetModus: set Mythz p99startUnschedVent 3;sleep 1: 3
2015.08.10 13:00:31 2: VentSommerReduziertSetModus2: set Mythz p99startUnschedVent 3;sleep 1: 3
2015.08.10 13:00:32 2: VentSommerReduziertSetModus2: set Mythz p99startUnschedVent 3;sleep 1: 3


Programm:

define VentAutoMode Dummy
attr VentAutoMode devStateIcon man:vent_ventilation_level_manual_m sommer:weather_summer winter:weather_winter
attr VentAutoMode group 02_automatische_Drehzahlsteuerung
attr VentAutoMode room 12_Heizung_Vent
set  VentAutoMode man
attr VentAutoMode setList state:man,sommer,winter
attr VentAutoMode webCmd man:sommer:winter         

define VentSommerReduziertDrehzahl Dummy
attr VentSommerReduziertDrehzahl group 02_automatische_Drehzahlsteuerung
set VentSommerReduziertDrehzahl 125
attr VentSommerReduziertDrehzahl room 12_Heizung_Vent
attr VentSommerReduziertDrehzahl setList state:slider,70,5,280
attr VentSommerReduziertDrehzahl webCmd state

define VentSommerErhoehtDrehzahl Dummy
attr VentSommerErhoehtDrehzahl group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtDrehzahl 200
attr VentSommerErhoehtDrehzahl room 12_Heizung_Vent
attr VentSommerErhoehtDrehzahl setList state:slider,70,5,280
attr VentSommerErhoehtDrehzahl webCmd state

define VentSommerInnenTemp Dummy
attr VentSommerInnenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerInnenTemp 24.5
attr VentSommerInnenTemp room 12_Heizung_Vent
attr VentSommerInnenTemp setList state:textField
attr VentSommerInnenTemp webCmd state

define VentSommerReduziertAussenTemp Dummy
attr VentSommerReduziertAussenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerReduziertAussenTemp 26.0
attr VentSommerReduziertAussenTemp room 12_Heizung_Vent
attr VentSommerReduziertAussenTemp setList state:textField
attr VentSommerReduziertAussenTemp webCmd state

define VentSommerErhoehtAussenTemp Dummy
attr VentSommerErhoehtAussenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtAussenTemp 23.0
attr VentSommerErhoehtAussenTemp room 12_Heizung_Vent
attr VentSommerErhoehtAussenTemp setList state:textField
attr VentSommerErhoehtAussenTemp webCmd state

define VentSommerErhoehtTempDifferenz Dummy
attr VentSommerErhoehtTempDifferenz group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtTempDifferenz 1.0
attr VentSommerErhoehtTempDifferenz room 12_Heizung_Vent
attr VentSommerErhoehtTempDifferenz setList state:textField
attr VentSommerErhoehtTempDifferenz webCmd state

# Lüftung im Sommer bei hoher Außentemperatur absenken
# Zunächst die Drehzahlen und Dauer setzen, falls noch nicht erfolgt
define VentSommerReduziertSetDrehzahl DOIF ([VentAutoMode] eq "sommer" and [+[1]:00] and ([?06:30-19:01|12345] or [?07:30-19:01|06]) and (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] > [VentSommerReduziertAussenTemp] and ([Mythz:p39Fanstage3AirflowInlet] ne [VentSommerReduziertDrehzahl] or [Mythz:p42Fanstage3AirflowOutlet] ne [VentSommerReduziertDrehzahl])) (set Mythz p39Fanstage3AirflowInlet [VentSommerReduziertDrehzahl];;set Mythz p42Fanstage3AirflowOutlet [VentSommerReduziertDrehzahl])
# dann die Lüftung auf 60min
define VentSommerReduziertSetZeit DOIF ([VentAutoMode] eq "sommer" and [([+[1]:00] + 10)] and ([?06:30-19:01|12345] or [?07:30-19:01|06]) and (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] > [VentSommerReduziertAussenTemp] and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0) (set Mythz p43UnschedVent3 55;;sleep 1)
# dann die Lüftung auf manuell stellen
define VentSommerReduziertSetModus DOIF ([VentAutoMode] eq "sommer" and [([+[1]:00] + 20)] and ([?06:30-19:01|12345] or [?07:30-19:01|06]) and (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] > [VentSommerReduziertAussenTemp] and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0) (set Mythz p99startUnschedVent 3;;sleep 1)
define VentSommerReduziertSetModus2 DOIF ([VentAutoMode] eq "sommer" and [([+[1]:00] + 30)] and ([?06:30-19:01|12345] or [?07:30-19:01|06]) and (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] > [VentSommerReduziertAussenTemp] and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0) (set Mythz p99startUnschedVent 3;;sleep 1)
attr VentSommerReduziertSetDrehzahl room 12_Heizung_Vent
attr VentSommerReduziertSetZeit room 12_Heizung_Vent
attr VentSommerReduziertSetModus room 12_Heizung_Vent
attr VentSommerReduziertSetModus2 room 12_Heizung_Vent
attr VentSommerReduziertSetDrehzahl group 00_DOIF
attr VentSommerReduziertSetZeit group 00_DOIF
attr VentSommerReduziertSetModus group 00_DOIF
attr VentSommerReduziertSetModus2 group 00_DOIF

# Lüftung im Sommer bei niedriger Außentemperatur erhöhen
# Zunächst die Drehzahlen und Dauer setzen, falls noch nicht erfolgt
define VentSommerErhoehtSetDrehzahl DOIF ([VentAutoMode] eq "sommer" and [+[1]:00] and ([?19:00-06:01|12345] or [?19:30-07:01|06]) and (((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] < [VentSommerErhoehtAussenTemp]) or ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz]))) and ([Mythz:p39Fanstage3AirflowInlet] ne [VentSommerErhoehtDrehzahl] or [Mythz:p42Fanstage3AirflowOutlet] ne [VentSommerErhoehtDrehzahl])) (set Mythz p39Fanstage3AirflowInlet [VentSommerErhoehtDrehzahl];;set Mythz p42Fanstage3AirflowOutlet [VentSommerErhoehtDrehzahl])
# dann die Lüftung auf 60min
define VentSommerErhoehtSetZeit DOIF ([VentAutoMode] eq "sommer" and [([+[1]:00] + 10)] and ([?19:00-06:01|12345] or [?19:30-07:01|06]) and (((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] < [VentSommerErhoehtAussenTemp]) or ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz]))) and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0) (set Mythz p43UnschedVent3 55;;sleep 1)
# dann die Lüftung auf manuell stellen
define VentSommerErhoehtSetModus DOIF ([VentAutoMode] eq "sommer" and [([+[1]:00] + 20)] and ([?19:00-06:01|12345] or [?19:30-07:01|06]) and (((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] < [VentSommerErhoehtAussenTemp]) or ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz]))) and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0) (set Mythz p99startUnschedVent 3;;sleep 1)
define VentSommerErhoehtSetModus2 DOIF ([VentAutoMode] eq "sommer" and [([+[1]:00] + 30)] and ([?19:00-06:01|12345] or [?19:30-07:01|06]) and (((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] < [VentSommerErhoehtAussenTemp]) or ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz]))) and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0) (set Mythz p99startUnschedVent 3;;sleep 1)
attr VentSommerErhoehtSetDrehzahl room 12_Heizung_Vent
attr VentSommerErhoehtSetZeit room 12_Heizung_Vent
attr VentSommerErhoehtSetModus room 12_Heizung_Vent
attr VentSommerErhoehtSetModus2 room 12_Heizung_Vent
attr VentSommerErhoehtSetDrehzahl group 00_DOIF
attr VentSommerErhoehtSetZeit group 00_DOIF
attr VentSommerErhoehtSetModus group 00_DOIF
attr VentSommerErhoehtSetModus2 group 00_DOIF


Gestern Nacht hatte ich per Diagramm den Zustand, dass jedes zweite Mal es funktioniert hat, deswegen habe ich jetzt probehalber mal  die Zeit auf 55 min gestellt, bei Interval 60min. Ebenso gebe ich nun zwei Mal das Kommando.

Ich habe aber wie gesagt auch festgestellt, wenn ich selber das Kommando gebe, dass es nicht zuverlässig per FHEM funktioniert. Immer erst auf den zweiten Drücker.

mfg
NaCkHaYeD

immi

Zitat von: NaCkHaYeD am 10 August 2015, 13:08:04
Ich habe aber wie gesagt auch festgestellt, wenn ich selber das Kommando gebe, dass es nicht zuverlässig per FHEM funktioniert
The tecalor understands the command but sometimes does not obey: it requires that you repeat the command twice, without waiting too much.
The problem is typical for "set Mythz p99startUnschedVent x", and has nothing to do with FHEM.
If you search in the forum, some users noted that this is happening also if you use the tecalor display interface.

So if you want to change the speed of the ventilator you have 2 possibilities.
1)   Use "set Mythz p08FanStageNight x" and after that change it to "y" (always works)
2)   Use  "set Mythz p99startUnschedVent x" and repeat it until the tecalor wants to obey
I prefer the second possibility.
e.g.
([co20:voc] > 1900 and [Mythz:sGlobal:[inputVentilatorPower. (\d+)]] < 29) (set Mythz p99startUnschedVent 2)

immi

micomat

Zitat von: immi am 09 August 2015, 09:16:04
v 0.143 uploaded
added heatcurves to backend, added p77OutThermFilterTime

Thanks, immi!
What exactly is p77 OutThermFilterTime showing?
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

immi

Zitat von: micomat am 11 August 2015, 02:49:36
What exactly is p77 OutThermFilterTime showing?
Hi
quote from tecalor

Direktanwahl: P77
Um zu vermeiden, dass bei schnellen Außentemperaturänderungen
die Heizkurve verschoben wird und dadurch die Wärmepumpe
ständig ein- und ausschaltet, wird die Außentemperatur
gedämpft. Es wird ein Mittelwert über die eingestellte Zeit gebildet.
Die Dämpfung kann unter diesem Parameter zwischen
0 und 24 Stunden variiert werden.

ciao
immi

micomat

Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

NaCkHaYeD

Hi,

bin jetzt von außerplanmässige Lüftung auf Drehzahl 3 (Party) gegangen, da das THZ Feature nicht zuverlässig funktioniert. Von 10 Versuchen haben 4-6 immer pro Tag funktioniert. Selbst wenn man das Kommando gegeben, Istwerte rückgelesen, wiederholt hat.

Mein Code ist wie folgt, wobei nur der Sommerbetrieb momentan umgesetzt:

define VentAutoMode Dummy
attr VentAutoMode devStateIcon man:vent_ventilation_level_manual_m sommer:weather_summer winter:weather_winter
attr VentAutoMode group 02_automatische_Drehzahlsteuerung
attr VentAutoMode room 12_Heizung_Vent
set  VentAutoMode man
attr VentAutoMode setList state:man,sommer,winter
attr VentAutoMode webCmd man:sommer:winter

define VentSommerReduziertDrehzahl Dummy
attr VentSommerReduziertDrehzahl group 02_automatische_Drehzahlsteuerung
set VentSommerReduziertDrehzahl 125
attr VentSommerReduziertDrehzahl room 12_Heizung_Vent
attr VentSommerReduziertDrehzahl setList state:slider,70,5,280
attr VentSommerReduziertDrehzahl webCmd state

define VentSommerErhoehtDrehzahl Dummy
attr VentSommerErhoehtDrehzahl group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtDrehzahl 200
attr VentSommerErhoehtDrehzahl room 12_Heizung_Vent
attr VentSommerErhoehtDrehzahl setList state:slider,70,5,280
attr VentSommerErhoehtDrehzahl webCmd state

define VentSommerInnenTemp Dummy
attr VentSommerInnenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerInnenTemp 24.5
attr VentSommerInnenTemp room 12_Heizung_Vent
attr VentSommerInnenTemp setList state:textField
attr VentSommerInnenTemp webCmd state

define VentSommerReduziertAussenTemp Dummy
attr VentSommerReduziertAussenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerReduziertAussenTemp 26.0
attr VentSommerReduziertAussenTemp room 12_Heizung_Vent
attr VentSommerReduziertAussenTemp setList state:textField
attr VentSommerReduziertAussenTemp webCmd state

define VentSommerErhoehtAussenTemp Dummy
attr VentSommerErhoehtAussenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtAussenTemp 23.0
attr VentSommerErhoehtAussenTemp room 12_Heizung_Vent
attr VentSommerErhoehtAussenTemp setList state:textField
attr VentSommerErhoehtAussenTemp webCmd state

define VentSommerErhoehtTempDifferenz Dummy
attr VentSommerErhoehtTempDifferenz group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtTempDifferenz 1.0
attr VentSommerErhoehtTempDifferenz room 12_Heizung_Vent
attr VentSommerErhoehtTempDifferenz setList state:textField
attr VentSommerErhoehtTempDifferenz webCmd state

# Lüftung im Sommer bei hoher Außentemperatur absenken
define VentSommerReduziert DOIF ([VentAutoMode] eq "sommer" and [+600] and ([?06:30-19:01|12345] or [?07:30-19:01|06]) and (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] > [VentSommerReduziertAussenTemp] and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0 and [Mythz:p07FanStageDay] != 3) (set Mythz p39Fanstage3AirflowInlet [VentSommerReduziertDrehzahl];;set Mythz p42Fanstage3AirflowOutlet [VentSommerReduziertDrehzahl];;set Mythz p07FanStageDay 3;;) DOELSEIF (([VentAutoMode] ne "sommer" or [+600] and ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) <= [VentSommerInnenTemp] or [Mythz:AussenTemp] <= [VentSommerReduziertAussenTemp])) and [Mythz:p07FanStageDay] != 2) (set Mythz p07FanStageDay 2;;)
attr VentSommerReduziert do always
attr VentSommerReduziert room 12_Heizung_Vent
attr VentSommerReduziert group 00_DOIF

# Lüftung im Sommer bei niedriger Außentemperatur erhöhen
define VentSommerErhoeht DOIF ([VentAutoMode] eq "sommer" and [+600] and ([?19:00-23:59|12345] or [?00:00-06:01|12345] or [?19:30-23:59|06] or [?00:00-07:01|06]) and (((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] < [VentSommerErhoehtAussenTemp]) or ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz]))) and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0 and [Mythz:p08FanStageNight] != 3) (set Mythz p39Fanstage3AirflowInlet [VentSommerErhoehtDrehzahl];;set Mythz p42Fanstage3AirflowOutlet [VentSommerErhoehtDrehzahl];;set Mythz p08FanStageNight 3;;) DOELSEIF (([VentAutoMode] ne "sommer" or [+600] and (((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) <= [VentSommerInnenTemp] or [Mythz:AussenTemp] >= [VentSommerErhoehtAussenTemp]) and ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) <= ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz])))) and [Mythz:p08FanStageNight] != 1) (set Mythz p08FanStageNight 1)
attr VentSommerErhoeht do always
attr VentSommerErhoeht room 12_Heizung_Vent
attr VentSommerErhoeht group 00_DOIF


Er bewirkt, dass zur Tageszeit, die Lüftung(250m³/h --> 125m³/h) reduziert wird, wenn eine Innentemperatur (24.5°C), Außentemperatur (26°C). überschritten wird. Ebenso wird in der Nacht bei unterschreiten einer Außentemperatur (23°C) und überschreiten einer Innentemperatur (26°C) oder einer Temperaturdifferenz von Innen zu Außen (1°C) die Lüftung (125m³/h --> 200m³h) erhöht. Alle Werte einstellbar über GUI. Geprüft wird alle 10min per DOIF. Die Drehzahlen werden auf Drehzahl 3 geschrieben und die Stufe am Tag zwischen 2 und 3, sowie in der Nacht zwischen 2 und 3 hin- und hergeschalten.

Für den Winter plan ich das selbige nur mit Luftfeuchtigkeit.
Das auswerten des VOC-Wertes habe ich noch unterlassen, da ich noch nicht genau die Zusammenhänge kenne. (nicht zuverlässig Stabil). Scheinbar sinkt die Luftqualität, wenn es im Haus zu Warm, Feucht wird.

mfg
NaCkHaYeD

immi

v 0.144 uploaded, you can upgrade tomorrow
- fixed warning $Math::Round::half"
immi

willybauss

@ NaCkHaYeD:
sieht aber mächtig aus. Da müsste ich mir 5 Knoten ins Hirn machen, um das so hin zu bekommen. Bin halt kein gebürtiger Softi.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

NaCkHaYeD

#268
Hi,

habs noch mal korrigieren müssen, wer daran interessiert ist/war.

define VentAutoMode Dummy
attr VentAutoMode devStateIcon man:vent_ventilation_level_manual_m sommer:weather_summer winter:weather_winter
attr VentAutoMode group 02_automatische_Drehzahlsteuerung
attr VentAutoMode room 12_Heizung_Vent
set  VentAutoMode man
attr VentAutoMode setList state:man,sommer,winter
attr VentAutoMode webCmd man:sommer:winter

define VentSommerReduziertDrehzahl Dummy
attr VentSommerReduziertDrehzahl group 02_automatische_Drehzahlsteuerung
set VentSommerReduziertDrehzahl 125
attr VentSommerReduziertDrehzahl room 12_Heizung_Vent
attr VentSommerReduziertDrehzahl setList state:slider,70,5,280
attr VentSommerReduziertDrehzahl webCmd state

define VentSommerErhoehtDrehzahl Dummy
attr VentSommerErhoehtDrehzahl group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtDrehzahl 200
attr VentSommerErhoehtDrehzahl room 12_Heizung_Vent
attr VentSommerErhoehtDrehzahl setList state:slider,70,5,280
attr VentSommerErhoehtDrehzahl webCmd state

define VentSommerInnenTemp Dummy
attr VentSommerInnenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerInnenTemp 24.5
attr VentSommerInnenTemp room 12_Heizung_Vent
attr VentSommerInnenTemp setList state:textField
attr VentSommerInnenTemp webCmd state

define VentSommerReduziertAussenTemp Dummy
attr VentSommerReduziertAussenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerReduziertAussenTemp 26.0
attr VentSommerReduziertAussenTemp room 12_Heizung_Vent
attr VentSommerReduziertAussenTemp setList state:textField
attr VentSommerReduziertAussenTemp webCmd state

define VentSommerErhoehtAussenTemp Dummy
attr VentSommerErhoehtAussenTemp group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtAussenTemp 23.0
attr VentSommerErhoehtAussenTemp room 12_Heizung_Vent
attr VentSommerErhoehtAussenTemp setList state:textField
attr VentSommerErhoehtAussenTemp webCmd state

define VentSommerErhoehtTempDifferenz Dummy
attr VentSommerErhoehtTempDifferenz group 02_automatische_Drehzahlsteuerung
set VentSommerErhoehtTempDifferenz 1.0
attr VentSommerErhoehtTempDifferenz room 12_Heizung_Vent
attr VentSommerErhoehtTempDifferenz setList state:textField
attr VentSommerErhoehtTempDifferenz webCmd state

# Lüftung im Sommer bei hoher Außentemperatur absenken
define VentSommerReduziert DOIF ([VentAutoMode] eq "sommer" and [+600] and ([?06:30-19:01|12345] or [?07:30-19:01|06]) and (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and [Mythz:AussenTemp] > [VentSommerReduziertAussenTemp] and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0 and [Mythz:p07FanStageDay] != 3) (set Mythz p39Fanstage3AirflowInlet [VentSommerReduziertDrehzahl];;set Mythz p42Fanstage3AirflowOutlet [VentSommerReduziertDrehzahl];;set Mythz p07FanStageDay 3;;) DOELSEIF (([VentAutoMode] ne "sommer" or [+600] and ((([?06:30-19:01|12345] or [?07:30-19:01|06]) and ((([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) <= [VentSommerInnenTemp] or [Mythz:AussenTemp] <= [VentSommerReduziertAussenTemp]) or ([?19:00-23:59|12345] or [?00:00-06:01|12345] or [?19:30-23:59|06] or [?00:00-07:01|06])))) and [Mythz:p07FanStageDay] != 2) (set Mythz p07FanStageDay 2)
attr VentSommerReduziert do always
attr VentSommerReduziert room 12_Heizung_Vent
attr VentSommerReduziert group 00_DOIF

# Lüftung im Sommer bei niedriger Außentemperatur erhöhen
define VentSommerErhoeht DOIF ([VentAutoMode] eq "sommer" and [+600] and ([?19:00-23:59|12345] or [?00:00-06:01|12345] or [?19:30-23:59|06] or [?00:00-07:01|06]) and (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > [VentSommerInnenTemp] and ([Mythz:AussenTemp] < [VentSommerErhoehtAussenTemp] or (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) > ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz])) and [Mythz:VentZuluft] != 0 and [Mythz:VentAbluft] != 0 and [Mythz:p08FanStageNight] != 3) (set Mythz p39Fanstage3AirflowInlet [VentSommerErhoehtDrehzahl];;set Mythz p42Fanstage3AirflowOutlet [VentSommerErhoehtDrehzahl];;set Mythz p08FanStageNight 3;;) DOELSEIF (([VentAutoMode] ne "sommer" or [+600] and ((([?19:00-23:59|12345] or [?00:00-06:01|12345] or [?19:30-23:59|06] or [?00:00-07:01|06]) and (    (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) <= [VentSommerInnenTemp] or [Mythz:AussenTemp] >= [VentSommerErhoehtAussenTemp] or (([Myhtu21dogcD:temperature] + [Myhtu21dwzcD:temperature]) / 2) <= ([Mythz:AussenTemp] + [VentSommerErhoehtTempDifferenz]))) or ([?06:30-19:01|12345] or [?07:30-19:01|06]))) and [Mythz:p08FanStageNight] != 1) (set Mythz p08FanStageNight 1)
attr VentSommerErhoeht do always
attr VentSommerErhoeht room 12_Heizung_Vent
attr VentSommerErhoeht group 00_DOIF


Das Problem war, wenn ein Tag/Nacht durch war und standen beide Lüfterstufen noch auf 3, die Drehzahl wurde aber vom letzten beschrieben. Dies hatte zur Folge das das neue Programm nicht mehr die Drehzahlen angepasst hat.

@willibaus:
Softi ja, aber FHEM und gerade DOIF ist noch ein Buch mit sieben Siegeln. Frage nicht wie oft ich mich aus der Weboberfläche ausgeschlossen habe, weil der DOIF jeden Zyklus aktiv war. Dann geht's zur Linux Konsole, das nächste Buch mit sieben Siegeln für einen Windows Programmierer. Wenn dann noch die SD Karte wegen einem Dateizuordnungsfehler nicht mehr bootet, bzw. Kernel Panics auftreten, dann....... Aber nach jedem Tief kommt ein Hoch und man lernt immer dazu. Hab dennoch meine drei Raspis gerne...

@all
Beschwert sich eigentlich keiner bei Tecalor/Stiebel wenn die manuellen Lüfterstufen nicht zuverlässig funktionieren. Ich weiß noch wo ich vor Weihnachten eingezogen bin und die Heizung ständig ausgestiegen ist. Sämtliche teuere Techniker wären aufgeschmissen gewesen, möchte gar nicht an das Geld denken über die Feiertage. Die Heizung meldete immer Fehler Hochdruckspeicher. Laut Beschreibung die vollkommen falsche Abhilfe, ebenso die vermeintlich verstopften Filter die es laut Beschreibung an den Ecken gar nicht gibt. Das Problem war einfach nur, dass die Warmwassertemperatur bei aktiven Eco-Mode zu hoch war. Halbes Grad runter und schon ging es. Laut Beschreibung sollte es bei Ecomode eben nicht zu solchen Problemen kommen, da die Heizung solange die Temperatur senkt, bis es passt, soweit die Theorie, die Praxis sieht anders aus. Kann euch gar nicht sagen, wie oft ich die Heizungsrohre entlüftet haben  ::)

mfg
NaCkHaYeD

willybauss

Man sollte tatsächlich mal den Support fragen. Habe grade leider keine Zeit für sowas.

Meine Vermutung ging ursprünglich in die Richtung, dass dem CAN-Bus evtl. der Abschlusswiderstand am Leitungsende fehlt und deshalb durch Reflektionen die Signale unlesbar sind. Nun scheint das Problem aber auch bei Anlagen ohne zweites Display aufzutreten. Dann ist diese Theorie wohl falsch.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS