2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-22 08:11:44 +00:00

LUXTRONIK: docu

git-svn-id: https://svn.fhem.de/fhem/trunk@7396 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
tpoitzsch 2015-01-01 19:35:10 +00:00
parent 008f064789
commit 8223ff2242
3 changed files with 39 additions and 24 deletions

View File

@ -251,24 +251,25 @@ LUXTRONIK2_Set($$@)
# LUXTRONIK2_Log $hash, 3, $resultStr; # LUXTRONIK2_Log $hash, 3, $resultStr;
return $resultStr; return $resultStr;
} }
elsif($cmd eq 'INTERVAL' && int(@_)==4 ) { elsif($cmd eq 'INTERVAL' && int(@_)==4 ) {
$val = 30 if( $val < 30 ); $val = 30 if( $val < 30 );
$hash->{INTERVAL}=$val; $hash->{INTERVAL}=$val;
return "Polling interval set to $val seconds."; return "Polling interval set to $val seconds.";
} }
elsif($cmd eq 'activeTariff' && int(@_)==4 ) { elsif($cmd eq 'activeTariff' && int(@_)==4 ) {
$val = 0 if( $val < 1 || $val > 9 ); $val = 0 if( $val < 1 || $val > 9 );
readingsSingleUpdate($hash,"activeTariff",$val, 1); readingsSingleUpdate($hash,"activeTariff",$val, 1);
$hash->{LOCAL} = 1; $hash->{LOCAL} = 1;
LUXTRONIK2_GetUpdate($hash); LUXTRONIK2_GetUpdate($hash);
$hash->{LOCAL} = 0; $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 #Check Firmware and Set-Parameter-lock
if ($cmd eq 'synchronizeClockHeatPump' || if ( $cmd =~ /^(synchronizeClockHeatPump|hotWaterTemperatureTarget|opModeHotWater)$/i )
$cmd eq 'hotWaterTemperatureTarget' ||
$cmd eq 'opModeHotWater')
{ {
my $firmware = ReadingsVal($name,"firmware",""); my $firmware = ReadingsVal($name,"firmware","");
my $firmwareCheck = LUXTRONIK2_checkFirmware($firmware); my $firmwareCheck = LUXTRONIK2_checkFirmware($firmware);
@ -294,10 +295,12 @@ LUXTRONIK2_Set($$@)
$hash->{LOCAL} = 0; $hash->{LOCAL} = 0;
LUXTRONIK2_Log $name, 3, $resultStr; LUXTRONIK2_Log $name, 3, $resultStr;
return $resultStr; return $resultStr;
} elsif(int(@_)==4 && } elsif(int(@_)==4 &&
($cmd eq 'hotWaterTemperatureTarget' ($cmd eq 'hotWaterTemperatureTarget'
|| $cmd eq 'opModeHotWater' || $cmd eq 'opModeHotWater'
|| $cmd eq 'returnTemperatureSetBack')) { || $cmd eq 'returnTemperatureSetBack')) {
Log3 $name, 3, "LUXTRONIK2: set $name $cmd $val";
$hash->{LOCAL} = 1; $hash->{LOCAL} = 1;
$resultStr = LUXTRONIK2_SetParameter ($hash, $cmd, $val); $resultStr = LUXTRONIK2_SetParameter ($hash, $cmd, $val);
$hash->{LOCAL} = 0; $hash->{LOCAL} = 0;
@ -1087,7 +1090,9 @@ LUXTRONIK2_SetParameter($$$)
if(AttrVal($name, "allowSetParameter", 0) != 1) { if(AttrVal($name, "allowSetParameter", 0) != 1) {
return $name." Error: Setting of parameters not allowed. Please set attribut 'allowSetParameter' to 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 #parameter number
$setParameter = 2; $setParameter = 2;
#limit temperature range #limit temperature range
@ -1097,14 +1102,18 @@ LUXTRONIK2_SetParameter($$$)
$setValue = int($realValue * 2) * 5; $setValue = int($realValue * 2) * 5;
$realValue = $setValue / 10; $realValue = $setValue / 10;
} }
elsif ($parameterName eq "opModeHotWater") {
elsif ($parameterName eq "opModeHotWater")
{
if (! exists($opMode{$realValue})) { if (! exists($opMode{$realValue})) {
return "$name Error: Wrong parameter given for opModeHotWater, use Automatik,Party,Off" return "$name Error: Wrong parameter given for opModeHotWater, use Automatik,Party,Off"
} }
$setParameter = 4; $setParameter = 4;
$setValue = $opMode{$realValue}; $setValue = $opMode{$realValue};
} }
elsif ($parameterName eq "returnTemperatureSetBack") {
elsif ($parameterName eq "returnTemperatureSetBack")
{
#parameter number #parameter number
$setParameter = 1; $setParameter = 1;
#limit temperature range #limit temperature range
@ -1114,7 +1123,8 @@ LUXTRONIK2_SetParameter($$$)
$setValue = int($realValue * 2) * 5; $setValue = int($realValue * 2) * 5;
$realValue = $setValue / 10; $realValue = $setValue / 10;
} }
else { else
{
return "$name LUXTRONIK2_SetParameter-Error: unknown parameter $parameterName"; return "$name LUXTRONIK2_SetParameter-Error: unknown parameter $parameterName";
} }
@ -1162,7 +1172,7 @@ LUXTRONIK2_SetParameter($$$)
readingsSingleUpdate($hash,$parameterName,$realValue,1); readingsSingleUpdate($hash,$parameterName,$realValue,1);
return "$name: Parameter $parameterName set to $realValue"; return undef;
} }
} }

