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

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

Vorheriges Thema - Nächstes Thema

Shenja

@immi Entschuldige die verspätete Antwort. Derzeit geht alles etwas drunter und drüber-
Ich hoffe das ist der richtige Abschnitt aus dem Code


2022.11.04 21:03:42 5: THZ_Get: Try to get 'sGlobal'
2022.11.04 21:03:42 5: THZ_Get_Comunication: Check if port is open. State = '(opened)'
2022.11.04 21:03:42 5: Mythz sending 02
2022.11.04 21:03:42 5: DevIo_SimpleWrite Mythz: 02
2022.11.04 21:03:42 5: Mythz start Function THZ_ReadAnswer
2022.11.04 21:03:42 5: THZ_ReadAnswer: uc unpack: '10'
2022.11.04 21:03:42 5: Mythz sending 0100FCFB1003
2022.11.04 21:03:42 5: DevIo_SimpleWrite Mythz: 0100FCFB1003
2022.11.04 21:03:42 5: Mythz start Function THZ_ReadAnswer
2022.11.04 21:03:42 5: THZ_ReadAnswer: uc unpack: '10'
2022.11.04 21:03:42 5: Mythz start Function THZ_ReadAnswer
2022.11.04 21:03:42 5: THZ_ReadAnswer: uc unpack: '02'
2022.11.04 21:03:42 5: Mythz sending 10
2022.11.04 21:03:42 5: DevIo_SimpleWrite Mythz: 10
2022.11.04 21:03:42 5: Mythz start Function THZ_ReadAnswer
2022.11.04 21:03:42 5: double read 1 activated 01005CFBFDA8004E013400DA02960197FD
2022.11.04 21:03:42 5: double read 1 result with buf1  01005CFBFDA8004E013400DA02960197FDA8FD
2022.11.04 21:03:42 5: double read 2 activated 01005CFBFDA8004E013400DA02960197FDA8FD
2022.11.04 21:03:42 5: double read 2 result with buf1  01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802
2022.11.04 21:03:42 5: double read 3 activated 01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802
2022.11.04 21:03:42 5: double read 3 result with buf1  01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000
2022.11.04 21:03:42 5: double read 4 activated 01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000
2022.11.04 21:03:42 5: double read 4 result with buf1  01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A3FE9CAC110
2022.11.04 21:03:42 5: double read 5 activated 01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A3FE9CAC110
2022.11.04 21:03:42 5: double read 5 result with buf1  01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A3FE9CAC11003
2022.11.04 21:03:42 5: THZ_ReadAnswer: uc unpack: '01005CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A3FE9CAC11003'
2022.11.04 21:03:42 5: Mythz sending 10
2022.11.04 21:03:42 5: DevIo_SimpleWrite Mythz: 10
2022.11.04 21:03:42 5: Parse message: 5CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A3FE9CAC1
2022.11.04 21:03:42 5: Message length: 110
2022.11.04 21:03:42 5: THZ_Parsing: offset(110) + length(4) is longer then message : '5CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A>
2022.11.04 21:03:42 5: THZ_Parsing: offset(114) + length(4) is longer then message : '5CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A>
2022.11.04 21:03:42 5: THZ_Parsing: offset(154) + length(4) is longer then message : '5CFBFDA8004E013400DA02960197FDA8FDA8000C012220081100C800C802BC000B001C0013005000000000017C055D40D9EF0A>
2022.11.04 21:03:42 5: Starting notify loop for Mythz, 6 event(s), first is sGlobal: outsideTemp: 7.8 flowTemp: 30.8 returnTemp: 21.8 hotGasTemp: 66.2 dhwTemp: 40.7 flowTempHC2: -60 evapor>
2022.11.04 21:03:42 5: Triggering Mythz.alarm_boosterDHW

immi

Zitat von: Shenja am 04 November 2022, 21:12:44
2022.11.04 21:03:42 5: Message length: 110
2022.11.04 21:03:42 5: THZ_Parsing: offset(110) + length(4) is longer then message :
2022.11.04 21:03:42 5: THZ_Parsing: offset(114) + length(4) is longer then message :
2022.11.04 21:03:42 5: THZ_Parsing: offset(154) + length(4) is longer then message :
Hi Shenja
Deine Tecalor antwortet nur 110 bytes
Genau wie meine.
d.h. folgende Werte sind nicht dabei und werden ignoriert:
[" flowRate: ",      110, 4, "hex", 100],   
[" p_HCw: ",      114, 4, "hex", 100],   
[" humidityAirOut: ",   154, 4, "hex", 100]   
immi

