THZ Tecalor (LWZ Stiebel Eltron) Wärmepumpe -Optimierung und Erfahrungsaustausch

Begonnen von willybauss, 07 Februar 2015, 11:30:16

Vorheriges Thema - Nächstes Thema

willybauss

Hi NaCkHaYeD,


mir ist noch was eingefallen: könnte es sein, dass Deine Heizkreise unterschiedlich lang sind? Dann würde vom kürzesten Heizkreis unnötig früh warmes Wasser zur THZ zurück fließen und "warm" melden. Idealerweise sind alle Kreise gleich lang; aber auch bei mir sind die Flur- und Toilettenkreise viel kürzer als der Rest.


Du kannst das feststellen, wenn Du Dich ab Beginn eines HEizzyklus mit einem Infrarotthermometer vor den Heizkreisverteiler setzt und misst, wann in welchem Rücklauf die Temperatur ansteigt. Wenn da einer viel früher als alle anderen kommt, könnte der die Ursache sein. Evtl. ist es dann möglich, diesen Kreis im Durchfluss zu drosseln, um den Effekt abzumildern.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

willybauss

Zitat von: immi am 22 März 2015, 13:01:53
I moved from

define extraVent notify co20 IF ([co20:voc] > 2000) (set Mythz p99startUnschedVent 2)

to

define extraVent DOIF ([co20:voc] > 2000) (set Mythz p99startUnschedVent 2)
attr extraVent cmdpause 7200
attr extraVent do always


explanations:
- it evaluates the condition on every notify of  co20:voc and sets p99startUnschedVent 2 if air quality is bad.
- it does not trigger a second time before 2h
- it evaluates the  condition also if  ([co20:voc] > 2000) remains always true

The DOIF is wonderfull: much more control, so many examples... Especially for sending defining confitions for sending email is great.
http://fhem.de/commandref_DE.html#DOIF

Zitat von: willybauss am 22 März 2015, 16:05:48
I would suggest you to add something like
... AND FanSelector < 2 ...
Otherwise it might happen that someone seleced maximum speed (3) manually and your code switches it back to 2.

Zitat von: immi am 22 März 2015, 22:31:25
makes sense; but not with FanSelector (which can be dayFanSelector , nightFanSelector...).
I will take the actual sGlobal fanspeed.

Hi immi,

did you realize that? I installed my co20 sensor (Velux, located inside exhaust ventilation pipe) a few days ago and would be interrested on how you did it.

My DOIF looks like

([Abluft_co20:voc] > 2000) (set Mythz p99startUnschedVent 3, set Mythz p43UnschedVent3 60) DOELSEIF ([Abluft_co20:voc] > 1000) (set Mythz p99startUnschedVent 2, set Mythz p44UnschedVent2 60)


without


attr extraVent cmdpause 7200


Advantage is that the bug (unscheduled vent does not always take effect) doesn't matter: if it didn't work it gets another try 5 minutes later. And the vent level 3 takes just as long as really needed: as soon as co20:voc goes below 2000 the vent level will automatically go back to 2 immediately.
Disadvantage is a delayed going back to level 1 when air quality is back below 1000.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

immi

Hi Willy
I used the same strategy (removing the cmdpause) for many weeks.
It was not bad, but not perfect. I think I found something better

define extraVent DOIF ([21:00-06:00] and [co20:voc] > 2000 and [Mythz:sGlobal:[inputVentilatorPower. (\d+)]] < 29) (set Mythz p99startUnschedVent 1) (set Mythz p99startUnschedVent 1)
attr extraVent wait 3,30
attr extraVent cmdpause 7200
attr extraVent do always

I repeat the command two times, with a pause of 30s inbetween.
Actually wait 3,30 means wait 3s before the first command and 30s before the second.
The 30s are ok for the bug of my tecalor, maybe you need another strategy.

The sensor threshold value depends on my particular sensor and on where you place it. I chosed a clean place in the studio, far from kitchen and sleeping rooms. My sensor saturates very fast, but it is quite sensitive when air is clean.

Why I use the CO20 sensor?
I switch off my vent in winter during the night, in order to keep the house warm and humidity high.
The sensor tells the tecalor to activate a UnschedVent when air is too bad.

p.s. I never change p43UnschedVentX. If I were you, I would not do it in the same DOIF. I do not understand the UnschedVent-bug, therefore I keep it simple.

immi

willybauss

sounds interresting, I'll give it a try, es pecially the  "and [Mythz:sGlobal:[inputVentilatorPower. (\d+)]] < 29"  part. Reason for me to set p44UnschedVent2/p43UnschedVent3 is that I sometimes activate unscheduled ventilation manually; so the current value may be different from automation needs. This should work also, since the DOIF doesn't contain any code for setting extra vent back to 1.


