From 62a9c0398b35d9302badb071424b047d14ddc3bc Mon Sep 17 00:00:00 2001 From: zap <> Date: Sat, 9 Mar 2024 17:04:22 +0000 Subject: [PATCH] HMCCU: fixed syntax errors in HMCCUConf.pm git-svn-id: https://svn.fhem.de/fhem/trunk@28629 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/88_HMCCU.pm | 21 ++++++++++++++++----- fhem/FHEM/88_HMCCUCHN.pm | 2 +- fhem/FHEM/HMCCUConf.pm | 12 +++++++----- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 376a2a5a6..11a21cf9c 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - bugfix: 88_HMCCU: Fixed syntax errors in HMCCUConf.pm - change: 93_DbLog: META.json data corrected - change: 93_DbRep: Ready for support of MariaDB Perl driver - change: 98_Installer: change Maintainer, change app version check diff --git a/fhem/FHEM/88_HMCCU.pm b/fhem/FHEM/88_HMCCU.pm index 1c7bda00a..5bc776649 100755 --- a/fhem/FHEM/88_HMCCU.pm +++ b/fhem/FHEM/88_HMCCU.pm @@ -4361,11 +4361,22 @@ sub HMCCU_GetEnumValues ($$$$;$$) } else { # As fallback use values as specified in command definition - my $i = 0; - foreach my $cv (split(',', $argList)) { - $valList{$cv} = $i; - $valIndex{$i} = $cv; - $i++; + if (defined($paramDef) && defined($paramDef->{MIN}) && HMCCU_IsIntNum($paramDef->{MIN})) { + my $i = $paramDef->{MIN}; + foreach my $cv (split(',', $argList)) { + $valList{$cv} = $i; + $valIndex{$i} = $cv; + $i++; + } + } + else { + my $i = 0; + foreach my $cv (split(',', $argList)) { + my $j = HMCCU_IsIntNum($cv) ? $cv : $i; + $valList{$cv} = $j; + $valIndex{$j} = $cv; + $i++; + } } } } diff --git a/fhem/FHEM/88_HMCCUCHN.pm b/fhem/FHEM/88_HMCCUCHN.pm index c21d4bd62..7d60e66f0 100644 --- a/fhem/FHEM/88_HMCCUCHN.pm +++ b/fhem/FHEM/88_HMCCUCHN.pm @@ -737,7 +737,7 @@ sub HMCCUCHN_Get ($@) update system variables bound to the device. These variables can be read by using command 'get extValues'. If filter-expr is specified, only parameters matching the expression are stored as readings.
-
  • get <name> weekProgram [<program-number>|all]
    +
  • get <name> week-program [<program-number>|all]
    Display week programs. This command is only available if a device supports week programs.
  • diff --git a/fhem/FHEM/HMCCUConf.pm b/fhem/FHEM/HMCCUConf.pm index 6c1d6b6e8..8f48ce486 100644 --- a/fhem/FHEM/HMCCUConf.pm +++ b/fhem/FHEM/HMCCUConf.pm @@ -263,7 +263,7 @@ $HMCCU_CONFIG_VERSION = '5.0'; 'CLIMATECONTROL_RT_TRANSCEIVER' => '^(C#\.)?ACTUAL_TEMPERATURE$:+measured-temp;'. '^(C#\.)?ACTUAL_HUMIDITY$:+humidity;'. - '^(C#\.)?SET_TEMPERATURE$:+desired-temp', + '^(C#\.)?SET_TEMPERATURE$:+desired-temp;'. '^(C#\.)?BOOST_MODE$:+boost', 'CLIMATE_TRANSCEIVER' => '^(C#\.)?ACTUAL_TEMPERATURE$:+measured-temp;'. @@ -284,8 +284,9 @@ $HMCCU_CONFIG_VERSION = '5.0'; '^(C#\.)?ACTUAL_TEMPERATURE$:+measured-temp;'. '^(C#\.)?HUMIDITY$:+humidity;'. '^(C#\.)?ACTUAL_HUMIDITY$:+humidity;'. - '^(C#\.)?SET_POINT_TEMPERATURE$:+desired-temp', - '^(C#\.)?BOOST_MODE$:+boost', + '^(C#\.)?SET_POINT_TEMPERATURE$:+desired-temp;'. + '^(C#\.)?BOOST_MODE$:+boost;'. + '^(C#\.)?ACTIVE_PROFILE$:+week-program', 'JALOUSIE' => '^(C#\.)?LEVEL$:+pct,+level;(C#\.)?LEVEL_SLATS$:+pctSlats', 'KEY' => @@ -309,7 +310,7 @@ $HMCCU_CONFIG_VERSION = '5.0'; 'THERMALCONTROL_TRANSMIT' => '^(C#\.)?ACTUAL_TEMPERATURE$:+measured-temp;'. '^(C#\.)?ACTUAL_HUMIDITY$:+humidity;'. - '^(C#\.)?SET_TEMPERATURE$:+desired-temp', + '^(C#\.)?SET_TEMPERATURE$:+desired-temp;'. '^(C#\.)?BOOST_MODE$:+boost', 'VIRTUAL_KEY' => '^(C#\.)?PRESS_(SHORT|LONG)$:+pressed', @@ -482,7 +483,8 @@ $HMCCU_CONFIG_VERSION = '5.0'; 'rpcset party' => 'V:SET_POINT_MODE:2 V:SET_POINT_TEMPERATURE:?temperature V:PARTY_TIME_START:?timeStart V:PARTY_TIME_END:?timeEnd', 'boost' => 'V:BOOST_MODE:#boost=0,1', 'on' => 'V:CONTROL_MODE:1 V:SET_POINT_TEMPERATURE:30.5', - 'off' => 'V:CONTROL_MODE:1 V:SET_POINT_TEMPERATURE:4.5' + 'off' => 'V:CONTROL_MODE:1 V:SET_POINT_TEMPERATURE:4.5', + 'week-program' => 'V:ACTIVE_PROFILE:#profile=1,2,3' }, 'JALOUSIE' => { 'pct' => 'V:LEVEL:?level',