Shenja

Okay das heißt ich kann diese drei Werte nicht auslesen oder?
Schade dabei kann man ja im Heizungsmenü den Durchfluss messen

hellijo

Zitat von: Shenja am 05 November 2022, 11:52:18
Okay das heißt ich kann diese drei Werte nicht auslesen oder?
Schade dabei kann man ja im Heizungsmenü den Durchfluss messen

Hast du Durchflussregler am Heizkreisverteiler?
Daraus kannst du auch den Durchfluss bei eingeschalteter Heizkreispumpe sehen.
Der Wert ist durch die Pumpen eh konstant.

willybauss

Zitat von: hellijo am 05 November 2022, 12:28:51
Der Wert ist durch die Pumpen eh konstant.
Eben. Deshalb habe ich nicht verstanden, wozu man den Wert überhaupt auslesen müsste.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

Hellbounder

Hi zusammen,
ich habe mich jetzt durch die vielen Seiten gewühlt und auch echt viele nützliche Tipps mitgenommen. Allerdings bin ich mir bzgl. des richtigen Anschlusses nicht sicher und habe dazu keine Info gefunden.
Ich habe eine Stiebel LWZ 304 Trend und möchte diese über FHEM auf einem Raspberry steuern. Jetzt habe ich die Anleitung zum Bau des Kabels unter https://robert.penz.name/heat-pump-lwz/ gelesen, bis ich dann gemerkt habe dass ich einen anderen Stecker an meiner LWZ habe (siehe Anhang). Kann ich die LWZ jetzt einfach über das USB Typ B Kabel mit dem Raspberry verbinden? Und muss ich dazu die Anlage erst vom Strom nehmen oder kann ich das Kabel einfach anschließen?
Lieben Dank schon mal,
Stefan

willybauss

Herzlich willkommen, und auch gleich ein Lob fürs viele Lesen und selbst helfen, soweit es geht!

Ja, das mit dem Kabel basteln gilt für die neuen Anlagen nicht mehr. Einfach die USB-Buchse stattdessen verwenden. An- und abstecken im laufenden Betrieb hat noch nie Kummer bereitet.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

eren0vier

Zitat von: TheTrumpeter am 19 Oktober 2022, 16:36:11
Exakt.

Ich nutze das zum Triggern einer WW-Bereitung zu jedem beliebigen Zeitpunkt. Die Temperaturen und Hysterese sind so gesetzt, dass die WW-Bereitung auf jeden Fall sofort startet und auch nach dem unmittelbar darauffolgenden Zurückschalten auf die ursprüngliche Betriebsart weiterläuft.

Moin TheTrumpeter,

könntest du mal den "Programmiercode" hier einstellen welcher deiner Heizung sagt, ändere den Betriebsmodus, Heize auf, schalte zurück auf automatik.
Ich würde versuchen dies auf meine Bedürfnisse abzuwandeln mit meinen nicht vorhandenen programmierkünsten.

Mein Plan:
Wenn ich zu viel PV Einspeisung habe (2000W) soll die Heizung den Betriebsmodus von Automatik in Handbetrieb ändern und das Warmwasser heizen, bzw. überheizen (65°).

Stand bis jetzt:
FHEM spricht über das Netzwerk mit meinem Wechselrichter (Fronius GEN24).
Ich habe ein Userreading "Einspeisung" und ein Userreading "Bezug" angelegt bekommen, welches sich auch jede Minute aktualisiert.
FHEM spricht über das angeschlossene USB Kabel mit der LWZ504.
Ich kann im Baustein "Mythz" die Betriebsart (pOpMode) ändern und dies wird auch an die Heizung übertragen.
Ich habe ein Notify angelegt und dieses schaltet bei >2000W Einspeisung den Handbetrieb an, und bei <1000W den automatic betrieb an.

Hier die DEF vom Notify:
Handbetriebnotify:addRegexpPart.*|Wechselrichter:Einspeisung:.* { \
if ($EVTPART1 > 2000 ) {\
fhem('set Mythz pOpMode manual')\
}else {\
if ($EVTPART1 < 1000 ) {\
fhem('set Mythz pOpMode automatic')\
} \
}\
}


