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

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

Vorheriges Thema - Nächstes Thema

The Spirit

seit ca. gestern mittag läuft meine Tecalor 304 Eco recht häufig (siehe Stromaufname der Wärmepumpe).
Kann mir jemand sagen, woran dies liegt?
Kann das mit der Umstellung Winterzeit auf Sommerzeit zu tun haben?
Danke

Bild 1 Zeigt die Leistungsaufnahme
Bild 2 Zeigt die HK1 Vorlauftemperatur
Bild 3 Zeigt die Warmwassertemperature

THZ 304 Eco Baujahr 2015

TheTrumpeter

Also ich kann daraus nichts ablesen...

Stell' doch die Plots in dem von willybauss geposteten Format zur Verfügung... dann wird Dir sicher geholfen.

PS: Meine 404SOL zeigt keine Auffälligkeit durch die Zeitumstellung.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

The Spirit

Ok.
Muss mal schauen ob ich das hin bekomme.
Hole mir aktuell die Daten von FHEM mit loxone und hab in FHEM sonst nichts konfiguiert.
Danke schonmal trotzdem.

P.S. wo finde ich den das "Format" von willybauss? Gibt es da code für die fhem.cfg für diesen Teil?
THZ 304 Eco Baujahr 2015

TheTrumpeter

Wenn Du das "Mythz"-Logfile in FHEM hast, sollte das ausreichen, sofern Du die relevanten Readings in halbwegs vernünftigen Intervallen abfragst (und speicherst).
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

willybauss

Zitat von: The Spirit am 27 März 2017, 13:38:02
P.S. wo finde ich den das "Format" von willybauss? Gibt es da code für die fhem.cfg für diesen Teil?
Auf der ersten Seite des Threads sind alle meine Plots als Dateien zum runter laden. Damit sieht man dann halt auch die Zusammenhänge, z.B. Außen-, Innen-, Vorlauf-, Rücklauftemperatur usw. auf einen Blick.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

The Spirit

Hi.
Hab gestern erst ein logfile anlegen müssen, da ich das bisher ja nicht gebraucht und daher gelöscht hatte.
Heute früh hab ich aber gesehen, das im log, keine Daten sind.
Muss mir das heute Abend nochmal genauer ansehen.
Danke schonmal vorab.
THZ 304 Eco Baujahr 2015

willybauss

Auch die richtige Konfiguration fürs Logfile kannst Du dir aus der Beispielkonfiguration im ersten Beitrag kopieren.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

The Spirit

hab jetzt alles so gemacht, aber leider sind die plots leer (keine daten werden angezeigt).
Leider finde ich aber keinen fehler.
Kannst  du mal drüber schauen?
Danke

hier die fhem.cfg
#Heizung einbinden
define Mythz THZ /dev/ttyUSB0@115200
attr Mythz interval_sGlobal 300 # Internes Polling Intervall 5min
attr Mythz interval_sHistory 28800 # Internes Polling Intervall 8h
attr Mythz interval_sLast10errors 28800 # Internes Polling Fehlerspeicher
attr Mythz room Heizung
attr Mythz event-on-change-reading pOpMode
attr Mythz interval_sBoostDHWTotal 3600
attr Mythz interval_sBoostHCTotal 3600
attr Mythz interval_sDHW 3600
attr Mythz interval_sDisplay 300
attr Mythz interval_sElectrDHWTotal 3600
attr Mythz interval_sElectrHCTotal 3600
attr Mythz interval_sFlowRate 3600
attr Mythz interval_sHC1 300
attr Mythz interval_sHeatDHWTotal 3600
attr Mythz interval_sHeatHCTotal 3600
attr Mythz interval_sHeatRecoveredTotal 28800
attr Mythz userReadings Rel_humidity:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[67]) + 11.5}, flow_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[3])}, return_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[5])}, outside_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[1])}, dhw_temp:sGlobal.* {((split ' ',ReadingsVal("Mythz","sGlobal",0))[9])}, inside_temp:sHC1.* {((split ' ',ReadingsVal("Mythz","sHC1",0))[27])}, CopHC:sHeatRecoveredDay.* {sprintf("%.2f", ReadingsNum("Mythz","sHeatHCDay",1) / ReadingsNum("Mythz","sElectrHCDay",1))}, CopDHW:sHeatRecoveredDay.* {sprintf("%.2f", ReadingsNum("Mythz","sHeatDHWDay",1) / ReadingsNum("Mythz","sElectrDHWDay",1))}