View File

@ -245,20 +245,21 @@ JSONMETER_Set($$@)
my ($hash, $name, $cmd, $val) = @_; my ($hash, $name, $cmd, $val) = @_;
my $resultStr = ""; my $resultStr = "";
if($cmd eq 'statusRequest') { if(lc $cmd eq 'update') {
$hash->{LOCAL} = 1; $hash->{LOCAL} = 1;
JSONMETER_GetUpdate($hash); JSONMETER_GetUpdate($hash);
$hash->{LOCAL} = 0; $hash->{LOCAL} = 0;
return undef; return undef;
} }
elsif($cmd eq 'restartJsonAnalysis') { elsif(lc $cmd eq 'restartjsonanalysis') {
$hash->{fhem}{jsonInterpreter} = ""; $hash->{fhem}{jsonInterpreter} = "";
$hash->{LOCAL} = 1; $hash->{LOCAL} = 1;
JSONMETER_GetUpdate($hash); JSONMETER_GetUpdate($hash);
$hash->{LOCAL} = 0; $hash->{LOCAL} = 0;
Log3 $name, 3, "JSONMETER: set $name $cmd";
return undef; return undef;
} }
elsif ($cmd eq 'resetStatistics') { elsif (lc $cmd eq 'resetstatistics') {
if ($val =~ /all|statElectricityConsumed\.\.\.|statElectricityConsumedTariff\.\.\.|statElectricityPower\.\.\./) { if ($val =~ /all|statElectricityConsumed\.\.\.|statElectricityConsumedTariff\.\.\.|statElectricityPower\.\.\./) {
my $regExp; my $regExp;
if ($val eq "all") { $regExp = "stat"; } if ($val eq "all") { $regExp = "stat"; }
@ -273,20 +274,22 @@ JSONMETER_Set($$@)
WriteStatefile(); WriteStatefile();
return $resultStr; return $resultStr;
} }
elsif($cmd eq 'INTERVAL' && int(@_)==4 ) { elsif(lc $cmd eq 'interval' && int(@_)==4 ) {
$val = 10 if( $val < 10 ); $val = 10 if( $val < 10 );
$hash->{INTERVAL}=$val; $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 ); $val = 0 if( $val < 1 || $val > 9 );
readingsSingleUpdate($hash,"activeTariff",$val, 1); readingsSingleUpdate($hash,"activeTariff",$val, 1);
$hash->{LOCAL} = 1; $hash->{LOCAL} = 1;
JSONMETER_GetUpdate($hash); JSONMETER_GetUpdate($hash);
$hash->{LOCAL} = 0; $hash->{LOCAL} = 0;
return "$name: activeTariff set to $val."; 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" ." activeTariff:0,1,2,3,4,5,6,7,8,9"
." resetStatistics:all,statElectricityConsumed...,statElectricityConsumedTariff...,statElectricityPower..." ." resetStatistics:all,statElectricityConsumed...,statElectricityConsumedTariff...,statElectricityPower..."
." restartJsonAnalysis:noArg" ." restartJsonAnalysis:noArg"

View File

@ -925,8 +925,10 @@ sub statistics_doStatisticDurationSingle ($$$$$$)
# Store current reading as last reading, Reset current reading # Store current reading as last reading, Reset current reading
if ($saveLast) { if ($saveLast) {
readingsBulkUpdate($dev, $statReadingName . "Last", $result, 1); readingsBulkUpdate($dev, $statReadingName . "Last", $result, 1);
statistics_Log $hash, 5, "Set '".$statReadingName . "Last = $result'"; statistics_Log $hash, 4, "Set '".$statReadingName . "Last = $result'";
$result = "$state: 00:00:00 ".$state."_Count: 1"; $result = $state.": 00:00:00 ".$state."_Count: 1";
$hidden{$state.":"} = 0;
$hidden{$state."_Count:"} = 1;
$hidden{"showDate:"} = 0; $hidden{"showDate:"} = 0;
} }