Mir fehlt noch im Notify die Zeitverzögerung.
Idealfall ist meiner Meinung nach:
Einspeisung seit 5min >2000W dann Handbetrieb
Einspeisung seit 5min <1000W dann automaticbetrieb

Sonst pendelt die Wärmepumpe ja bei jeder kleinen Wolke hin und her.

Falls einer noch die Lust verspührt hier helfen zu wollen oder noch verbessern zu wollen. Ich wäre für Tipps bzgl. der Umsetzung sehr dankbar.

scyomantion

Hi,
ich lese hier immer wieder mal mit und habe schon viel hilfreiches hier gefunden. Jetzt habe ich aber eine Frage worauf ich noch keine Antwort finden konnte.
Meine Anlage: LWZ 304 Trend (version: 07.09, HW: 242 SW: 7.02 Date: AUG 10 2016)
Meine Frage: Bei der Warmwassererzeugung schaltet er immer wieder mal die Zusatzheizung mit dazu, deshalb hab ich die Temperatur schon auf 43°C abgesenkt. Hysterese ist 3K. Also müsste er ja bei <40°C auf 46°C aufheizen.
Andere relevante Parameter:
p33BoosterTimeoutDHW: 180min
p34BoosterDHWTempAct: -10°C
p36DHWMaxTime: 6

Heute war folgender Fall:
Zwischen 06:00 und 18:00 ist die WW-Temperatur auf 10°C abgesenkt, da dazwischen immer wieder mal EVU Sperren sind und ich es unschön finde wenn die WW-Bereitung deshalb unterbrochen wird, er aber trotzdem die ganze Zeit die Pumpe weiterlaufen lässt. Deshalb ist die WW-Temperatur um 18 Uhr dann inzwischen auf 30°C gefallen. Dann ging die Warmwasserbereitung los. Die hat um 19:04 dann die Zusatzheizung dazu geschalten. Um die Zeit hatte die WW-Temperatur 45.1°C, der Vorlauf 53.8°C und Rücklauf 53.3°C. Fertig war sie dann um 19:08. Sie hätte es wohl auch locker ohne die Zusatzheizung geschafft. Ich hab in der Vergangenheit auch schon probiert den Parameter  "NE STUFE WW" auf 0 zu setzen. Dann passiert aber folgendes: Er schaltet dann zu den Zeitpunkt wo die Zusatzheizung aktiviert werden würde den Verdichter aus, die Zusatzheizung aber nicht an und rührt somit einfach bis zum Timeout das Wasser bisschen rum ohne zu heizen.
Ich weiß leider nicht warum er überhaupt die Zusatzheizung da schon möchte. Meine einzige Theorie ist: In der Installationsanleitung steht folgender Satz: "Die Wär- mepumpe kann Trinkwasser nur bis zu einer Temperatur von ca. 50 °C erwärmen. Bei höher eingestellten Warmwasser-Solltemperaturen kommt die elektrische Not-/Zusatzheizung zum Einsatz." Aber hier ist ja von der Solltemperatur die rede, nicht vom Vorlauf. Der Zeitpunkt ist aber ungefähr da wo der Rücklauf die 50°C erreicht.

Habt ihr eine Idee?

Vielen Dank schonmal

willybauss

Zitat von: scyomantion am 08 November 2022, 21:04:49
Der Zeitpunkt ist aber ungefähr da wo der Rücklauf die 50°C erreicht.
Hätte ich so auch nicht erwartet, aber es könnte schon mit dem zitierten Satz in Verbindung stehen. Versuche doch mal, durch Reduktion der Pumpenleistung im WW-Betrieb, die Rücklauftemperatur zu reduzieren.
Hab grade bei mir (303 SOL) geschaut. Da geht die Rücklauftemp. im WW-Betrieb nur bis ca. 48°
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

scyomantion

Gute Idee, das kann ich mal ausprobieren. Weißt du wie sich das auf den Wirkungsgrad auswirkt? Da ja in der Anleitung steht die Pumpenleistung für WW soll man eigentlich nicht anfassen.

willybauss