define FileLog_Mythz FileLog ./log/Mythz-%Y.log Mythz
define Mythz_Plot1_Temp SVG FileLog_Mythz:thz1:CURRENT
attr Mythz_Plot1_Temp label "Innen $data{currval7}°C, Außen $data{currval8}°C, Luftfeuchtigk. $data{currval2}%, Brauchwasser $data{currval1}°C, HC1-Soll $data{currval5}°C, HC1-Ist $data{currval6}°C"
attr Mythz_Plot1_Temp plotsize 840,420
attr Mythz_Plot1_Temp room Heizung_Plot

define Mythz_Plot2_HC1Offset_Integral SVG FileLog_Mythz:thz2:CURRENT
attr Mythz_Plot2_HC1Offset_Integral label sprintf("HC1Soll-HC1Ist %0.1fK, Integralwert %0.1f", $data{currval1}, $data{currval2})
attr Mythz_Plot2_HC1Offset_Integral plotsize 840,210
attr Mythz_Plot2_HC1Offset_Integral room Heizung_Plot

define Mythz_Plot3_Internals SVG FileLog_Mythz:thz3:CURRENT
attr Mythz_Plot3_Internals label "TimeStamp:  $data{currdate1}"
attr Mythz_Plot3_Internals plotsize 840,210
attr Mythz_Plot3_Internals room Heizung_Plot
# attr Plot2_Internals label "Zu-Soll $data{currval1}%, Zu-Ist $data{currval2}Hz, Ab-Soll $data{currval3}%, Ab-Ist $data{currval4}Hz, Fort-Ist $data{currval5}Hz"

define SVG_FileLog_Mythz_1 SVG FileLog_Mythz:SVG_FileLog_Mythz_1:CURRENT
define SVG_FileLog_Mythz_2 SVG FileLog_Mythz:SVG_FileLog_Mythz_2:CURRENT
attr SVG_FileLog_Mythz_2 plotsize 840,400
define Mythz_Plot4_Fans SVG FileLog_Mythz:thz4:CURRENT
attr Mythz_Plot4_Fans label "Zu-Soll $data{currval1}%, Zu-Ist $data{currval2}Hz, Ab-Soll $data{currval3}%, Ab-Ist $data{currval4}Hz, Fort-Ist $data{currval5}Hz"
attr Mythz_Plot4_Fans plotsize 840,210
attr Mythz_Plot4_Fans room Heizung_Plot

define rg_thz readingsGroup Mythz:<%temp_inside@green>,<Innen>,inside_temp Mythz:<%temp_outside@blue>,<Aussen>,outside_temp Mythz:<%temperature_humidity@green>,<Luftfeuchte>,Rel_humidity Mythz:<%sani_supply_temp@purple>,<Vorlauf>,flow_temp Mythz:<%sani_return_temp@BD7800>,<Rücklauf>,return_temp Mythz:<%sani_boiler_temp@red>,<Brauchwasser>,dhw_temp
attr rg_thz alias Heizung Temperaturen
attr rg_thz group THZ
attr rg_thz room Heizung
attr rg_thz valueFormat { inside_temp => '%0.1f °C', outside_temp => '%0.1f °C', Rel_humidity => '%0.1f %%', flow_temp => '%0.1f °C', return_temp => '%0.1f °C', dhw_temp => '%0.1f °C' }

define wl_hr2 weblink htmlCode <div class="SVGplot"><embed src="/fhem/THZ_PrintcurveSVG/" type="image/svg+xml"  name="wl_hr2"/></div> <a href="/fhem?detail=wl_hr2">wl_hr2</a><br>
attr wl_hr2 room Heizung
THZ 304 Eco Baujahr 2015

