From 0153c3ed21b0070b18357edcbbf159ae2a26c83e Mon Sep 17 00:00:00 2001 From: immiimmi <> Date: Tue, 25 Feb 2014 19:21:17 +0000 Subject: [PATCH] THZ: added german command-ref git-svn-id: https://svn.fhem.de/fhem/trunk@5049 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_THZ.pm | 99 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 79 insertions(+), 20 deletions(-) diff --git a/fhem/FHEM/00_THZ.pm b/fhem/FHEM/00_THZ.pm index 6552296ca..c115abbbe 100644 --- a/fhem/FHEM/00_THZ.pm +++ b/fhem/FHEM/00_THZ.pm @@ -1,7 +1,7 @@ ############################################## # 00_THZ # by immi 02/2014 -# v. 0.068 +# v. 0.069 # this code is based on the hard work of Robert; I just tried to port it # http://robert.penz.name/heat-pump-lwz/ # http://heatpumpmonitor.penz.name/heatpumpmonitorwiki/ @@ -216,11 +216,6 @@ sub THZ_Define($$) my $ret = DevIo_OpenDev($hash, 0, undef); - #my %par = (command => "allFB", hash => $hash ); - #InternalTimer(gettimeofday() +200, "THZ_GetRefresh", \%par, 0); - #my %par1 = ( command => "firmware", hash => $hash); - #InternalTimer(gettimeofday() +200, "THZ_GetRefresh", \%par1, 0); - #foreach my $cmdhash (keys %gets) { THZ_Get($hash, $hash->{NAME}, $cmdhash); } #refresh all registers THZ_Refresh_all_gets($hash); return $ret; } @@ -416,14 +411,17 @@ sub THZ_Get($@){ my $cmd = $a[1]; my ($err, $msg) =("", " "); + if ($cmd eq "debug_read_raw_register_slow") { + THZ_debugread($hash); + return ("all raw registers read and saved"); + } + + my $cmdhash = $gets{$cmd}; return "Unknown argument $cmd, choose one of " . join(" ", sort keys %gets) if(!defined($cmdhash)); - if ($cmd eq "debug_read_raw_register_slow") { - THZ_debugread($hash); - return ("all raw registers read and saved"); - } + THZ_Write($hash, "02"); # STX start of text ($err, $msg) = THZ_ReadAnswer($hash); #Expectedanswer1 is "10" DLE data link escape @@ -716,9 +714,9 @@ sub THZ_Parse($) { "hot_gas_temp: " . hex2int(substr($message,20,4))/10 . " " . #Heißgas Temperatur "dhw_temp: " . hex2int(substr($message,24,4))/10 . " " . #Speicher Temperatur current cilinder water temperature "flow_temp_HC2: " . hex2int(substr($message,28,4))/10 . " " . #Vorlauf TemperaturHK2 - "evaporator_temp: " . hex2int(substr($message,36,4))/10 . " " . #Speicher Temperatur - "condenser_temp: " . hex2int(substr($message,40,4))/10 . " " . - "Mixer_open: " . ((hex(substr($message,44,1)) & 0b0001) / 0b0001) . " " . + "evaporator_temp: " . hex2int(substr($message,36,4))/10 . " " . #Speicher Temperatur + "condenser_temp: " . hex2int(substr($message,40,4))/10 . " " . + "Mixer_open: " . ((hex(substr($message,44,1)) & 0b0001) / 0b0001) . " " . "Mixer_closed: " . ((hex(substr($message,44,1)) & 0b0010) / 0b0010) . " " . "HeatPipeValve: " . ((hex(substr($message,44,1)) & 0b0100) / 0b0100) . " " . "DiverterValve: " . ((hex(substr($message,44,1)) & 0b1000) / 0b1000) . " " . @@ -839,18 +837,18 @@ my %parsinghash = ( sub THZ_debugread($){ my ($hash) = @_; my ($err, $msg) =("", " "); - #my @numbers=('01', '09', '0B0005', '0B0008', '0C0005','0C0008','0A0013', '16', 'D1', 'D2', 'E8', 'E9', 'F2', 'F3', 'F4', 'F5', 'F6', 'FB', 'FC', 'FD', 'FE'); + my @numbers=('01', '09', '16', 'D1', 'D2', 'E8', 'E9', 'F2', 'F3', 'F4', 'F5', 'F6', 'FB', 'FC', 'FD', 'FE'); # my @numbers=('0B14A2', '0B54A2', '0B2000', '0B2010', '0C2000','0A2008','0A3010', '0B54A2', '0B64A2', '0B7000', '0B8010', '0C8000','0A8008','0A9010'); #my @numbers = (1..255); - my @numbers = (1..65535); + #my @numbers = (1..65535); my $indice= "FF"; unlink("data.txt"); #delete debuglog foreach $indice(@numbers) { #my $cmd = sprintf("%02X", $indice); - my $cmd = "0A" . sprintf("%04X", $indice); - #my $cmd = $indice; - # STX start of text + #my $cmd = "0A" . sprintf("%04X", $indice); + my $cmd = $indice; + #STX start of text THZ_Write($hash, "02"); ($err, $msg) = THZ_ReadAnswer($hash); # send request @@ -903,14 +901,16 @@ sub THZ_Undef($$) { 1; + =pod =begin html

THZ

=end html + +=begin html_DE + + +

THZ

+ + +=end html_DE + + =cut