Bei reduziertem Durchfluss sinkt erst mal die Pumpenleistung - wieviel das ausmacht: keine Ahnung.
Bei reduziertem Durchfluss hat die Anlage mehr Zeit, die erzeugte Wärme ans Brauchwasser abzugeben, insofern klingt das eigentlich effizienter als vorher - Bauchgefühl. Ich würde halt versuchen, mit der Rücklauftemperatur ganz knapp unter den 50° zu bleiben. Damit weichst Du so wenig wie möglich vom Originalwert ab. Und wenn dadurch der Heizstab vermieden wird, dann ist das auf jeden Fall ein höherer Gewinn als ein eventueller homöopatischer Verlust an Wirkungsgrad.

Eine andere Möglichkeit ist ein Anruf beim Tecalor- oder SE-Support. Das kostet ja nicht wirklich was. Ein Hinweis auf den vermuteten Zusammenhang mit Rücklauf >50°C könnte in der Antwort Gewissheit bringen.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

TheTrumpeter

Zitat von: scyomantion am 08 November 2022, 21:04:49
p33BoosterTimeoutDHW: 180min
p34BoosterDHWTempAct: -10°C

Zwischen 06:00 und 18:00 ist die WW-Temperatur auf 10°C abgesenkt, da dazwischen immer wieder mal EVU Sperren sind und ich es unschön finde wenn die WW-Bereitung deshalb unterbrochen wird, er aber trotzdem die ganze Zeit die Pumpe weiterlaufen lässt. Deshalb ist die WW-Temperatur um 18 Uhr dann inzwischen auf 30°C gefallen. Dann ging die Warmwasserbereitung los. Die hat um 19:04 dann die Zusatzheizung dazu geschalten.
Wie kann es sein, dass sich der Zuheizer schon nach 64min einschaltet, wenn 1. die Sperrzeit auf 180min steht und 2. die Freigabe erst bei -10°C vorliegt?

Bei mir wurde der Zuheizer bei der WW-Bereitung bisher immer nur bei 100%-Falschzirkulation wg. verklemmtem Umschaltventil zugeschaltet. Soweit ich mich erinnere, wurde da die Sperrzeit immer abgewartet.
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

TheTrumpeter

Zitat von: eren0vier am 08 November 2022, 11:19:33
könntest du mal den "Programmiercode" hier einstellen welcher deiner Heizung sagt, ändere den Betriebsmodus, Heize auf, schalte zurück auf automatik.
So läuft es bei mir nicht.
Lies mal genau was ich geschrieben habe... ich schalte nur kurz auf "Handbetrieb" und unmittelbar darauf gleich wieder auf "Automatik" bzw. "WW-Betrieb", je nachdem was vorher da war. Durch meine gewählten Parameter-Einstellungen läuft der Aufheizvorgang dann trotzdem immer bis 46,5°C weiter.

Zitat von: eren0vier am 08 November 2022, 11:19:33
Wenn ich zu viel PV Einspeisung habe (2000W) soll die Heizung den Betriebsmodus von Automatik in Handbetrieb ändern und das Warmwasser heizen, bzw. überheizen (65°).
Bei einer 404SOL reichen 2kW jedenfalls nicht, für die WW-Bereitung sind am Ende (bei 46,5°C) bereits 2,5kW erforderlich), für den Heizbetrieb wären die 2kW gerade genug. Möglicherweise steigt bei noch höheren Solltemperaturen die Stromaufnahme weiter an, das habe ich noch nicht ausprobiert. Wie das bei der 504 ausschaut, müsstest Du zuerst selbst ausprobieren.
Und wie das Problem weiter unten zeigt ist es außerdem nötig auf die Einstellungen für den Heizstab zu achten bzw. das "Überheizen" nicht zu übertreiben, um zusätzlichen Heizstabeinsatz zu vermeiden.


Zitat von: eren0vier am 08 November 2022, 11:19:33
Ich kann im Baustein "Mythz" die Betriebsart (pOpMode) ändern und dies wird auch an die Heizung übertragen.
Ich habe ein Notify angelegt und dieses schaltet bei >2000W Einspeisung den Handbetrieb an, und bei <1000W den automatic betrieb an.
Die Frage ist, wo der für Dich optimale Fall der Eigennutzung ist. Da die Anlage bei steigenden Temperaturen immer ineffizienter wird, bezweifle ich, dass die gewählten Schwellen sinnvoll sind. Abgesehen davon, wie definierst Du "Einspeisung"? Sobald die LWZ in die WW-Bereitung läuft, bleibt von den 2kW "Einspeisung" ja nix mehr übrig, damit würde sofort wieder in den Automatikbetrieb umgeschaltet werden. Oder verwechselst Du "Einspeisung" mit "Produktion des WR"? Letzteres macht als Trigger gar keinen Sinn, weil daraus ja gar nicht hervorgeht wieviel Strom tatsächlich "überschüssig" ist.