willybauss

und im Logfile sind die Daten jetzt vorhanden? Plots können nur das anzeigen, was im Logfile drin ist.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

willybauss

Wie kommt diese Zeile in Deine config?:

attr Mythz event-on-change-reading pOpMode

Die gehört da bestimmt nicht hin.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

TheTrumpeter

Heute hat meine Wärmepumpe in den Sommermodus geschaltet. Dabei ist gleich ein weiterer Firmware-Bug ans Tageslicht gekommen...

Ich habe die Parameter
p49SummerModeTemp = 10°C
p50SummerModeHysteresis = 2K

Als die gefilterte Aussentemperatur heute erstmals auf 11,1°C gestiegen ist, hat die Anlage in den Sommermodus geschaltet.

Erst dachte ich, dass vielleicht die Korrektur der Aussentemperatur im gefilterten Wert nicht berücksichtigt wird, aber das stimmt nicht. Die Korrektur ist bei mir auf -2°C gestellt, d.h. das passt nicht zusammen.

p49 lässt sich in halben Grad einstellen, wobei 10°C der niedrigste mögliche Wert ist.
p50 lässt sich in Zehntel Grad einstellen. Daher ist es mir rätselhaft, wie man "11,1 > (10,0+2,0)" berechnet.

Bin gespannt, bei welcher Temperatur wieder der Wintermodus kommt. Mir ist im letzten Frühjahr schonmal aufgefallen, dass die Anlage ein paarmal zwischen Sommer- und Wintermodus wechselt. Nur hatte ich da noch kein FHEM, sodass ich die gefilterte Temperatur gesehen hätte.
Möglicherweise ist die Auswertung unten ja ähnlich, z.B. "8,9 < (10,0-2,0)"?

Wer hat den Bug noch?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

willybauss

Ups, dann habt ihr es aber kühl, wenn heute erstmalig die 11° erreicht wurden. Bei mir (p49 auf 12°) ist sie schon seit ner Weile täglich für einige Stunden auf Sommer.

Die Sommer-Winter-Umschaltung arbeitet mit der gefilterten Außentemperatur. Wenn ich dich richtig verstehe hast du das berücksichtigt. Bei einer so großen Differenz wie du es schilderst wird es wohl nicht nur der zeitliche Offset zwischen 2 Readings sein. Dann bleibt wohl nur noch ein Bug übrig.

Seit gestern Nacht hat sie sich auch in den DHW-Modus verabschiedet, d.h. geheizt wird gar nicht mehr. Das mache ich ja über fhem automatisch in Abhängigkeit von Innen- und Außentemperaturen.
Eigentlich wollte sie letzte Woche schon mal in den DHW-Modus wechseln, aber da war meine Frau krank; da wollte ich unter keinen Umständen eine auskühlende Wohnung riskieren, habe deshalb wieder auf Automatic zurück gestellt.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

TheTrumpeter

Zitat von: willybauss am 29 März 2017, 22:32:37
Ups, dann habt ihr es aber kühl, wenn heute erstmalig die 11° erreicht wurden. Bei mir (p49 auf 12°) ist sie schon seit ner Weile täglich für einige Stunden auf Sommer.
Ich meine bei Deinen Plots mal gesehen zu haben, dass Du eine relativ kurze Filterzeit eingestellt hast. Da kommst Du natürlich schneller über die Schwelle, aber natürlich auch schneller wieder drunter.
Ich habe 24h Filterzeit eingestellt, da dauert das.

Zitat von: willybauss am 29 März 2017, 22:32:37
Die Sommer-Winter-Umschaltung arbeitet mit der gefilterten Außentemperatur. Wenn ich dich richtig verstehe hast du das berücksichtigt. Bei einer so großen Differenz wie du es schilderst wird es wohl nicht nur der zeitliche Offset zwischen 2 Readings sein. Dann bleibt wohl nur noch ein Bug übrig.
Scheint so.
11,1°C wurden um 15:29 Uhr erreicht, um 15:27 war noch Winterbetrieb, beim nächsten Update dann bereits Sommermodus. 12,0°C wurden erst um 18:52 Uhr erreicht.