Maybe over time I'll ad a second sensor anywhere outside the ventilation hoses (for switching ventilation off during night, or even during daytime when nobody is at home) or even a third one inside the kitchen exhaust hose, for better reaction on cooking smell. Another idea would be sending a signal to fhem as soon as extractor hood starts to work.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

immi

Zitat von: willybauss am 27 Februar 2016, 20:03:19
I installed my co20 sensor (Velux, located inside exhaust ventilation pipe) a few days ago and would be interrested on how you did it.
I just read it completely, this morning I was asleep.
inside exhaust ventilation pipe is coool!!

houseowner123

Hi immi, willy and micomat,

I am back again. Was so busy with other projects but now you got my attention. I also order a Velux C20 sensor. Actually just one, to check but the ultimate goal is to have 2 one on the air inlet, the other on the outlet. The latter one is clear if the air bad inside but often (in the big city) we have pretty bad air coming in if the neighbors illegally burn trash and the exhaust from the the houses with fireplaces. Do you think it is too much to have both sensors installed and run in conjunction with the THZ. Especially if both detectors sense bad air quality? Good idea to have 2 - or will this cause trouble and nightmares? René

willybauss

Hi,
da es ja nicht direkt immi betrifft möchte ich zur "Standardsprache dieses Threads" zurück kehren.

Ich halte es für eine gute Idee, auch die Zuluft zu messen und ggf. automatisch die Lüftung auszusetzen. Du musst halt für die Steuerung eine Logik finden, bei der sich die DOIF's von Zu- und Abluft nicht permanent gegenseitig ein- und ausschalten.

Der Nachteil der zentralen Abluft-Messung ist, dass hohe ppm-Werte in einem Raum "verdünnt" gemessen werden, wenn in allen anderen Ablufträumen die Luft gut ist. Bei mir ist die Lüftungsanlage so ausgelegt, dass die Zuleitungen alle Zu- und Abluftöffnungen sich im Keller an 2 zentralen Verteilern treffen. Von daher wäre es relativ einfach möglich, jede Abluft einzeln zu messen. Ich müsste dann halt einen RaspberryPi mit 4 - 5 Sensoren direkt am Verteiler installieren und über Ser2Net an fhem anbinden.

Auch dabei wäre der Nachteil, dass nur gemessen werden kann, solange die Lüftung auch wirklich läuft. Sobald der Abluftlüfter steht ist keine Aussage über die Luftqualität in den Wohnräumen möglich. Deshalb werde ich einen Sensor direkt im Schlafzimmer installieren (wenn das funktioniert folgt ein weiterer im Wohnzimmer). Dann kann ich nachts die Lüftung komplett abschalten; nur bei Bedarf wird sie so lange zugeschaltet, bis der ppm-Wert wieder stimmt.

Der Sensor sollte heute kommen; Installation dann wohl am Wochenende. Ich werde berichten, wie es geklappt hat.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

willybauss

Hi,
ich habe es heute geschafft, einen zweiten Luftqualitätssensor in Betrieb zu nehmen. Der erste Sensor hängt direkt am USB-Port des fhem-Servers (Sensor hängt im Abluftschlauch der Lüftung). Den zweiten Sensor wollte ich eigentlich (weil zu weit weg für ein USB-Kabel) per Ser2Net anbinden; das habe ich aber nicht geschafft. Statt dessen habe ich jetzt auf dem zweiten RaspberryPi ein FHEM installiert, das über das FHEM2FHEM Modul die Daten an den Server liefert. Die Konfigurationen:

1. Sensor direkt am FHEM-Server:

define Abluft_co20 CO20
attr Abluft_co20 advanced 1
attr Abluft_co20 event-on-update-reading voc
attr Abluft_co20 retries 5
attr Abluft_co20 room Heizung
attr Abluft_co20 timeout 2000

define FileLog_Abluft_co20 FileLog /mntUSB/fhem/log/CO20-%Y-%m.log Abluft_co20:voc.*

define Mythz_Plot5_Abluft_co20 SVG FileLog_Abluft_co20:SVG_FileLog_Abluft_co20_1:CURRENT
attr Mythz_Plot5_Abluft_co20 label "Abluft voc: $data{currval4} - at - $data{currdate1}"
attr Mythz_Plot5_Abluft_co20 plotsize 840,210
attr Mythz_Plot5_Abluft_co20 room Heizung_Plot


