From 8223ff22425bf25f2a749f1d642a81b24cb431e1 Mon Sep 17 00:00:00 2001 From: tpoitzsch <> Date: Thu, 1 Jan 2015 19:35:10 +0000 Subject: [PATCH] LUXTRONIK: docu git-svn-id: https://svn.fhem.de/fhem/trunk@7396 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/23_LUXTRONIK2.pm | 32 +++++++++++++++++++++----------- fhem/FHEM/70_JSONMETER.pm | 25 ++++++++++++++----------- fhem/FHEM/98_statistics.pm | 6 ++++-- 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/fhem/FHEM/23_LUXTRONIK2.pm b/fhem/FHEM/23_LUXTRONIK2.pm index ac8f8b935..92e575cfc 100644 --- a/fhem/FHEM/23_LUXTRONIK2.pm +++ b/fhem/FHEM/23_LUXTRONIK2.pm @@ -251,24 +251,25 @@ LUXTRONIK2_Set($$@) # LUXTRONIK2_Log $hash, 3, $resultStr; return $resultStr; } + elsif($cmd eq 'INTERVAL' && int(@_)==4 ) { $val = 30 if( $val < 30 ); $hash->{INTERVAL}=$val; return "Polling interval set to $val seconds."; } + elsif($cmd eq 'activeTariff' && int(@_)==4 ) { $val = 0 if( $val < 1 || $val > 9 ); readingsSingleUpdate($hash,"activeTariff",$val, 1); $hash->{LOCAL} = 1; LUXTRONIK2_GetUpdate($hash); $hash->{LOCAL} = 0; - return "$name: activeTariff set to $val."; + Log3 $name, 3, "LUXTRONIK2: set $name $cmd $val"; + return undef; } - #Check Firmware and Set-Paramter-lock - if ($cmd eq 'synchronizeClockHeatPump' || - $cmd eq 'hotWaterTemperatureTarget' || - $cmd eq 'opModeHotWater') + #Check Firmware and Set-Parameter-lock + if ( $cmd =~ /^(synchronizeClockHeatPump|hotWaterTemperatureTarget|opModeHotWater)$/i ) { my $firmware = ReadingsVal($name,"firmware",""); my $firmwareCheck = LUXTRONIK2_checkFirmware($firmware); @@ -294,10 +295,12 @@ LUXTRONIK2_Set($$@) $hash->{LOCAL} = 0; LUXTRONIK2_Log $name, 3, $resultStr; return $resultStr; + } elsif(int(@_)==4 && ($cmd eq 'hotWaterTemperatureTarget' || $cmd eq 'opModeHotWater' || $cmd eq 'returnTemperatureSetBack')) { + Log3 $name, 3, "LUXTRONIK2: set $name $cmd $val"; $hash->{LOCAL} = 1; $resultStr = LUXTRONIK2_SetParameter ($hash, $cmd, $val); $hash->{LOCAL} = 0; @@ -1087,7 +1090,9 @@ LUXTRONIK2_SetParameter($$$) if(AttrVal($name, "allowSetParameter", 0) != 1) { return $name." Error: Setting of parameters not allowed. Please set attribut 'allowSetParameter' to 1"; } - if ($parameterName eq "hotWaterTemperatureTarget") { + + if ($parameterName eq "hotWaterTemperatureTarget") + { #parameter number $setParameter = 2; #limit temperature range @@ -1097,14 +1102,18 @@ LUXTRONIK2_SetParameter($$$) $setValue = int($realValue * 2) * 5; $realValue = $setValue / 10; } - elsif ($parameterName eq "opModeHotWater") { + + elsif ($parameterName eq "opModeHotWater") + { if (! exists($opMode{$realValue})) { return "$name Error: Wrong parameter given for opModeHotWater, use Automatik,Party,Off" } $setParameter = 4; $setValue = $opMode{$realValue}; } - elsif ($parameterName eq "returnTemperatureSetBack") { + + elsif ($parameterName eq "returnTemperatureSetBack") + { #parameter number $setParameter = 1; #limit temperature range @@ -1114,14 +1123,15 @@ LUXTRONIK2_SetParameter($$$) $setValue = int($realValue * 2) * 5; $realValue = $setValue / 10; } - else { + else + { return "$name LUXTRONIK2_SetParameter-Error: unknown parameter $parameterName"; } ############################ # Send new parameter to host ############################ - if ($setParameter !=0) { + if ($setParameter != 0) { LUXTRONIK2_Log $name, 5, "Opening connection to host ".$host; my $socket = new IO::Socket::INET ( PeerAddr => $host, PeerPort => 8888, @@ -1162,7 +1172,7 @@ LUXTRONIK2_SetParameter($$$) readingsSingleUpdate($hash,$parameterName,$realValue,1); - return "$name: Parameter $parameterName set to $realValue"; + return undef; } } diff --git a/fhem/FHEM/70_JSONMETER.pm b/fhem/FHEM/70_JSONMETER.pm index c712c7cbe..6467bf28e 100644 --- a/fhem/FHEM/70_JSONMETER.pm +++ b/fhem/FHEM/70_JSONMETER.pm @@ -245,20 +245,21 @@ JSONMETER_Set($$@) my ($hash, $name, $cmd, $val) = @_; my $resultStr = ""; - if($cmd eq 'statusRequest') { + if(lc $cmd eq 'update') { $hash->{LOCAL} = 1; JSONMETER_GetUpdate($hash); $hash->{LOCAL} = 0; return undef; } - elsif($cmd eq 'restartJsonAnalysis') { + elsif(lc $cmd eq 'restartjsonanalysis') { $hash->{fhem}{jsonInterpreter} = ""; $hash->{LOCAL} = 1; JSONMETER_GetUpdate($hash); $hash->{LOCAL} = 0; + Log3 $name, 3, "JSONMETER: set $name $cmd"; return undef; } - elsif ($cmd eq 'resetStatistics') { + elsif (lc $cmd eq 'resetstatistics') { if ($val =~ /all|statElectricityConsumed\.\.\.|statElectricityConsumedTariff\.\.\.|statElectricityPower\.\.\./) { my $regExp; if ($val eq "all") { $regExp = "stat"; } @@ -273,20 +274,22 @@ JSONMETER_Set($$@) WriteStatefile(); return $resultStr; } - elsif($cmd eq 'INTERVAL' && int(@_)==4 ) { + elsif(lc $cmd eq 'interval' && int(@_)==4 ) { $val = 10 if( $val < 10 ); $hash->{INTERVAL}=$val; - return "$name: Polling interval set to $val seconds."; + Log3 $name, 3, "JSONMETER: set $name $cmd $val"; + return undef; } - elsif($cmd eq 'activeTariff' && int(@_)==4 ) { + elsif(lc $cmd eq 'activetariff' && int(@_)==4 ) { $val = 0 if( $val < 1 || $val > 9 ); readingsSingleUpdate($hash,"activeTariff",$val, 1); - $hash->{LOCAL} = 1; - JSONMETER_GetUpdate($hash); - $hash->{LOCAL} = 0; - return "$name: activeTariff set to $val."; + $hash->{LOCAL} = 1; + JSONMETER_GetUpdate($hash); + $hash->{LOCAL} = 0; + Log3 $name, 3, "JSONMETER: set $name $cmd $val"; + return undef; } - my $list = "statusRequest:noArg" + my $list = "update:noArg" ." activeTariff:0,1,2,3,4,5,6,7,8,9" ." resetStatistics:all,statElectricityConsumed...,statElectricityConsumedTariff...,statElectricityPower..." ." restartJsonAnalysis:noArg" diff --git a/fhem/FHEM/98_statistics.pm b/fhem/FHEM/98_statistics.pm index d254b7cdc..8f13b748e 100644 --- a/fhem/FHEM/98_statistics.pm +++ b/fhem/FHEM/98_statistics.pm @@ -925,8 +925,10 @@ sub statistics_doStatisticDurationSingle ($$$$$$) # Store current reading as last reading, Reset current reading if ($saveLast) { readingsBulkUpdate($dev, $statReadingName . "Last", $result, 1); - statistics_Log $hash, 5, "Set '".$statReadingName . "Last = $result'"; - $result = "$state: 00:00:00 ".$state."_Count: 1"; + statistics_Log $hash, 4, "Set '".$statReadingName . "Last = $result'"; + $result = $state.": 00:00:00 ".$state."_Count: 1"; + $hidden{$state.":"} = 0; + $hidden{$state."_Count:"} = 1; $hidden{"showDate:"} = 0; }