Da ich derzeit nur ein "Balkonkraftwerk" betreibe, sind meine Schaltschwellen deutlich geringer. Weiters "überheize" ich nicht und ich breche einen begonnen Heizvorgang auch nicht ab, weil der Heizvorgang so oder so nötig wäre. Ob dann später wieder mehr Überschuss vorhanden wäre, kann ja niemand vorhersagen. (Ich könnte noch unterschiedliche Schwellen für Sommer und Winter machen, aber da mittlerweile ohnehin eine große Anlage bestellt ist, investiere ich da keine Zeit mehr.)
Hier trotzdem mal der Code, ich denke es ist selbsterklärend was da passiert.
SmartMeterRestAPI:activepoweroffset_mean_5min:.-[2-9]..\..*
defmod Mythz.Warmwasser_PVUeberschuss notify SmartMeterRestAPI:activepoweroffset_mean_5min:.-[2-9]..\..* \
IF (([Mythz:dhw_temp:d] < 35) && ([Mythz:HeatingDHW:d] == 0) && ([Mythz:pOpMode] ne "standby") && ([Mythz:dhw_mode] ne "standby"))\
(\
{\
my $OpMode = ReadingsVal("Mythz", "pOpMode", 0);;;;\
fhem ("set Mythz pOpMode manual;;;; sleep 1 quiet;;;; set Mythz pOpMode " . $OpMode);;;; \
},\
set Mythz p99startUnschedVent 0,\
set myTelegramBot message Warmwasserbereitung wurde zur Nutzung PV-Ueberschuss gestartet\
)
)
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

Jackie

Hallo,

ich habe gerade ein großes Problem mit dem Zwangreset der LWZ 304 um exakt 10:00h, diesen Zeitpunkt findet man in zahlreichen Foren, und ist wohl nicht veränderlich. Wird in diesem Zeitraum geheizt oder Warmwasser gmacht, wird der Vorgang wohl unterbrochen, was zu überzähligen Ein- Auszyklen führt.


Das alleine finde ich noch nichtmal so problematisch, sondern vielmehr die Tatsache, dass danach nicht weitergeheizt wird, wenn währenddessen die untere Hysteresegrenze erreicht wurde. Sprich: angenommen, die Zieltemperatur ist 21 Grad, Hysterese 2K, dann würde die LWZ normalerweise bei z.B. 18 Grad anfangen zu heizen, und bei ca. 23 Grad aufhören zu heizen. Kommt jedoch der Reset um 10:00h dazwischen, oder kommt dazwischen ein Warmwasserzyklus, und die Zieltemperatur der Heizung befindet sich schon im Bereich plusminus 2 Grad um 21 Grad, dann wird eben nicht der ursprüngliche Zyklus wieder aufgenommen und weitergeheizt, sondern die LWZ bleibt genau da stehen und macht nix mehr.

Sprich: ohne Unterbrechung wäre bis 23 Grad geheizt worden, wenn sie zum Zeitpunkt des Resets aber 19,5 Grad erreicht hat, bleibt sie dort, und heizt nicht weiter.

Gibt es irgendeine Möglichkeit, dieses Verhalten zu unterbinden oder zu ändern? Anbei mal ein Graph, bei dem mir genau das gestern passiert ist: Heizung heizt ab 9 Uhr (Ausnutzung PV Strom), um 10 geht sie in den Reset und macht nicht weiter, hat aber ihr eigentliches Ziel noch lange nicht erreicht, stattdessen heizt sie dann am späten Nachmittag nochmal nach, wo eben viel weniger PV Strom verfügbar ist.


Habt ihr dafür eine Lösung?
Raspi 3 mit FHEM, LWZ 304 Trend, Fronius Symo 10.0-3-M, Conbee II Stick, Optokoppler (USB, FTDI), diverse Ikea Tradfri Komponenten,...