THZ / LWZ Tecalor Stiebel Eltron Heizung

Begonnen von Heiner, 02 Juni 2013, 11:39:13

Vorheriges Thema - Nächstes Thema

micomat

0.106 installed and found to be great :)
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

willybauss

If you have implemented an alarm notify sending you an email in case of trouble, you can also force it to add an attachment containing the list of failures, as mentioned in the installation manual. The text file is attached here.

The notify needs to be modified a bit, in order to add the path to the attachment:

define Mythz.alarm_failure notify Mythz { if (((split ' ',ReadingsVal("Mythz","sLast10errors","ERROR"))[1]) > ReadingsVal("Mythz","number_of_faults_old","ERROR")) { DebianMail('YOUREMAILADDRESS@t-online.de','Tecalor Mythz Alarm - ERROR','Fehlermeldung: '. $EVENT,'/mnt/fhem/Tecalor-Fehlermeldungen.txt');; fhem("setreading Mythz number_of_faults_old ". ((split ' ',ReadingsVal("Mythz","sLast10errors","ERROR"))[1]));; } }
attr Mythz.alarm_failure room Heizung


In above code    /mnt/fhem/Tecalor-Fehlermeldungen.txt   is the path to the attachment, which has to be adjusted to your needs.

Additionally you need to modify the function DebianMail in your 99_myUtils.pm, so that it can support attachments:

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
######## 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\@t-online.de";
my $konto = "kontoname\@account.de";
my $passwrd = "YOURPASSWORD";
my $provider = "securesmtp.t-online.de";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Attachment: $attach";

$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";
}
1;


And finally - since DebianMail got an additional argument -  you need to add an additional empty argument to every one of your already existing DebianMail calls: directly after the text argument you need to add


,''


e.g. it could finally look like


define Mythz.alarm_insideTempLow notify Mythz { if (ReadingsVal("Mythz","inside_temp","ERROR") < 19 ) { DebianMail('YOUREMAILADDRESS@t-online.de','Tecalor Mythz Alarm - insideTemp','Innentemperatur zu niedrig','');;;; } }


Afterwards everything should work as before, but you get hints for root cause of failure additionally as soon as THZ informs you about any trouble.
FHEM auf Raspberry Pi B und 2B; THZ (THZ-303SOL), CUL_HM, TCM-EnOcean, SamsungTV, JSONMETER, SYSMON, OBIS, STATISTICS

houseowner123

Since the last update the Main fan power in sGlobal is always zero. Does anybody else have the same issue?

Tom

immi

Hi Tom
For me it is working.

2014-06-21_02:10:59 Mythz sGlobal: outsideTemp: 12.8 flowTemp: 50.6 returnTemp: 47.7 hotGasTemp: 87.5 dhwTemp: 45.8 flowTempHC2: -60 evaporatorTemp: 4.7 condenserTemp: 49.4 mixerOpen: 0 mixerClosed: 0 heatPipeValve: 0 diverterValve: 0 dhwPump: 1 heatingCircuitPump: 0 solarPump: 0 compressor: 1 boosterStage3: 0 boosterStage2: 0 boosterStage1: 0 highPressureSensor: 0 lowPressureSensor: 1 evaporatorIceMonitor: 0 signalAnode: 0 rvuRelease: 1 ovenFireplace: 0 STB: 0 outputVentilatorPower: 30 inputVentilatorPower: 30 mainVentilatorPower: 70 outputVentilatorSpeed: 21 inputVentilatorSpeed: 28 mainVentilatorSpeed: 20 outside_tempFiltered: 14.2 relHumidity: 0 dewPoint: 0 P_Nd: 4.38 P_Hd: 23.12 actualPower_Qc: 4491 actualPower_Pel: 5243 collectorTemp: -60 insideTemp: -60

Search for "compressor: 1" in the logfile. It is hot, therefore mainVentilatorPower should remain 0 mostly all the time.
The last update was critical in parsing, keep me informed.
immi

micomat

immi is right. main vent is only working when the compressor is running :)
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

houseowner123

For whatever the reason, all is normal now again. :) Hope it stays that way.  But thanks for the confirmation, immi and Markus!

Tom

maximalz

