diff --git a/fhem/FHEM/88_HMCCU.pm b/fhem/FHEM/88_HMCCU.pm
index d8b648ae8..ad3d5701b 100755
--- a/fhem/FHEM/88_HMCCU.pm
+++ b/fhem/FHEM/88_HMCCU.pm
@@ -57,7 +57,7 @@ my %HMCCU_CUST_CHN_DEFAULTS;
my %HMCCU_CUST_DEV_DEFAULTS;
# HMCCU version
-my $HMCCU_VERSION = '5.0 220021858';
+my $HMCCU_VERSION = '5.0 220061807';
# Timeout for CCU requests (seconds)
my $HMCCU_TIMEOUT_REQUEST = 4;
@@ -2413,7 +2413,7 @@ sub HMCCU_GetReadingName ($$$$$;$$$)
push @rnlist, $newReadings{$d};
}
- # Build list of reading name rules
+ # Build list of reading name rul
my @srl = ();
my $crn = AttrVal ($name, 'ccureadingname', '');
push @srl, split(';', $crn) if ($crn ne '');
@@ -4476,7 +4476,7 @@ sub HMCCU_GetEnumValues ($$$;$)
$i--;
my $j = $i;
my @valList = split(',',$paramDef->{VALUE_LIST});
- my %valIndex = map { $i++; $_ => $i if ($_ ne '') } @valList; # Consider blanks in value list
+ my %valIndex = map { $i++; $_ ne '' ? ($_ => $i) : () } @valList; # Consider blanks in value list
if (defined($value)) {
if ($value eq '#') {
# Return list of Constant:Value pairs
@@ -8970,6 +8970,7 @@ sub HMCCU_HMCommandNB ($$$)
my $ccureqtimeout = AttrVal ($ioHash->{NAME}, 'ccuReqTimeout', $HMCCU_TIMEOUT_REQUEST);
my $url = HMCCU_BuildURL ($ioHash, 'rega');
+ HMCCU_Trace ($ioHash, 2, "Executing command $cmd non blocking");
HMCCU_Trace ($clHash, 2, "URL=$url");
my $param = { url => $url, timeout => $ccureqtimeout, data => $cmd, method => "POST",
@@ -9062,6 +9063,7 @@ sub HMCCU_HMScriptExt ($$;$$$)
my $url = HMCCU_BuildURL ($hash, 'rega');
if (defined($cbFunc)) {
# Non blocking
+ HMCCU_Trace ($hash, 2, "Executing $hmscript non blocking");
my $param = { url => $url, timeout => $ccureqtimeout, data => $code, method => "POST",
callback => \&HMCCU_HMScriptCB, cbFunc => $cbFunc, devhash => $hash, ioHash => $ioHash };
if (defined($cbParam)) {
diff --git a/fhem/FHEM/88_HMCCUCHN.pm b/fhem/FHEM/88_HMCCUCHN.pm
index 11d71ef4a..047e528d1 100644
--- a/fhem/FHEM/88_HMCCUCHN.pm
+++ b/fhem/FHEM/88_HMCCUCHN.pm
@@ -30,7 +30,7 @@ sub HMCCUCHN_Set ($@);
sub HMCCUCHN_Get ($@);
sub HMCCUCHN_Attr ($@);
-my $HMCCUCHN_VERSION = '5.0 220021858';
+my $HMCCUCHN_VERSION = '5.0 220061807';
######################################################################
# Initialize module
@@ -532,7 +532,7 @@ sub HMCCUCHN_Get ($@)
and all internally stored device parameter values are deleted.
set <name> close
- [blind] Set level of a shutter or blind to 0%.
+ [blind,door] Set level of a shutter or blind to 0%.
set <name> color <color-name>
[light] Set color of LED light.
@@ -609,7 +609,7 @@ sub HMCCUCHN_Get ($@)
ON_TIME.
set <name> open
- [blind] Set level of a shutter or blind to 100%.
+ [blind,door] Set level of a shutter or blind to 100%.
set <name> pct <value> [<ontime> [<ramptime>]]
[dimmer,blind] Set datapoint LEVEL of a channel to the specified value. Optionally a ontime
@@ -624,12 +624,18 @@ sub HMCCUCHN_Get ($@)
set <name> pctSlats <value>
[blind] Like command 'set pct', but changes the level of slats (if available).
- set <name> readingFilter <datapoint-list>
- Set attribute ccureadingfilter by selecting a list of datapoints. Parameter datapoint-list
- is a comma seperated list of datapoints.
-
+ set <name> press
+ [key] Submit a short key press.
+
+ set <name> pressLong
+ [key] Submit a long key press.
+
+ set <name> readingFilter <datapoint-list>
+ Set attribute ccureadingfilter by selecting a list of datapoints. Parameter datapoint-list
+ is a comma seperated list of datapoints.
+
set <name> stop
- [blind] Set datapoint STOP of a channel to true. This command is only available, if the
+ [blind,door] Set datapoint STOP of a channel to true. This command is only available, if the
channel contains a datapoint STOP.
set <name> toggle
@@ -651,7 +657,10 @@ sub HMCCUCHN_Get ($@)
must be a valid datapoint name. If type is not specified, it's taken from
parameter set definition. The default type is STRING.
Valid types are STRING, BOOL, INTEGER, FLOAT, DOUBLE.
-
+
+ set <name> ventilate
+ [garage door] Set door position to ventilation.
+
diff --git a/fhem/FHEM/88_HMCCUDEV.pm b/fhem/FHEM/88_HMCCUDEV.pm
index cefbf4f35..312f26e77 100644
--- a/fhem/FHEM/88_HMCCUDEV.pm
+++ b/fhem/FHEM/88_HMCCUDEV.pm
@@ -31,7 +31,7 @@ sub HMCCUDEV_Set ($@);
sub HMCCUDEV_Get ($@);
sub HMCCUDEV_Attr ($@);
-my $HMCCUDEV_VERSION = '5.0 220021858';
+my $HMCCUDEV_VERSION = '5.0 220061807';
######################################################################
# Initialize module
diff --git a/fhem/FHEM/88_HMCCURPCPROC.pm b/fhem/FHEM/88_HMCCURPCPROC.pm
index b6df966a7..7bed71dc7 100755
--- a/fhem/FHEM/88_HMCCURPCPROC.pm
+++ b/fhem/FHEM/88_HMCCURPCPROC.pm
@@ -39,7 +39,7 @@ require "$attr{global}{modpath}/FHEM/88_HMCCU.pm";
######################################################################
# HMCCURPC version
-my $HMCCURPCPROC_VERSION = '5.0 220021858';
+my $HMCCURPCPROC_VERSION = '5.0 220061807';
# Maximum number of events processed per call of Read()
my $HMCCURPCPROC_MAX_EVENTS = 100;
diff --git a/fhem/FHEM/HMCCUConf.pm b/fhem/FHEM/HMCCUConf.pm
index c35e50ab8..07860fd85 100644
--- a/fhem/FHEM/HMCCUConf.pm
+++ b/fhem/FHEM/HMCCUConf.pm
@@ -112,9 +112,15 @@ $HMCCU_CONFIG_VERSION = '5.0';
'DOOR_LOCK_STATE_TRANSMITTER' => {
F => 3, S => 'LOCK_STATE', C => 'LOCK_TARGET_LEVEL', V => 'open:2,unlocked:1,locked:0'
},
+ 'DOOR_RECEIVER' => {
+ F => 3, S => 'DOOR_STATE', C => 'DOOR_COMMAND', V => 'open:1,stop:2,close:3,ventilate:4'
+ },
'ENERGIE_METER_TRANSMITTER' => {
F => 3, S => 'CURRENT', C => '', V => '', P => 1
},
+ 'HB_GENERIC_DIST' => {
+ F => 3, S => 'DISTANCE', C => '', V => '', P => 1
+ },
'HEATING_CLIMATECONTROL_TRANSCEIVER' => {
F => 3, S => 'ACTUAL_TEMPERATURE', C => 'SET_POINT_TEMPERATURE', V => 'on:30.5,off:4.5', P => 2
},
@@ -258,6 +264,8 @@ $HMCCU_CONFIG_VERSION = '5.0';
'^(C#\.)?LEVEL$:+pct,+level;(C#\.)?COLOR$:+color',
'DIMMER_WEEK_PROFILE' =>
'^(C#\.)?WEEK_PROGRAM_CHANNEL_LOCKS$:+progMode',
+ 'HB_GENERIC_DIST' =>
+ '^(C#\.)?BATTERY_VOLTAGE$:voltage',
'HEATING_CLIMATECONTROL_TRANSCEIVER' =>
'^(C#\.)?ACTUAL_TEMPERATURE$:+measured-temp;'.
'^(C#\.)?HUMIDITY$:+humidity;'.
@@ -417,6 +425,12 @@ $HMCCU_CONFIG_VERSION = '5.0';
'unlock' => 'V:LOCK_TARGET_LEVEL:1',
'lock' => 'V:LOCK_TARGET_LEVEL:0'
},
+ 'DOOR_RECEIVER' => {
+ 'open' => 'V:DOOR_COMMAND:1',
+ 'stop' => 'V:DOOR_COMMAND:2',
+ 'close' => 'V:DOOR_COMMAND:3',
+ 'ventilate' => 'V:DOOR_COMMAND:4'
+ },
'HEATING_CLIMATECONTROL_TRANSCEIVER' => {
'desired-temp' => 'V:SET_POINT_TEMPERATURE:?temperature',
'auto' => 'V:CONTROL_MODE:0',
@@ -440,7 +454,8 @@ $HMCCU_CONFIG_VERSION = '5.0';
'KEY' => {
'on' => 'V:PRESS_SHORT:1',
'off' => 'V:PRESS_SHORT:1',
- 'press' => 'V:PRESS_SHORT:1'
+ 'press' => 'V:PRESS_SHORT:1',
+ 'pressLong' => 'V:PRESS_LONG:1'
},
'KEYMATIC' => {
'open' => 'V:OPEN:true',
@@ -562,6 +577,10 @@ $HMCCU_CONFIG_VERSION = '5.0';
'cmdIcon' => 'open:fts_door_open unlock:secur_open lock:secur_locked',
'webCmd' => 'lock:unlock:open'
},
+ 'DOOR_RECEIVER' => {
+ 'cmdIcon' => 'open:fts_garage_door_up stop:fts_garage_door_manual close:fts_garage_door_down ventilate:fts_garage_door_80',
+ 'webCmd' => 'open:close:stop:ventilate'
+ },
'JALOUSIE' => {
'substexcl' => 'pct',
'cmdIcon' => 'open:fts_shutter_up stop:fts_shutter_manual close:fts_shutter_down',