Zitat von: willybauss am 29 März 2017, 22:32:37
Seit gestern Nacht hat sie sich auch in den DHW-Modus verabschiedet, d.h. geheizt wird gar nicht mehr. Das mache ich ja über fhem automatisch in Abhängigkeit von Innen- und Außentemperaturen.
Anhand welcher Kriterien machst Du das genau?

Ich habe schon seit 2 Wochen das Gefühl, die Heizung wäre nicht mehr nötig. Sie läuft auch schon den ganzen März nur noch 1x am Tag für relativ kurze Zeit und ist öfter auch wegen dem vollgelaufenen Integral und gar nicht wegen der Hysterese angesprungen. Gut, die Stromkosten dafür sind überschaubar, aber wie gesagt, nötig wäre es wohl nicht.

Auf die Idee einfach in den Warmwassermodus zu schalten, bin ich bisher gar nicht gekommen...
Wahrscheinlich funktioniert dann aber auch der Kühlbetrieb nicht. Kühlen ist zwar standardmässig deaktiviert, aber alle 2-3 Jahre aktiviere ich es für ein paar Tage im Sommer. Daran müsste ich denken bzw. könnte ich ja auch wieder auf Automatik schalten, wenn die gefilterte Aussentemperatur hoch genug ist.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

willybauss

Zitat von: TheTrumpeter am 30 März 2017, 21:18:41
Ich meine bei Deinen Plots mal gesehen zu haben, dass Du eine relativ kurze Filterzeit eingestellt hast. Da kommst Du natürlich schneller über die Schwelle, aber natürlich auch schneller wieder drunter.
Ich habe 24h Filterzeit eingestellt, da dauert das.
24h ? ? ? Die Filterzeit sollte halt zur Zeitkonstante der Wärmewanderung durch die Wände passen. Bei einer dicke Steinwand dauert es evtl. 24 Stunden, bis eine außen auftretende Temperaturänderung bis nach innen durch gewandert ist. Bei Holzständerwänden ist das eher im 1 - 2 Stunden-Bereich. Die Idee dahinter ist, dass die Heizung genau in dem Augenblick reagiert, in dem die Änderung der Außentemperatur innen ankommt. Deshalb habe ich auf 1 Stunde eingestellt und bin damit zufrieden. (Die kurze Reaktion von Holzständerwänden ist lediglich der Wärmekapazität geschuldet und hat nichts mit evtl. schlechten Isolationseigenschaften zu tun.)

Zitat von: TheTrumpeter am 30 März 2017, 21:18:41
Anhand welcher Kriterien machst Du das genau?

Automatic Modus, wenn in Wohnzimmer oder Bad eine bestimmte Temperatur unterschritten wird:
# prüfe alle 2 Stunden um xx:03:00 ob zu kalt und schalte ggf. Heizung ein
define OpModeDhwToAuto at +*02:00:00 IF ((([Mythz:sHC1:[insideTempRC. (\S+)]] < ([Mythz:p02RoomTempNightHC1:d] - 0.5)) or ([LaCrosse_Bad_OG:temperature] < ([Mythz:p02RoomTempNightHC1:d]))) and ([Mythz:pOpMode] eq "DHWmode")) (set Mythz pOpMode automatic)
attr OpModeDhwToAuto alignTime 00:03:00
attr OpModeDhwToAuto room Heizung


DHW Mode, wenn es nachts draußen warm genug und innen ebenfalls warm genug ist:

