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

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

Vorheriges Thema - Nächstes Thema

willybauss

Die Frage ist, ob deine Anlage tatsächlich die 4.39 drin hat.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

MSP

Ich dachte der Eintrag in sFirmware kommt aus der Anlage, wie kann ich das sonst ermitteln?

MSP

Wenn der Parameter p55 in der Anlage auf 288 eingestellt wird, wird er auch im FHEM so angezeigt

willybauss

Zitat von: MSP am 24 Oktober 2019, 00:04:42
Ich dachte der Eintrag in sFirmware kommt aus der Anlage, wie kann ich das sonst ermitteln?
Reset der Anlage. Während des bootens das Display beobachten.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

immi

Zitat von: MSP am 23 Oktober 2019, 08:24:36
Über KNX kann ich dann dieHeizkreisventile öffnen und über einen Kontakt das Einschalten des Verdichters unterdrücken.
Dabei ist mir aufgefallen, dass im THZ Modul die maximale Anzahl der Pumpenzyklen "p55MaxPumpCycles" nur auf den Wert 200 gestellt werden kann, der maximal mögliche Wert in der WP ist aber 288, damit läuft aber die Pumpe nicht dauerhaft (288 x 5 min = 24h).
Bei Eingabe über die Modulsteuerung/Programmierzeile erscheint die Meldung "Argument does not match..." (siehe Anhang). Kann jemand helfen, liegt der Fehler im Modul?
Failure or feature ? :)

try to change line  444  of 00_THZ.pm from

  "p55MaxPumpCycles" => {cmd2=>"0A05B7", argMin =>  "25", argMax =>  "200", type =>"1clean",  unit =>""},

to

  "p55MaxPumpCycles" => {cmd2=>"0A05B7", argMin =>  "25", argMax =>  "288", type =>"1clean",  unit =>""},


restart fhem and tell me if the problem is fixed.
immi

MSP

Hi Willy and immi,

installed Firmware in my LWZ is 4.39, it is noticed in one of the submenus, see attached pic.

I followed immi's recommendation above and now I'm able to set parameter p55 to 288 via FHEM, see attached pic.

Thanks for support.

Regards
Markus

immi

code change committed to repository; you can update tomorrow

kriforum

Hi all,

I used this module for many years on my Raspi 1B running Wheezy. Recently I finally updated to Buster on a model 3B+. So far so good.
What I did not manage is to get DebianMail running again, that's one of the reasons why I decided to change all heatpump error messaging of the module to Telegram.
Now I got stuck already when I tried to change the Mythz.alarm_failure notify.
I simply tried to replace the DebianMail part with the Telegram part (first without attachment and error number), and tried this:

#define Mythz.alarm_failure notify Mythz { if (((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]) > ReadingsVal("Mythz","number_of_faults_old",0)) {(set myTelegramBot message Tecalor Mythz Alarm - Fehlermeldung);; fhem("setreading Mythz number_of_faults_old ". ((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]));; }}

instead of

#define Mythz.alarm_failure notify Mythz { if (((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]) > ReadingsVal("Mythz","number_of_faults_old",0)) { DebianMail('xxx@xxx.de','Tecalor Mythz Alarm - ERROR','Fehlermeldung: '. $EVENT,'/opt/fhem/Tecalor-Fehlermeldungen.txt');; fhem("setreading Mythz number_of_faults_old ". ((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]));; } } 

My log file tells me:
2019.12.16 21:52:25 1: ERROR evaluating my $EVENT='HCStrom: 15197';my $EVTPART1='15197';my $EVTPART0='HCStrom:';my $SELF='Mythz.alarm_failure';my $TYPE='THZ';my $NAME='Mythz';{ if (((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]) > ReadingsVal("Mythz","number_of_faults_old",0)) {(set myTelegramBot message Tecalor Mythz Alarm - Fehlermeldung); fhem("setreading Mythz number_of_faults_old ". ((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1])); }}: Can't locate object method "Mythz" via package "Alarm" (perhaps you forgot to load "Alarm"?) at (eval 3662) line 1.

