2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-22 02:10:32 +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;
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,7 +1123,8 @@ LUXTRONIK2_SetParameter($$$)
$setValue = int($realValue * 2) * 5;
$realValue = $setValue / 10;
}
else {
else
{
return "$name LUXTRONIK2_SetParameter-Error: unknown parameter $parameterName";
}
@ -1162,7 +1172,7 @@ LUXTRONIK2_SetParameter($$$)
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 $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.";
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"

View File

@ -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;
}