I updated to latest version an now it seems that the example configuration from the wiki is not working witht the FanSelectors.
I always get

FanSelectorDay: unknown attribute webCmd. Type 'attr FanSelectorDay ?' for a detailed list. FanSelectorDay: unknown attribute devStateIcon. Type 'attr FanSelectorDay ?' for a detailed list. FanSelectorNight: unknown attribute webCmd. Type 'attr FanSelectorNight ?' for a detailed list. FanSelectorNight: unknown attribute devStateIcon. Type 'attr FanSelectorNight ?' for a detailed list. FanSelectorDay: unknown attribute webCmd. Type 'attr FanSelectorDay ?' for a detailed list. FanSelectorDay: unknown attribute devStateIcon. Type 'attr FanSelectorDay ?' for a detailed list.

The attr's are instantaneously removed from config.

What am I doing wrong here?
THZ (403 SOL), OBIS (2x EDL21), SolarEdge (SE10k), Sun+Luna 2000

micomat

please post your Config. it should work

markus
via iphone
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

maximalz

This is my config:



attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

# define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB hiddenroom DashboardRoom

define WEBphone FHEMWEB 8084 global
attr WEBphone hiddenroom DashboardRoom
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet hiddenroom DashboardRoom
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

# #########################################################################
# THZ 404 Sol Waermepumpe
# #########################################################################
define Mythz THZ /dev/ttyUSB0@57600

# interval Defintionen
attr Mythz interval_sGlobal 300
attr Mythz interval_sHistory 28800
attr Mythz interval_sLast10errors 120

# userReadings
attr Mythz userReadings AussenTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[1]}, VorlaufTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[3]}, RuecklaufTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[5]}, WWTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[9]}, KollektorTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[79]}

# Definition von file-log und den SVG-Plots einiger Daten
define FileLog_Mythz FileLog ./log/Mythz-%Y-%m.log Mythz
define wal_0 SVG FileLog_Mythz:thz:CURRENT
attr wal_0 room Heizung
define wal_1 SVG FileLog_Mythz:thz1:CURRENT
attr wal_1 room Heizung
define wal_2 SVG FileLog_Mythz:thz2:CURRENT
attr wal_2 room Heizung
define wal_3 SVG FileLog_Mythz:thz3:CURRENT
attr wal_3 room Heizung
define wal_4 SVG FileLog_Mythz:thz4:CURRENT
attr wal_4 room Heizung

# readingsGroup
define rg_thz readingsGroup Mythz:<%temp_outside>,<Aussen>,AussenTemp Mythz:<%sani_supply_temp@red>,<Vorlauf>,VorlaufTemp Mythz:<%sani_return_temp@blue>,<Rücklauf>,RuecklaufTemp Mythz:<%sani_boiler_temp@BD7800>,<Wasser>,WWTemp Mythz:<%sani_solar_temp>,<Kollektor>,KollektorTemp
attr rg_thz alias Heizung Temperaturen
attr rg_thz group THZ
attr rg_thz room Sysintern
attr rg_thz valueFormat { AussenTemp => '%1.f °C', VorlaufTemp => '%1.f °C', AussenTemp=> '%1.f °C', RuecklaufTemp=> '%1.f °C', WWTemp=> '%1.f °C', KollektorTemp=> '%1.f °C' }

# Dashboard
define MyDashboard Dashboard
attr MyDashboard dashboard_row top-center
attr MyDashboard dashboard_showtooglebuttons 0
attr MyDashboard dashboard_tab1groups THZ
attr MyDashboard dashboard_tab1name micofhem
attr MyDashboard dashboard_tab1sorting t0c100,THZ,true,170,253
attr MyDashboard dashboard_tabcount 1
attr MyDashboard dashboard_webfrontendfilter WEB
define MyDashboard_weblink weblink htmlCode {DashboardAsHtml("MyDashboard")}
attr MyDashboard_weblink room DashboardRoom