2019.12.16 21:52:25 3: Mythz.alarm_failure return value: Can't locate object method "Mythz" via package "Alarm" (perhaps you forgot to load "Alarm"?) at (eval 3662) line 1.


Anybody there who can tell me how to exchange the methods, and which syntax changes are required?
Ideally also how to include the error number again?

Thanks
Christian

willybauss

I can't help you with porting to Telegram. But maybe I know about your trouble with DebianMail. If your installation is based on my example code, you should have in mind that my code relies on a piece of code for DebianMail, which must be placed in 99_myUtils.pm. This special version allows email attachments, which isn't possible in standard DebianMail.

The code looks like
######## DebianMail  Mail auf dem RPi versenden - incl. Attachment ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "[YourEmailAddress]\@[YourProvider]";
my $konto = "accountname\@account.de";
my $passwrd = "[YourPassword]";
my $provider = "securesmtp.t-online.de";
Log 1, "sendEmail Empfaenger: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Attachment: $attach";
################ FOR DEBUGGING PURPOSES ONLY ########################
################ Log 1, "sendEmail Sender: $sender";
################ Log 1, "sendEmail Konto: $konto";
################ Log 1, "sendEmail Passwort: $passwrd";
################ Log 1, "sendEmail Provider: $provider";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

Sinclair

Hallo,

ich habe ein paar Fragen zur Holiday/Urlaubs-Modus-Einstellung:

Leider scheint die Heizung meine aktuelle Urlaubseinstellung nicht übernommen zu haben. Gibt es einen Parameter oder Flag an dem man erkennen kann ob die Anlage im Urlaubs-Modus ist?
Muss man beim Setzen des Urlaubs Start- und End-Termin über FHEM eine bestimmte Reihenfolge beachten bzw muss der Start-Termin grundsätzlich in der Zukunft liegen oder prüft die Anlage nur ob man momentan zwischen den 2 Terminen liegt?

Hat jemand schon eine komfortablere Einstellmöglichkeit (über FHEM oder Smartvisu) geschaffen, wo man nicht Tag, Monat, Stunde usw einzeln eingeben muss sondern das ganze Datum inkl. Uhrzeit einfach wählen oder eingeben kann? (Code-Snipsel willkommen  ;D)

Vielen Dank
Sinclair


Stiebel Eltron LWZ 304 trend

willybauss

Probier mal aus, ob es einen Unterschied macht, ob Du die Urlaubsdatum per fhem oder übers Display der Anlage eingibst.

Steht denn im Manual der Anlage irgendwas drin, ob man außer dem Setzen von Start und Ende noch was machen muss?
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

immi

Zitat von: Sinclair am 28 Dezember 2019, 17:11:05
Leider scheint die Heizung meine aktuelle Urlaubseinstellung nicht übernommen zu haben. Gibt es einen Parameter oder Flag an dem man erkennen kann ob die Anlage im Urlaubs-Modus ist?
Muss man beim Setzen des Urlaubs Start- und End-Termin über FHEM eine bestimmte Reihenfolge beachten bzw muss der Start-Termin grundsätzlich in der Zukunft liegen oder prüft die Anlage nur ob man momentan zwischen den 2 Terminen liegt?

Hat jemand schon eine komfortablere Einstellmöglichkeit (über FHEM oder Smartvisu) geschaffen, wo man nicht Tag, Monat, Stunde usw einzeln eingeben muss sondern das ganze Datum inkl. Uhrzeit einfach wählen oder eingeben kann? (Code-Snipsel willkommen  ;D)
Setting holiday-start and -end worked for me, without any extra procedure.
Nevertheless I never really used the holiday function, since FHEM is working.

I find it more confortable to connect to my home-vpn the last day of my holyday and change from standby to automatic (but with very low warm-water); 1h before I arrive home, I also set ww to the normal temperature.
immi