2. Externer Sensor am remote FHEM (zweiter RaspberryPi)

define Schlafzimmer_co20 CO20
attr Schlafzimmer_co20 advanced 1
attr Schlafzimmer_co20 event-on-update-reading voc
attr Schlafzimmer_co20 interval 300
attr Schlafzimmer_co20 room Heizung


Anbindung des externen Sensors an die FHEM-Instanz des Servers:

define F2F_Schlafzimmer_co20 FHEM2FHEM raspberrypi:7072 LOG:Schlafzimmer_co20.*
attr F2F_Schlafzimmer_co20 group CO20
attr F2F_Schlafzimmer_co20 room Heizung

define Schlafzimmer_co20clone cloneDummy Schlafzimmer_co20 voc
attr Schlafzimmer_co20clone event-on-update-reading voc
attr Schlafzimmer_co20clone group CO20
attr Schlafzimmer_co20clone room Heizung
attr Schlafzimmer_co20clone stateFormat _state

define FileLog_Schlafzimmer_co20clone FileLog /mntUSB/fhem/log/CO20-%Y-%m.log Schlafzimmer_co20clone:voc.*

define Mythz_Plot6_Schlafzimmer_co20 SVG FileLog_Schlafzimmer_co20clone:SVG_FileLog_Schlafzimmer_co20clone_1:CURRENT
attr Mythz_Plot6_Schlafzimmer_co20 label "Schlafzimmer voc: $data{currval4} - at - $data{currdate1}"
attr Mythz_Plot6_Schlafzimmer_co20 plotsize 840,210
attr Mythz_Plot6_Schlafzimmer_co20 room Heizung_Plot


Lüftersteuerung in Abhängigkeit von der Abluftqualität - ganztägig:

define extraVent_Abluft DOIF ([Abluft_co20:voc] > 2000 and [Mythz:sGlobal:[inputVentilatorPower. (\d+)]] < 42) \
        (set Mythz p99startUnschedVent 3, set Mythz p43UnschedVent3 60) \
    DOELSEIF \
    ([Abluft_co20:voc] > 1200 and [Mythz:sGlobal:[inputVentilatorPower. (\d+)]] < 32) \
        (set Mythz p99startUnschedVent 2, set Mythz p44UnschedVent2 30)
attr extraVent_Abluft do always
attr extraVent_Abluft room Heizung


Dummerweise funktioniert die Steuerung über die Abluft nachts nicht, weil über ein Zeitprogramm die Lüftung nachts auf Stufe 0 ist ==> es gibt keine Abluft ==> der Messwert ändert sich nicht, auch wenn im Haus die Luft schlecht ist. Deshalb ...

Lüftersteuerung fürs Schlafzimmer, weil die Lüftung nachts aus ist:

define extraVent_Schlafzimmer DOIF ([00:00-07:00] and [Schlafzimmer_co20clone:voc] > 1200 and [Mythz:sGlobal:[inputVentilatorPower. (\d+)]] < 32) \
        (set Mythz p99startUnschedVent 2, set Mythz p44UnschedVent2 30) \
    DOELSEIF \
    ([00:00-07:00] and [Schlafzimmer_co20clone:voc] > 900 and [Mythz:sGlobal:[inputVentilatorPower. (\d+)]] < 10) \
        (set Mythz p99startUnschedVent 1, set Mythz p45UnschedVent1 60)
attr extraVent_Schlafzimmer do always
attr extraVent_Schlafzimmer event-on-update-reading voc
attr extraVent_Schlafzimmer room Heizung


Die DOIF's beinhalten eine Abfrage nach der aktuellen Lüfterdrehzahl (danke immi!), so dass trotz des "do always" Attributs nur so lange Befehle an die THZ gesendet werden, bis sie tatsächlich die Drehzahl hoch genommen hat (wegen des Bugs in der THZ ist das ja nicht immer aufs erste mal gewährleistet).

Das zweite DOIF ist außerdem mit der Uhrzeit verknüpft, so dass es nur nachts aktiv ist und tagsüber dem anderen DOIF nicht in die Quere kommt.

Die beiden SVG Files habe ich angehängt.

Ich werde das Ganze jetzt mal ein paar Tage laufen lassen und berichten, wie es sich bewährt hat. Evtl. wird dann igendwann der Abluftsensor entfernt und ins Wohnzimmer gehängt - mit einem dritten Raspi  :).


@immi:
You chose  Mythz:sGlobal:inputVentilatorPower  as an identifier for real ventilator level. My impression is, that  Mythz:sGlobal:inputVentilatorSpeed  might be the better one.  ...Power is the real actual value, which depends on e.g. cleanliness of filters.  ...Speed is the set value which doesn't change based on such effects. What do you think about that?
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

