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

hi.
ich versuche mich gerade an den plots, aber ich bekomm das einfach nicht hin.
hier der auszug aus fhem.cfg
#Heizung einbinden
define Mythz THZ /dev/ttyUSB0@115200
attr Mythz devStateIcon opened:10px-kreis-gruen disconnected:10px-kreis-rot
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_sGlobal 300 # Internes Polling Intervall 5min
attr Mythz interval_sHC1 300
attr Mythz interval_sHeatDHWTotal 3600
attr Mythz interval_sHeatHCTotal 3600
attr Mythz interval_sHeatRecoveredTotal 28800
attr Mythz interval_sHistory 28800 # Internes Polling Intervall 8h
attr Mythz interval_sLast10errors 3600
attr Mythz room Heizung
attr Mythz userReadings mode_sommer_winter {(split' ',ReadingsVal("Mythz","sHC1",0))[15]}, AussenTemp {(split ' ',ReadingsVal("Mythz","sGlobal",0))[1]}, VorlaufTemp {(split ' ',ReadingsVal("Mythz","sGlobal",0))[3]}, RuecklaufTemp {(split ' ',ReadingsVal("Mythz","sGlobal",0))[5]}, WWTemp {(split ' ',ReadingsVal("Mythz","sGlobal",0))[9]}, KollektorTemp {(split ' ',ReadingsVal("Mythz","sGlobal",0))[79]}

#neues
define FileLog_Mythz FileLog ./log/Mythz-%Y-%m.log Mythz
attr FileLog_Mythz archivedir ./log/archive/
attr FileLog_Mythz nrarchive 2

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:Mythz_Plot3_Internals: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

die plots sind aber leer.
kann mir hier jemand ein paar tips dazu geben?
werde aus der plot doku nicht ganz schlau.
hab mich auch schon im plot versucht die richtigen werte zu holen (in der klick-gui), aber mir ist nicht ganz klar was ich wo auswählen muss (in den ganzen dropbown feldern; siehe Anhang).
Danke,
Andreas
THZ 304 Eco Baujahr 2015

willybauss

Zunächst solltest Du mal schauen, ob in MyTHZ Filelog Werte rein geschrieben werden. Nur dann kann der Plot sie auch wieder auslesen und darstellen.

Die mit dem roten Pfeil markierten Werte stellen ein, der wievielte Wert innerhalb der Filelog-Zeile im Plot dargestellt werden soll. Ich weiß aber grade nicht mehr, ob hier bei 0 oder 1 angefangen wird zu zählen. Am besten orientierst Du Dich zunächst an der Beispielkonfig., die ich im 1. Beitrag dieses Threads angehängt habe. Und idealerweise manipuliert man nicht die Konfig-Dateien, sondern macht alles übers GUI (was beim einspielen einer komplett neuen Konfig. aus den Beispieldateien natürlich nur über den GUI-basierten Fileeditor geht).
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

The Spirit

Hi.
Danke erstmal. Im filelog stehen Daten.
Das Dropdown-Menü fängt bei 3 zu zählen an. Das ist ja schon mal sehr komisch. Gestartet hab ich mit der config auf Seite 1 aber ich werd daraus leider nicht ganz schlau.
Danke trotzdem schonmal.
THZ 304 Eco Baujahr 2015

willybauss

1 ist der Timestamp
2 ist der Modulname
3 ist der Readingsname
4 ist dann der Wert

Deshalb macht es keinen Sinn, bei 1 oder 2 anzufangen. Der Modulname wird ja entweder beim Filelog-NAmen (Spalte Source) oder beim Readingsnamen (Spalte RegExp) ausgewählt.

So ist es bei vielen Readings. Bei einigen Readings, z.B. sGlobal folgen dann ganz viele Readingsnamen und ihre Werte. Da muss man dann halt zählen.

Im Anhang siehst Du ein funktionierendes Beispiel - vorausgesetzt, Du hast alle dort ausgewählten Werte auch geloggt.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

