From ab966452d1cd905e1b6db43f2a7de7ff7e1016e2 Mon Sep 17 00:00:00 2001 From: Beta-User <> Date: Fri, 6 Nov 2020 06:38:20 +0000 Subject: [PATCH] 99_attrT_ZWave_Utils.pm: add desiredTemp-Code git-svn-id: https://svn.fhem.de/fhem/trunk@23106 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- .../AttrTemplate/99_attrT_ZWave_Utils.pm | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/fhem/contrib/AttrTemplate/99_attrT_ZWave_Utils.pm b/fhem/contrib/AttrTemplate/99_attrT_ZWave_Utils.pm index 5f0c5888b..213e759fb 100644 --- a/fhem/contrib/AttrTemplate/99_attrT_ZWave_Utils.pm +++ b/fhem/contrib/AttrTemplate/99_attrT_ZWave_Utils.pm @@ -18,9 +18,15 @@ BEGIN { GP_Import( qw( InternalVal + readingsSingleUpdate + readingsBulkUpdate + ReadingsVal ReadingsNum + ReadingsAge devspec2array - FW_makeImage + FW_makeImage + defs + Log3 ) ); } @@ -96,7 +102,38 @@ sub devStateIcon_shutter { } +sub desiredTemp { + my $name = shift // return; + my $call = shift // 'OK'; + + my $hash = $defs{$name} // return; + my $now = time; + my $state = ReadingsVal($name,'state','unknown'); + my $stateNum = ReadingsNum($name,'state',20); + Log3($hash, 3, "ZWave-utils desiredTemp called, state is $state"); + #return if ReadingsAge($name,'state',10000000) > 3; + + if ($state =~ m,desired-temp|thermostatSetpointSet,) { + readingsBulkUpdate($hash, 'desired-temp',$stateNum,1); + return; + } + if ($state =~ m,tmAuto|tmManual|tmHeating,) { + readingsBulkUpdate($hash, 'desired-temp',ReadingsVal($name,'heating','unknown'),1); + return; + } + if ($state =~ m,tmEnergySaveHeating,) { + readingsBulkUpdate($hash, 'desired-temp',ReadingsVal($name,'energySaveHeating','unknown'),1); + return; + } + + if ($state =~ m,off,) { + readingsBulkUpdate($hash, 'desired-temp',6,'unknown',1); + return; + } + Log3($hash, 3, "ZWave-utils desiredTemp called but no match for $state"); + return; +} 1;