immi

Willy nice job; and excellent documentation. thanks for sharing.
You chose  Mythz:sGlobal:inputVentilatorPower  as an identifier for real ventilator level. My impression is, that  Mythz:sGlobal:inputVentilatorSpeed  might be the better one.  ...Power is the real actual value, which depends on e.g. cleanliness of filters.
Maybeyou are right. I chosed the first one I looked at.
I noticed that the margin between vent-level-0 and vent-level-1 is so high with inputVentilatorPower... and I never had a probem with it.
immi

willybauss

I also see a big step from level 1 to 2, but just a marginal step from level 2 to 3. So in my case it's a bit of good luck if it works well. I'll think it over in a few days from now, when I have a bit more experience.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

willybauss

Having another look into the data, it looks like I mixed things up. ...Power is the Set-value, and ...Speed is toe actual value. So your implementation is the correct one.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

peter456

Hallo Willy,

danke für deine detaillierte Erklärung zur Überwachung der Raumluftqualität.
Ich würde auch gerne bei meiner Anlage so einen Sensor einbauen.
Da mein Raspi direkt in der Nähe der LWZ aufgebaut ist, bietet sich hier auch die Installation
eines USB-Sensors direkt in dem Abluftrohr zur LWZ.
Da hier aber die Lüft meistens nur "steht" (keine Strömung wenn die Lüftung gerade aus ist), ist diese Montageposition, wie du schon geschrieben hast, eigentlich nicht optimal.
Macht hier vielleicht eine Takt-Laufzeit wie bei der Heizungspumpe Sinn?
Das man z.B. 1 Mal pro Stunde die Lüftung in der Stufe 1 für 3-5 Minuten laufen lässt und dann anschließend je nach Raumluftqualität über weitere Aktionen an der Lüftung entscheidet.
Hast du evtl. ein Bild von deinem USB-Raumluftsensor (im eingebautem Zustand).
Grüße Peter

willybauss

Hi Peter,
das ist der Sensor. Den gibt es auch bei Velux zum selben Preis, jeweils plus Versand. Ich habe ihn einfach an der Anschlussfuge zwischen Rohr und Schalldämpfer eingeschoben, so dass er drinnen frei hängt. Sehen tut man da im eingebauten Zustand nichts mehr, außer der grünen LED, die durch das Rohr (eigentlich ein Ziehharmonikaschlauch) schimmert.

Wenn bei Dir die Lüftung fast immer aus ist wird das so natürlich nichts bringen. Jede Stunde für ein paar Minuten laufen lassen - weiß ich nicht, ob da schnell genug schlechte Luft unten ankommt. Könnte aber klappen. Die Experten sind sich aber nicht einig, wie lange das Mainboard der THZ es mit macht, wenn man zu häufig die Parameter (hier Lüfterstufen) umprogrammiert - Flashspeicher mit begrenzter Anzahl Schreibzyklen. Ich hoffe, dass meine ca. 3 - 4 mal pro Tag ok sind. Bei Dir wären es ja dann eher 24 mal am Tag ... Außerdem: wenn die Stunde grade rum ist und Du fängst an zu kochen, dann dauert es wieder fast 1 Stunde, bis die Anlage es mit bekommt.

Was natürlich dazu kommt: im Abluftrohr kommt die Summe (bzw. eigentlich der Durchschnitt) der Luftqualitäten aller Abluftansaugungen an. Wenn die Luft im Bad jetzt schlecht ist, in allen anderen Räumen aber gut, dann kommt von "schlecht" nur ein Teil unten an. Da muss man dann halt mit den Parametern des Sensors spielen.

Bei uns lief die Lüftung bislang rund um die Uhr mit 80m³ pro Stunde. Nach dem Einbau des Abluftsensors bin ich auf den Minimalwert vom 50m³/h runter und hoffe, sie durch den zusätzlichen Schlafzimmersensor nachts für ein paar Stunden ganz aus stellen zu können.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

micomat

zu den Schreibzyklen: Kann denn jemand rausfinden welches Flash-Memory-Module verbaut ist? Dann koennte man eine genauere Aussage zur Lebensdauer treffen...
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

peter456

Bezüglich der Schreibzyklen habe ich auch schon gedacht. Vielleicht komme ich am Wochenende dazu nach dem Flash-Modul in meiner LWZ nachzuschauen. Desweiteren muss ich bei meiner LWZ manchmal bis zu 3 Mal nacheinander den gleichen Befehl senden bis dieser übernommen wird.