Echt_Jetzt

Guten morgen liebe Freunde der Automatisierung :-)

Seit kurzem habe ich mein Netatmo im fhem und kann mir schön die CO2 Werte aus dem Schlafzimmer und dem Wohnzimmer liefern lassen.
Nun ist es naheliegend, dass ich in Abhängigkeit dieser CO2 Werte meine THZ Lüftung steuer.

Hab jetzt das WE mal recherchiert und es zeigt sich für mich noch kein klares Bild, was die beste Umsetzung für dieses Vorhaben ist.

Zwei Möglichkeiten zeigen meine Recherche:

1. Tag/Nacht Stufen direkt ändern
2. Setzen einer außerplanmäßigen Lüfterstufe

Für mich hat die Variante 2 den klaren Vorteil, dass wenn mein Raspi bzw. fhem ausfällt, es dennoch eine kontrollierte Lüftung von der THZ über Tag/Nacht-Stufen gibt.
Allerdings hab ich hier im Forum gelesen, dass es einen Bug in der THZ geben soll, der das außerplanmäßige Setzen manchmal verhindert.

Deshalb meine Frage an die "alten Hasen" hier ;-)
Gibt es mittlerweile eine allgemeine Empfehlung für das automatisierte setzen der Lüfterstufen?

Danke schonmal und viele Grüße,
Carsten

The Spirit

Zitat von: willybauss am 05 November 2017, 19:55:19
1 ist der Timestamp
2 ist der Modulname
3 ist der Readingsname
4 ist dann der Wert

Deshalb macht es keinen Sinn, bei 1 oder 2 anzufangen. Der Modulname wird ja entweder beim Filelog-NAmen (Spalte Source) oder beim Readingsnamen (Spalte RegExp) ausgewählt.

So ist es bei vielen Readings. Bei einigen Readings, z.B. sGlobal folgen dann ganz viele Readingsnamen und ihre Werte. Da muss man dann halt zählen.

Im Anhang siehst Du ein funktionierendes Beispiel - vorausgesetzt, Du hast alle dort ausgewählten Werte auch geloggt.

danke für das Bild.
Was mir aber noch immer nicht ganz klar ist.
Bei deinem Beispiel ist die Brauchwassertemp in Mythz.sGlobal. Das ist klar.
Aber woher weist du, das es Column 13 wie in deinem Beispiel ist?
Ist das der 13. Wert, oder der 13. Eintrage von s.Global (da ja per "Leerzeichen" gesplittet)?
Das verstehe ich noch nicht ganz.
Vielleicht kannst du mir hier noch ne Info geben.
Danke,
Andreas
THZ 304 Eco Baujahr 2015

immi

Zitat von: Echt_Jetzt am 06 November 2017, 10:13:14
Gibt es mittlerweile eine allgemeine Empfehlung für das automatisierte setzen der Lüfterstufen?
ja probiere was bei Dir funktioniert
ich verwende opz 2

Zitat
Allerdings hab ich hier im Forum gelesen, dass es einen Bug in der THZ geben soll, der das außerplanmäßige Setzen manchmal verhindert.
gute zusammenfassung.

immi

willybauss

Zitat von: The Spirit am 06 November 2017, 14:31:31
danke für das Bild.
Was mir aber noch immer nicht ganz klar ist.
Bei deinem Beispiel ist die Brauchwassertemp in Mythz.sGlobal. Das ist klar.
Aber woher weist du, das es Column 13 wie in deinem Beispiel ist?
Ist das der 13. Wert, oder der 13. Eintrage von s.Global (da ja per "Leerzeichen" gesplittet)?
Das verstehe ich noch nicht ganz.
Vielleicht kannst du mir hier noch ne Info geben.
Danke,
Andreas
... oder Du nimmt Dir jetzt mal eine sGlobal-Zeile vor und zählst, der wievielte Eintrag die Brauchwassertemperatur innerhalb der Zeile ist.  ;)
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

willybauss