# FanSelector für die Lueftungssteuerung
define FanSelectorDay dummy
attr FanSelectorDay group THZ
attr FanSelectorDay setList 0 1 2 3 offFor60min
attr FanSelectorDay webCmd 0:1:2:3:offFor60min
attr FanSelectorDay devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
define Notify_p07FanStageDay notify FanSelectorDay IF ([FanSelectorDay] eq "offFor60min") (define at_D_offFor60min at +00:59:00 set Mythz p07FanStageDay [Mythz:p07FanStageDay],set Mythz p07FanStageDay 0, setstate FanSelectorDay offFor60min) ELSE (set Mythz p07FanStageDay $EVENT)
define Notify_FanselectorDay notify (Mythz.p07FanStageDay.*) setstate FanSelectorDay $EVTPART1
attr FanSelectorDay room heatpump
define FanSelectorNight dummy
attr FanSelectorNight group THZ
attr FanSelectorNight setList 0 1 2 3 offFor60min
attr FanSelectorNight webCmd 0:1:2:3:offFor60min
attr FanSelectorNight devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
define Notify_p08FanStageNight notify FanSelectorNight IF ([FanSelectorNight] eq "offFor60min") (define at_N_offFor60min at +00:59:00 set Mythz p08FanStageNight [Mythz:p08FanStageNight],set Mythz p08FanStageNight 0, setstate FanSelectorNight offFor60min) ELSE (set Mythz p08FanStageNight $EVENT)
define Notify_FanselectorNight notify (Mythz.p08FanStageNight.*) setstate FanSelectorNight $EVTPART1
attr FanSelectorNight room heatpump
attr FanSelectorDay webCmd 0:1:2:3:offFor60min
attr FanSelectorDay devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
# #########################################################################


Somehow after multiple "shutdown restart" it displays the icon but the error when saving the config stays the same.

Frank
THZ (403 SOL), OBIS (2x EDL21), SolarEdge (SE10k), Sun+Luna 2000

micomat

okay, that all looks quite normal.

please enter "list FanSelectorDay" and "list FanSelectorNight" in the command line of fhem and post the output.
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

maximalz


Internals:
   NAME       FanSelectorDay
   NR         48
   STATE      0
   TYPE       dummy
   Readings:
     2014-06-22 15:07:07   state           0
Attributes:
   group      THZ
   room       heatpump
   setList    0 1 2 3 offFor60min


Internals:
   NAME       FanSelectorNight
   NR         51
   STATE      1
   TYPE       dummy
Attributes:
   group      THZ
   room       heatpump
   setList    0 1 2 3 offFor60min
THZ (403 SOL), OBIS (2x EDL21), SolarEdge (SE10k), Sun+Luna 2000

immi

Zitat von: maximalz am 22 Juni 2014, 19:39:50
This is my config:


attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

# define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB hiddenroom DashboardRoom

define WEBphone FHEMWEB 8084 global
attr WEBphone hiddenroom DashboardRoom
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet hiddenroom DashboardRoom
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

# #########################################################################
# THZ 404 Sol Waermepumpe
# #########################################################################
define Mythz THZ /dev/ttyUSB0@57600

# interval Defintionen
attr Mythz interval_sGlobal 300
attr Mythz interval_sHistory 28800
attr Mythz interval_sLast10errors 120

# userReadings
attr Mythz userReadings AussenTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[1]}, VorlaufTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[3]}, RuecklaufTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[5]}, WWTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[9]}, KollektorTemp:sGlobal {(split ' ',ReadingsVal("Mythz","sGlobal",0))[79]}

# Definition von file-log und den SVG-Plots einiger Daten
define FileLog_Mythz FileLog ./log/Mythz-%Y-%m.log Mythz
define wal_0 SVG FileLog_Mythz:thz:CURRENT
attr wal_0 room Heizung
define wal_1 SVG FileLog_Mythz:thz1:CURRENT
attr wal_1 room Heizung
define wal_2 SVG FileLog_Mythz:thz2:CURRENT
attr wal_2 room Heizung
define wal_3 SVG FileLog_Mythz:thz3:CURRENT
attr wal_3 room Heizung
define wal_4 SVG FileLog_Mythz:thz4:CURRENT
attr wal_4 room Heizung

