From 5d832d347c264c5815ea8ad86786cbfc67f27983 Mon Sep 17 00:00:00 2001 From: oskarfessel <> Date: Tue, 1 May 2012 06:11:04 +0000 Subject: [PATCH] New functionality to support Floorplan Aggregate, depends on statusHTML attribute being set git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@1510 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- contrib/23_LUXTRONIK2.pm | 38 ++++++++++++++++++++++++++++---------- contrib/README | 4 ++++ contrib/serial.pl | 11 ++++++----- 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/contrib/23_LUXTRONIK2.pm b/contrib/23_LUXTRONIK2.pm index 14c102219..a4e980d7a 100644 --- a/contrib/23_LUXTRONIK2.pm +++ b/contrib/23_LUXTRONIK2.pm @@ -39,7 +39,7 @@ LUXTRONIK2_Initialize($) my ($hash) = @_; $hash->{DefFn} = "LUXTRONIK2_Define"; - $hash->{AttrList} = "loglevel:0,1,2,3,4,5,6"; + $hash->{AttrList} = "loglevel:0,1,2,3,4,5,6 firmware statusHTML"; } sub @@ -178,7 +178,7 @@ LUXTRONIK2_GetStatus($) if($err_log ne "") { Log GetLogLevel($name,2), "LUXTRONIK2 ".$err_log; - return(""); + return("LUXTRONIK2 general problem with heatpump connection"); } my %wpOpStat1 = ( 0 => "Waermepumpe laeuft", @@ -210,6 +210,13 @@ LUXTRONIK2_GetStatus($) # Erst die operativen Stati und Parameterenstellungen + if(AttrVal($hash->{NAME}, "firmware", "none") ne "none") { + $attr{$hash->{NAME}}{firmware} = $heatpump_values[81]; + for(my $fi=82; $fi<91; $fi++) { + $attr{$hash->{NAME}}{firmware} .= $heatpump_values[$fi]; + } + } + $sensor = "currentOperatingStatus1"; $switch = $heatpump_values[117]; $value = $wpOpStat1{$switch}; @@ -288,17 +295,17 @@ LUXTRONIK2_GetStatus($) LUXTRONIK2_TempValueMerken($hash,$heatpump_values[17],"hotWaterTemperature"); # Wert 10 gibt die Vorlauftemperatur an, die - # korrekte Übersetzung ist flow temperature. + # korrekte Uebersetzung ist flow temperature. LUXTRONIK2_TempValueMerken($hash,$heatpump_values[10],"flowTemperature"); - # Rücklauftempereatur + # Ruecklauftempereatur LUXTRONIK2_TempValueMerken($hash,$heatpump_values[11],"returnTemperature"); - # Rücklauftemperatur Sollwert + # Ruecklauftemperatur Sollwert LUXTRONIK2_TempValueMerken($hash,$heatpump_values[12],"returnTemperatureTarget"); - # Rücklauftemperatur am externen Sensor. + # Ruecklauftemperatur am externen Sensor. LUXTRONIK2_TempValueMerken($hash,$heatpump_values[13],"returnTemperatureExtern"); - - # Durchfluss Wärmemengenzähler - # Durchfluss Wärmemengenzähler + + + # Durchfluss Waermemengenzaehler $sensor = "flowRate"; $value = $heatpump_values[155]; if($hash->{READINGS}{$sensor}{VAL} != $value) { @@ -307,7 +314,18 @@ LUXTRONIK2_GetStatus($) $hash->{READINGS}{$sensor}{UNIT} = "l/h"; $hash->{CHANGED}[$cc++] = $sensor.": ".$value; } - + + if(AttrVal($hash->{NAME}, "statusHTML", "none") ne "none") { + $sensor = "floorplanHTML"; + $value = '