# prüfe 1 mal nachts un 2 Uhr, ob innen und aussen warm genug und schalte ggf, Heizung aus
define OpModeAutoToDhw at *02:02:00 IF (([Mythz:sHC1:[insideTempRC. (\S+)]] > ([Mythz:p02RoomTempNightHC1:d] + 0.7)) and ([LaCrosse_Bad_OG:temperature] > ([Mythz:p02RoomTempNightHC1:d] + 1.0)) and ([Mythz:outside_temp] > 3) and ([Mythz:pOpMode] eq "automatic")) (set Mythz pOpMode DHWmode)
attr OpModeAutoToDhw room Heizung


Zitat von: TheTrumpeter am 30 März 2017, 21:18:41
Ich habe schon seit 2 Wochen das Gefühl, die Heizung wäre nicht mehr nötig. Sie läuft auch schon den ganzen März nur noch 1x am Tag für relativ kurze Zeit und ist öfter auch wegen dem vollgelaufenen Integral und gar nicht wegen der Hysterese angesprungen. Gut, die Stromkosten dafür sind überschaubar, aber wie gesagt, nötig wäre es wohl nicht.
Viel schlimmer dürften die vielen Kurzstarts sein, die viel Verschleiß bringen.

Zitat von: TheTrumpeter am 30 März 2017, 21:18:41
Wahrscheinlich funktioniert dann aber auch der Kühlbetrieb nicht. Kühlen ist zwar standardmässig deaktiviert, aber alle 2-3 Jahre aktiviere ich es für ein paar Tage im Sommer. Daran müsste ich denken bzw. könnte ich ja auch wieder auf Automatik schalten, wenn die gefilterte Aussentemperatur hoch genug ist.
Kann ich mir kaum vorstellen. Es sollte schon einen Modus geben, in dem kühlen erlaubt, aber heizen verboten ist. Die Idee ist ja, dass z.B. in einer kühlen Sommernacht endlich mal das Haus abkühlen kann, ohne dass es versehentlich von der anspringenden Heizung gleich wieder aufgeheizt wird.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

TheTrumpeter

Zitat von: willybauss am 30 März 2017, 22:54:26
24h ? ? ? Die Filterzeit sollte halt zur Zeitkonstante der Wärmewanderung durch die Wände passen. Bei einer dicke Steinwand dauert es evtl. 24 Stunden, bis eine außen auftretende Temperaturänderung bis nach innen durch gewandert ist.
Habe meine Aussenwand gerade berechnet, da komme ich auf 15h Phasenverschiebung. Damit sollte ich die Dämpfung wohl auf 15h stellen?

Zitat von: willybauss am 30 März 2017, 22:54:26
Viel schlimmer dürften die vielen Kurzstarts sein, die viel Verschleiß bringen.
Meinst Du ein Kaltstart mit anschliessender kurzen Laufzeit ist schlechter als ein Kaltstart mit anschliessender langer Laufzeit?
Damit wäre jede Warmwasserbereitung schlecht, weil da der Verdichter keine Stunde läuft.

Zitat von: willybauss am 30 März 2017, 22:54:26
Kann ich mir kaum vorstellen. Es sollte schon einen Modus geben, in dem kühlen erlaubt, aber heizen verboten ist. Die Idee ist ja, dass z.B. in einer kühlen Sommernacht endlich mal das Haus abkühlen kann, ohne dass es versehentlich von der anspringenden Heizung gleich wieder aufgeheizt wird.
Beschrieben ist das nirgends.
So wie es beschrieben ist, ist "Kühlen" eine Art von "Heizen", nur eben mit umgekehrtem Kreislauf. Es wird ja beispielsweise auch die "Heizkreistemperatur" berechnet, anhand derer der Kühlbedarf ermittelt wird.
Aber egal, da kommt es auf einen Versuch an.

Zum Umschalten:
Du schaltest also auf WW-Modus, wenn es drinnen 0,7° über Solltemperatur hat und draussen wärmer als 3°C ist?
Und Du schaltest zurück, wenn es drinnen 0,5° unter Solltemperatur hat?

Hast Du einen Zähler wie oft das wechselt?
Und warum schaltest Du nicht um 4 oder 5 Uhr, wenn es normalerweise am Kältesten ist?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110