# readingsGroup
define rg_thz readingsGroup Mythz:<%temp_outside>,<Aussen>,AussenTemp Mythz:<%sani_supply_temp@red>,<Vorlauf>,VorlaufTemp Mythz:<%sani_return_temp@blue>,<Rücklauf>,RuecklaufTemp Mythz:<%sani_boiler_temp@BD7800>,<Wasser>,WWTemp Mythz:<%sani_solar_temp>,<Kollektor>,KollektorTemp
attr rg_thz alias Heizung Temperaturen
attr rg_thz group THZ
attr rg_thz room Sysintern
attr rg_thz valueFormat { AussenTemp => '%1.f °C', VorlaufTemp => '%1.f °C', AussenTemp=> '%1.f °C', RuecklaufTemp=> '%1.f °C', WWTemp=> '%1.f °C', KollektorTemp=> '%1.f °C' }

# Dashboard
define MyDashboard Dashboard
attr MyDashboard dashboard_row top-center
attr MyDashboard dashboard_showtooglebuttons 0
attr MyDashboard dashboard_tab1groups THZ
attr MyDashboard dashboard_tab1name micofhem
attr MyDashboard dashboard_tab1sorting t0c100,THZ,true,170,253
attr MyDashboard dashboard_tabcount 1
attr MyDashboard dashboard_webfrontendfilter WEB
define MyDashboard_weblink weblink htmlCode {DashboardAsHtml("MyDashboard")}
attr MyDashboard_weblink room DashboardRoom

# FanSelector für die Lueftungssteuerung
define FanSelectorDay dummy
attr FanSelectorDay group THZ
attr FanSelectorDay setList 0 1 2 3 offFor60min
attr FanSelectorDay webCmd 0:1:2:3:offFor60min
attr FanSelectorDay devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
define Notify_p07FanStageDay notify FanSelectorDay IF ([FanSelectorDay] eq "offFor60min") (define at_D_offFor60min at +00:59:00 set Mythz p07FanStageDay [Mythz:p07FanStageDay],set Mythz p07FanStageDay 0, setstate FanSelectorDay offFor60min) ELSE (set Mythz p07FanStageDay $EVENT)
define Notify_FanselectorDay notify (Mythz.p07FanStageDay.*) setstate FanSelectorDay $EVTPART1
attr FanSelectorDay room heatpump
define FanSelectorNight dummy
attr FanSelectorNight group THZ
attr FanSelectorNight setList 0 1 2 3 offFor60min
attr FanSelectorNight webCmd 0:1:2:3:offFor60min
attr FanSelectorNight devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
define Notify_p08FanStageNight notify FanSelectorNight IF ([FanSelectorNight] eq "offFor60min") (define at_N_offFor60min at +00:59:00 set Mythz p08FanStageNight [Mythz:p08FanStageNight],set Mythz p08FanStageNight 0, setstate FanSelectorNight offFor60min) ELSE (set Mythz p08FanStageNight $EVENT)
define Notify_FanselectorNight notify (Mythz.p08FanStageNight.*) setstate FanSelectorNight $EVTPART1
attr FanSelectorNight room heatpump
attr FanSelectorDay webCmd 0:1:2:3:offFor60min
attr FanSelectorDay devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
# #########################################################################


Somehow after multiple "shutdown restart" it displays the icon but the error when saving the config stays the same.

Frank

Hi Frank

avoid automatic stuff, unless you have a new device to be configures
--> comment out autocreate.

try to clean up
--> you have 2 times: attr FanSelectorDay webCmd  //and/// attr FanSelectorDay devStateIcon

immi




micomat

Zitat von: immi am 22 Juni 2014, 22:16:22
try to clean up
--> you have 2 times: attr FanSelectorDay webCmd  //and/// attr FanSelectorDay devStateIcon

oh shame on me, how can i have overlooked that... :o
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

maximalz

Thank you! I did not notice the double specification of the two attributes. Now the warning is gone.
Another question: Is there a better forum to discuss THZ-specific questions (not FHEM-related)? Because as I can see there are a lot of people around here who know much better how to set the parameters of the THZ than me.

Frank
THZ (403 SOL), OBIS (2x EDL21), SolarEdge (SE10k), Sun+Luna 2000

micomat

you could try haustechnikdialog.de but in my eyes, the settings must fit to your house and needs. there is not a really "best" default setting.
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