Der Bug tritt bei mir über den Raspi seeehr selten auf, nur bei Bedienung übers Display.

Dennoch verwende ich Option 1. Ich habe auch meinen Code mal gepostet. Schau mal im ersten Beitrag dieses Threads, da muss ein Link zu dem Beitrag sein, in dem ich meine Lüftungslösung erkläre. Da müsste auch stehen warum Option 1.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

Echt_Jetzt

Willy, Deine Lüftungssteuerung habe ich studiert und meine CO2 Dummy's und CO2 DOIF's nach Deiner Vorlage erstellt und konfiguriert.
Nun bin ich bei der abschließenden setVent DOIF und muss mich zwischen Option 1 und 2 entscheiden.

Dein Gegenargument zu Option 2 war ja, dass Du gerne manuell eingreifen willst wenn in der Küche mal was angebrannt ist und die Automatik den manuellen Eingriff im Zweifelsfall nach nur wenigen Minuten dann aber wieder zurück nimmt...
Dazu stelle ich mir vor, dass ich mir ein Dummy baue, der gesetzt wird, wenn ein manueller Eingriff stattgefunden hat und ihn nach Ablauf der außerplanmäßigen Zeit wieder zurücksetzte. Mal gespannt ob ich das so hinbekomme  :-\

Ich denke, ich werde mal mit Option 2 starten (p45UnschedVent1).

Hierzu stellt sich mir noch eine weitere Frage.
Wenn ich z.B. einen außerplanmäßigen Vent1 Eingriff starte, läuft der "p45UnschedVent1" ja irgendwann mal ab. Sagen wir mal nach 60 Minuten.
Macht es für die Regelung mehr Sinn, bevor z.B. "p45UnschedVent1" abgelaufen ist, den CO2 Gehalt zu prüfen und wenn nötig sofort nochmal zu triggern - so dass p45UnschedVent1 wieder mit 60 Minuten neu startet, oder lieber "p45UnschedVent1" ablaufen lassen, und dann wieder Anfangen die CO2 DOIFs durchzugehen, ob ein weiterer neuer "p99startUnschedVent" notwendig ist.
Kann man überhaupt einen gesetzten "p45UnschedVent" vor seinem Ende neu setzten, so dass keine Lüftungslücke (hoch/runter setzen) entsteht?

Zitat von: immi am 06 November 2017, 15:21:46
ich verwende opz 2

Immi, wie hast Du das gelöst mit dem erneut setzen von "p99startUnschedVent "und dem Ablauf der Zeit von "p45UnschedVent1"?

willybauss

Zitat von: Echt_Jetzt am 06 November 2017, 20:52:18
Willy, Deine Lüftungssteuerung habe ich studiert und meine CO2 Dummy's und CO2 DOIF's nach Deiner Vorlage erstellt und konfiguriert.
Nun bin ich bei der abschließenden setVent DOIF und muss mich zwischen Option 1 und 2 entscheiden.

Dein Gegenargument zu Option 2 war ja, dass Du gerne manuell eingreifen willst wenn in der Küche mal was angebrannt ist und die Automatik den manuellen Eingriff im Zweifelsfall nach nur wenigen Minuten dann aber wieder zurück nimmt...
Dazu stelle ich mir vor, dass ich mir ein Dummy baue, der gesetzt wird, wenn ein manueller Eingriff stattgefunden hat und ihn nach Ablauf der außerplanmäßigen Zeit wieder zurücksetzte. Mal gespannt ob ich das so hinbekomme  :-\
Klingt cool.

Zitat von: Echt_Jetzt am 06 November 2017, 20:52:18
Ich denke, ich werde mal mit Option 2 starten (p45UnschedVent1).

