mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-25 09:55:38 +00:00
HMCCU: Bugfixes
git-svn-id: https://svn.fhem.de/fhem/trunk@28635 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
9bdb3b045a
commit
59eda185e8
@ -4351,8 +4351,8 @@ sub HMCCU_GetEnumValues ($$$$;$$)
|
||||
# If a list of conversions exists, use values/conversions from HMCCU_CONVERSIONS
|
||||
foreach my $cv (split(',', $argList)) {
|
||||
if (exists($HMCCU_CONVERSIONS->{$role}{$dpt}{$cv})) {
|
||||
$valList{$HMCCU_CONVERSIONS->{$role}{$dpt}{$cv}} = $cv;
|
||||
$valIndex{$cv} = $HMCCU_CONVERSIONS->{$role}{$dpt}{$cv};
|
||||
$valList{$cv} = $HMCCU_CONVERSIONS->{$role}{$dpt}{$cv};
|
||||
$valIndex{$HMCCU_CONVERSIONS->{$role}{$dpt}{$cv}} = $cv;
|
||||
}
|
||||
else {
|
||||
$valList{$cv} = $cv;
|
||||
@ -6628,6 +6628,9 @@ sub HMCCU_UpdateRoleCommands ($$)
|
||||
my $chnNo //= '';
|
||||
my ($cc, $cd) = HMCCU_ControlDatapoint ($clHash);
|
||||
|
||||
my $devName = $clHash->{NAME};
|
||||
my $devType = $clHash->{TYPE};
|
||||
|
||||
# Delete existing role commands
|
||||
delete $clHash->{hmccu}{roleCmds} if (exists($clHash->{hmccu}{roleCmds}));
|
||||
|
||||
@ -6665,7 +6668,7 @@ sub HMCCU_UpdateRoleCommands ($$)
|
||||
$combDpt = $1;
|
||||
$cmdSyntax =~ s/^(COMBINED_PARAMETER|SUBMIT) //;
|
||||
if (!HMCCU_IsValidParameter ($clHash, "$addr:$cmdChn", 'VALUES', $combDpt, $parAccess)) {
|
||||
HMCCU_Log ($clHash, 4, "HMCCUConf: Invalid parameter $addr:$cmdChn VALUES $combDpt $parAccess in role $role, command $cmd");
|
||||
HMCCU_Log ($clHash, 4, "HMCCUConf: Invalid parameter $addr:$cmdChn VALUES $combDpt $parAccess. Ignoring command $cmd in role $role for $devType device $devName");
|
||||
next URCCMD;
|
||||
}
|
||||
}
|
||||
@ -6693,7 +6696,7 @@ sub HMCCU_UpdateRoleCommands ($$)
|
||||
my ($ps, $dptList, $par, $fnc) = @subCmdList;
|
||||
my $psName = $ps eq 'I' ? 'VALUES' : $pset{$ps};
|
||||
if (!defined($psName)) {
|
||||
HMCCU_Log ($clHash, 2, "HMCCUConf: Invalid or undefined parameter set in role $role, command $cmd $subCmd");
|
||||
HMCCU_Log ($clHash, 4, "HMCCUConf: Invalid or undefined parameter set. Ignoring command $cmd in role $role for $devType device $devName");
|
||||
next URCSUB;
|
||||
}
|
||||
$clHash->{hmccu}{roleCmds}{$cmdType}{$cmd}{ps} //= $psName;
|
||||
@ -6724,13 +6727,13 @@ sub HMCCU_UpdateRoleCommands ($$)
|
||||
}
|
||||
}
|
||||
if (!$dptValid) {
|
||||
HMCCU_Log ($clHash, 2, "HMCCUConf: Invalid parameter $addr:$cmdChn $psName $dpt $parAccess in role $role, command $cmd $subCmd");
|
||||
HMCCU_Log ($clHash, 4, "HMCCUConf: Invalid parameter $addr:$cmdChn $psName $dpt $parAccess. Ignoring command $cmd in role $role for $devType device $devName");
|
||||
next URCSUB;
|
||||
}
|
||||
|
||||
my $paramDef = HMCCU_GetParamDef ($ioHash, "$addr:$cmdChn", $psName, $dpt);
|
||||
if (!defined($paramDef)) {
|
||||
HMCCU_Log ($ioHash, 2, "HMCCUConf: Can't get definition of datapoint $addr:$cmdChn.$dpt. Ignoring command $cmd in role $role for device $clHash->{NAME}");
|
||||
HMCCU_Log ($ioHash, 4, "HMCCUConf: Can't get definition of datapoint $addr:$cmdChn.$dpt. Ignoring command $cmd in role $role for $devType device $devName");
|
||||
next URCCMD;
|
||||
}
|
||||
$clHash->{hmccu}{roleCmds}{$cmdType}{$cmd}{subcmd}{$scn}{scn} = sprintf("%03d", $subCmdNo);
|
||||
|
@ -254,8 +254,8 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'^(C#\.)?LEVEL$:+pct,+level',
|
||||
'BLIND_TRANSMITTER' =>
|
||||
'^(C#\.)?LEVEL$:+pct,+level;^(C#\.)?LEVEL_2$:+pctSlats',
|
||||
'BLIND_VIRTUAL_RECEIVER' =>
|
||||
'^(C#\.)?LEVEL$:+pct,+level',
|
||||
# 'BLIND_VIRTUAL_RECEIVER' =>
|
||||
# '^(C#\.)?LEVEL$:+pct,+level',
|
||||
'CAPACITIVE_FILLING_LEVEL_SENSOR' =>
|
||||
'^(C#\.)?FILLING_LEVEL$:+level',
|
||||
'CLIMATECONTROL_REGULATOR' =>
|
||||
@ -274,8 +274,8 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'^(C#\.)?LEVEL$:+pct,+level',
|
||||
'DIMMER_TRANSMITTER' =>
|
||||
'^(C#\.)?LEVEL$:+pct,+level;(C#\.)?COLOR$:+color',
|
||||
'DIMMER_VIRTUAL_RECEIVER' =>
|
||||
'^(C#\.)?LEVEL$:+pct,+level;(C#\.)?COLOR$:+color',
|
||||
# 'DIMMER_VIRTUAL_RECEIVER' =>
|
||||
# '^(C#\.)?LEVEL$:+pct,+level;(C#\.)?COLOR$:+color',
|
||||
'DIMMER_WEEK_PROFILE' =>
|
||||
'^(C#\.)?WEEK_PROGRAM_CHANNEL_LOCKS$:+progMode',
|
||||
'HB_GENERIC_DIST' =>
|
||||
@ -301,8 +301,8 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'^(C#\.)?ILLUMINATION$:+brightness;(C#\.)?PRESENCE_DETECTION_STATE:+presence;(C#\.)?PRESENCE_DETECTION_ACTIVE:+detection',
|
||||
'SHUTTER_TRANSMITTER' =>
|
||||
'^(C#\.)?LEVEL$:+pct,+level',
|
||||
'SHUTTER_VIRTUAL_RECEIVER' =>
|
||||
'^(C#\.)?LEVEL$:+pct,+level',
|
||||
# 'SHUTTER_VIRTUAL_RECEIVER' =>
|
||||
# '^(C#\.)?LEVEL$:+pct,+level',
|
||||
'SWITCH_PANIC' =>
|
||||
'^(C#\.)?STATE$:+panic',
|
||||
'SWITCH_SENSOR' =>
|
||||
@ -321,7 +321,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'^(C#\.)?TEMPERATURE$:+measured-temp;'.
|
||||
'^(C#\.)?HUMIDITY$:+humidity',
|
||||
'DEFAULT' =>
|
||||
'^([0-9]{1,2}\.)?LEVEL$:+pct,+level;'.
|
||||
# '^([0-9]{1,2}\.)?LEVEL$:+pct,+level;'.
|
||||
'^([0-9]{1,2}\.)?SET_TEMPERATURE$:+desired-temp;'.
|
||||
'^([0-9]{1,2}\.)?(ACTUAL_TEMPERATURE|TEMPERATURE)$:+measured-temp;'.
|
||||
'^([0-9]{1,2}\.)?SET_POINT_TEMPERATURE$:+desired-temp;'.
|
||||
@ -429,7 +429,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'on' => 'V:MANU_MODE:30.5',
|
||||
'off' => 'V:MANU_MODE:4.5',
|
||||
'auto' => 'V:AUTO_MODE:1',
|
||||
'boost' => 'V:BOOST_MODE:#boost=0,1',
|
||||
'boost' => 'V:BOOST_MODE:#boost=on,off',
|
||||
'week-program:VirtualDevices' => 'D:WEEK_PROGRAM_POINTER:#program',
|
||||
'get week-program:VirtualDevices' => 'D:WEEK_PROGRAM_POINTER:#program:HMCCU_DisplayWeekProgram'
|
||||
},
|
||||
@ -481,7 +481,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'manu' => 'V:CONTROL_MODE:1 V:SET_POINT_TEMPERATURE:?temperature=20',
|
||||
'rpcset holiday' => 'V:SET_POINT_MODE:2 V:SET_POINT_TEMPERATURE:?temperature V:PARTY_TIME_START:?timeStart V:PARTY_TIME_END:?timeEnd',
|
||||
'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',
|
||||
'boost' => 'V:BOOST_MODE:#boost=on,off',
|
||||
'on' => 'V:CONTROL_MODE:1 V:SET_POINT_TEMPERATURE:30.5',
|
||||
'off' => 'V:CONTROL_MODE:1 V:SET_POINT_TEMPERATURE:4.5',
|
||||
'week-program' => 'V:ACTIVE_PROFILE:#profile=1,2,3'
|
||||
@ -572,7 +572,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
},
|
||||
'on' => 'V:STATE:1',
|
||||
'off' => 'V:STATE:0',
|
||||
'on-for-timer' => 'COMBINED_PARAMETER V:OT:?duration V:S:1',
|
||||
'on-for-timer' => 'COMBINED_PARAMETER V:OT:?duration V:S:true',
|
||||
'on-till' => 'V:ON_TIME:?time V:STATE:1',
|
||||
'toggle' => 'V:STATE:0,1'
|
||||
},
|
||||
@ -582,7 +582,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'on' => 'V:MANU_MODE:30.5',
|
||||
'off' => 'V:MANU_MODE:4.5',
|
||||
'auto' => 'V:AUTO_MODE:1',
|
||||
'boost' => 'V:BOOST_MODE:#boost=0,1',
|
||||
'boost' => 'V:BOOST_MODE:#boost=on,off',
|
||||
'week-program' => 'D:WEEK_PROGRAM_POINTER:#program',
|
||||
'get week-program' => 'D:WEEK_PROGRAM_POINTER:#program:HMCCU_DisplayWeekProgram'
|
||||
},
|
||||
@ -872,17 +872,17 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
||||
'THERMALCONTROL_TRANSMIT' => {
|
||||
'SET_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' },
|
||||
'WINDOW_OPEN_REPORTING' => { '0' => 'closed', '1' => 'open', 'false' => 'closed', 'true' => 'open' },
|
||||
'BOOST_MODE' => { '0' => 'boostOff', '1' => 'boostOn', 'false' => 'boostOff', 'true' => 'boostOn' }
|
||||
'BOOST_MODE' => { '0' => 'off', '1' => 'on', 'false' => 'off', 'true' => 'on', 'off' => 0, 'on' => 1 }
|
||||
},
|
||||
'CLIMATECONTROL_RT_TRANSCEIVER' => {
|
||||
'SET_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' },
|
||||
'BOOST_MODE' => { '0' => 'boostOff', '1' => 'boostOn', 'false' => 'boostOff', 'true' => 'boostOn' }
|
||||
'BOOST_MODE' => { '0' => 'off', '1' => 'on', 'false' => 'off', 'true' => 'on', 'off' => 0, 'on' => 1 }
|
||||
},
|
||||
'HEATING_CLIMATECONTROL_TRANSCEIVER' => {
|
||||
'SET_POINT_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' },
|
||||
'SET_POINT_MODE' => { '0' => 'auto', '1' => 'manual', '2' => 'party/holiday', '3' => 'off' },
|
||||
'WINDOW_STATE' => { '0' => 'closed', '1' => 'open', 'false' => 'closed', 'true' => 'open' },
|
||||
'BOOST_MODE' => { '0' => 'boostOff', '1' => 'boostOn', 'false' => 'boostOff', 'true' => 'boostOn' }
|
||||
'BOOST_MODE' => { '0' => 'off', '1' => 'on', 'false' => 'off', 'true' => 'on', 'off' => 0, 'on' => 1 }
|
||||
},
|
||||
'CLIMATECONTROL_REGULATOR' => {
|
||||
'SETPOINT' => { '4.5' => 'off', '30.5' => 'on' }
|
||||
|
Loading…
x
Reference in New Issue
Block a user