Sinclair

jetzt scheint es zu funktionieren!

Ich habe gestern nochmal über FHEM nur die Uhrzeiten gesetzt und ab dann war auch das Schaltprogramm aus.
Muss mir auch mal eine Lösung über FHEM überlegen, so dass die Urlaubseinstellung nicht immer zum Glückspiel wird.

Danke an immi und willybauss
Stiebel Eltron LWZ 304 trend

kriforum

Zitat von: willybauss am 16 Dezember 2019, 22:44:25
I can't help you with porting to Telegram. But maybe I know about your trouble with DebianMail. If your installation is based on my example code, you should have in mind that my code relies on a piece of code for DebianMail, which must be placed in 99_myUtils.pm. This special version allows email attachments, which isn't possible in standard DebianMail.

The code looks like
######## DebianMail  Mail auf dem RPi versenden - incl. Attachment ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "[YourEmailAddress]\@[YourProvider]";
my $konto = "accountname\@account.de";
my $passwrd = "[YourPassword]";
my $provider = "securesmtp.t-online.de";
Log 1, "sendEmail Empfaenger: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Attachment: $attach";
################ FOR DEBUGGING PURPOSES ONLY ########################
################ Log 1, "sendEmail Sender: $sender";
################ Log 1, "sendEmail Konto: $konto";
################ Log 1, "sendEmail Passwort: $passwrd";
################ Log 1, "sendEmail Provider: $provider";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}

Thanks Willy,

I had used your modified code in the utils. The DebianMail trouble is somehow related to openssh, I remember I had to search a lot when setting it up for the old version, and I thought thisshould have been fixed now in Buster.

Anyway, now I found out how to do it with Telegram when I had a thorough look to the code again. As the telegram command is a fhem command, whereas DebianMail is a perl one, I simply had to to place "fhem" in front, now it looks like this and works fine:

define Mythz.alarm_failure notify Mythz { if (((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]) > ReadingsVal("Mythz","number_of_faults_old",0)) { fhem ("set myTelegramBot message Tecalor Mythz Alarm - Fehlermeldung") ;; fhem("setreading Mythz number_of_faults_old ". ((split ' ',ReadingsVal("Mythz","sLast10errors",0))[1]));; } }


Gesendet von meinem SM-G950F mit Tapatalk


frankef

Hallo zusammen,

ich habe das geniale Modul von immi installiert und versuche gerade meine LHZ303i besser zu verstehen.
(Pumpe aktuell alle Daten in eine Datenbank und visualisiere sie mit Grafana.

Da wir bei ähnlichen Rahmenbedingungen ca. 30% mehr Strom als unsere Nachbarn (mit der gleichen Anlage) verbrauchen, vermute ich einiges an Optimierungspotenzial.

Ich würde gerne im ersten Schritt die einzelnen Werte in sGlobal besser verstehen.

Wie sind diese Werte zu betrachten, sind sie für eine Optimierung/Fehlersuche relevant?

- hotGasTemp (schwankt zwischen 30 und 110 Grad)
- evaporatorTemp (schwankt zwischen -4 und 25 Grad)
- condenserTemp (schwankt zwischen 20 und 60 Grad)
- heatPipeValve (steht unregelmäßig auf "1", in einer Nacht plötzlich 11 mal in 2h)
- STB (unregelmäßig auf "1")
- actualPower_Pel
- actualPower_Qc
- P_Hd
- P_Nd

Sorry für meine Fragen. Mir fehlt vielleicht auch noch ein bissl Grundverständnis, wie die Anlage funktioniert.
Ich verstehe auch die Funktion vom Heizkreis 2 nicht. Ich dachte die Anlage heizt mit Heizkreis 1 sowohl den WW-Speicher, als auch die Fußbodenheizung.

Daher ist mir auch nicht klar, wie ich die Vorlauftemperatur flowTempHC2 interpretieren sollte.

Könnt ihr mir da bitte helfen?