Hierzu stellt sich mir noch eine weitere Frage.
Wenn ich z.B. einen außerplanmäßigen Vent1 Eingriff starte, läuft der "p45UnschedVent1" ja irgendwann mal ab. Sagen wir mal nach 60 Minuten.
Macht es für die Regelung mehr Sinn, bevor z.B. "p45UnschedVent1" abgelaufen ist, den CO2 Gehalt zu prüfen und wenn nötig sofort nochmal zu triggern - so dass p45UnschedVent1 wieder mit 60 Minuten neu startet, oder lieber "p45UnschedVent1" ablaufen lassen, und dann wieder Anfangen die CO2 DOIFs durchzugehen, ob ein weiterer neuer "p99startUnschedVent" notwendig ist.
Der Logik in FHEM sollte das schnurz sein. Das Problem ist ja, wenn man all den Gerüchten glaubt, die Anzahl Schreibzyklen, die der Speicherchip auf dem Mainboard aushält. Wenn man nicht abwartet, sondern vor Ablauf bereits den Wert neu setzt, dann sind es auf jeden Fall nur halb so viele Zyklen. Und es stellt sich die Frage, ob überhaupt eine Neubeschreibung des Chips erfolgt, wenn der Wert sich nicht ändert. Außerdem läuft die Anlage dann kontinuierlich durch mit weniger Ups und Downs.

Zitat von: Echt_Jetzt am 06 November 2017, 20:52:18
Kann man überhaupt einen gesetzten "p45UnschedVent" vor seinem Ende neu setzten, so dass keine Lüftungslücke (hoch/runter setzen) entsteht?
Weiß ich nicht, sollte sich aber leicht ausprobieren lassen. Während eines UnschedVent3 habe ich aber schon mal auf einen UnschedVent1 gewechselt, das ging.

Wieviele Kanäle hat denn Dein Netatmo? Meine aufwändige Ansammlung vieler DOIFs lohnt sich ja eigentlich nur bei mehreren Kanälen. Irgendwer hatte sich seinen CO2-Sensor in den Abluftschlauch gelegt und so mit einer Messstelle das ganze Haus erfasst. Ich habe keine Erfahrung, wie sensibel der Netatmo reagiert und ob das so sinnvoll lösbar wäre.

Ich habe (noch) die billigen CO20-Sensoren, die aber in den Sommermonaten ein reges Eigenleben führen, was sie dann völlig unbrauchbar macht. Erst seit ca. September kann ich meine Lüftungsautomatik wieder betreiben. Ich werde wohl im Winter auf sowas wechseln:
https://www.amazon.de/dp/B01EN3M0YS/_encoding=UTF8?coliid=I21AQ4QBMS0976&colid=11G7GFMBC4LPJ
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

TheTrumpeter

Zitat von: willybauss am 06 November 2017, 21:21:30
Das Problem ist ja, wenn man all den Gerüchten glaubt, die Anzahl Schreibzyklen, die der Speicherchip auf dem Mainboard aushält. Wenn man nicht abwartet, sondern vor Ablauf bereits den Wert neu setzt, dann sind es auf jeden Fall nur halb so viele Zyklen. Und es stellt sich die Frage, ob überhaupt eine Neubeschreibung des Chips erfolgt, wenn der Wert sich nicht ändert.
Wenn ich mich richtig erinnere, sagen die Gerüchte aber auch, dass "startUnschedVent" keinen Schreibzyklus verursacht, ebensowenig wie der "Stosslüften"-Tastereingang.
Wenn man also die zugehörigen Zeiten gleichlässt, kann man in der Theorie beliebig oft schalten, ohne das EEPROM zu zerstören.

Zitat von: willybauss am 06 November 2017, 21:21:30
Außerdem läuft die Anlage dann kontinuierlich durch mit weniger Ups und Downs.
Verursacht aber mindestens 1 Parameteränderung; die Ups and Downs hingegen sind nicht schlimm. Den Lüftern sollte es egal sein ob sie beschleunigt werden oder auslaufen sollen.


