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.
-