Zitat von: willybauss am 06 November 2017, 21:21:30
Weiß ich nicht, sollte sich aber leicht ausprobieren lassen. Während eines UnschedVent3 habe ich aber schon mal auf einen UnschedVent1 gewechselt, das ging.
Ja geht definitiv. Ich schalte öfter mal vor Ablauf der Laufzeit händisch zurück in die Stufe 1, indem ich "startUnschedVent" mit Stufe 1 aufrufe. Man kann auch 0 oder sonstwas setzen, wird problemlos übernommen.

Zitat von: willybauss am 06 November 2017, 21:21:30
Irgendwer hatte sich seinen CO2-Sensor in den Abluftschlauch gelegt und so mit einer Messstelle das ganze Haus erfasst.
Ich weiss nicht ob Du mich meinst; ich hab' einen kombinierten Temperatur-Feuchte-CO2-Sensor im Abluftrohr direkt vor der LWZ. Leider habe ich immer noch keine bedarfsgerechte Erhöhung der Lüfterstufen programmiert.
Ich habe schonmal ein paar Plots bei Anwesenheit von Besuchern durchgeschaut, die CO2-Erhöhung in der Abluft ist je nach Anzahl ca. 30min nach Eintreffen der Gäste sichtbar.
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 06 November 2017, 21:41:48
Verursacht aber mindestens 1 Parameteränderung
Das versteh ich jetzt nicht. Wenn unscheduled Stufe 1 für 60 Minuten gesetzt war, und bereits nach 55 Minuten setze ich wieder Stufe 1 für weitere 60 Minuten, wo ist dann die Parameteränderung?
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

Echt_Jetzt

Erstmal Glückwunsch Willy zum 1000. Beitrag  ;D

Zitat von: willybauss am 06 November 2017, 21:21:30
Wieviele Kanäle hat denn Dein Netatmo? Meine aufwändige Ansammlung vieler DOIFs lohnt sich ja eigentlich nur bei mehreren Kanälen.

Eine Netatmo Wetterstation kann zzgl. zu seiner Basisstation - welche bei mir im Wohnzimmer steht - noch 3 Innenmodule verwalten.
Somit kann ich im Haus 4 Stationen verteilen, die jeweils Temp., Luftfeuchte und CO2 messen.

Eine einzige Zentrale Messstelle im Abluftkanal sehe ich für den CO2 Regelkreis kritisch. Dort würde man den Messwert aus der Mischung unterschiedlicher Räume bekommen.
Wenn z.B. im Sommer ein Kind die Türe und das Fenster geschlossen hat, aber im Badezimmer das Fenster offen ist und frische Luft einströmen kann, dann kann ich nicht rechtzeitig erkennen, wann ich die Lüftung für das Kinderzimmer einschalten muss, weil sich vermutlich zu viele frische Luft mit der des Kinderzimmers vermischt.

Ich möchte die Regelung so gestalten, dass immer der Sensor mit dem höchsten CO2 Gehalt entscheidet, welche Lüftungsstufe laufen soll.

Zitat von: willybauss am 06 November 2017, 21:21:30
Ich habe keine Erfahrung, wie sensibel der Netatmo reagiert und ob das so sinnvoll lösbar wäre.

Dazu kann ich nur vom letzten WE erzählen, als ich gedacht habe mein Netatmo im Kinderzimmer verabschiedet sich. Hatte einen stetig ansteigenden CO2 Gehalt im Plot gesehen und konnte ihn mir nicht erklären weil zu diesem Zeitpunkt länger niemand im Kinderzimmer war.
Es hat sich dann später herausgestellt, dass meine Frau vergessen hatte, den Windeleimer zu schließen  :D


Danke nochmal für die Infos...

willybauss

Zitat von: Echt_Jetzt am 06 November 2017, 22:48:20
... wann ich die Lüftung für das Kinderzimmer einschalten muss...
Das sehe ich als zukünftige Innovation in die Häuser schwappen: raumabhängige Lüftung mit Einzelventilatoren in den Zuleitungen. Weshalb muss das ganze Haus gelüftet werden, wenn sich alle Personen in der Küche aufhalten? Mal schauen, wie lange das noch dauert.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS