mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 06:39:11 +00:00
HMCCU: Bug fixes and improvements
git-svn-id: https://svn.fhem.de/fhem/trunk@26421 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
cb75c93532
commit
a44b3fce83
@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# 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.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- change: 88_HMCCU: Bug fixes and improvements
|
||||||
- change: 93_DbRep: enable setter 'index' for device model 'Agent'
|
- change: 93_DbRep: enable setter 'index' for device model 'Agent'
|
||||||
- bugfix: 70_Klafs: Transferred to namespace of FHEM.
|
- bugfix: 70_Klafs: Transferred to namespace of FHEM.
|
||||||
One bug fixed. If necessary, set password again.
|
One bug fixed. If necessary, set password again.
|
||||||
|
@ -57,7 +57,7 @@ my %HMCCU_CUST_CHN_DEFAULTS;
|
|||||||
my %HMCCU_CUST_DEV_DEFAULTS;
|
my %HMCCU_CUST_DEV_DEFAULTS;
|
||||||
|
|
||||||
# HMCCU version
|
# HMCCU version
|
||||||
my $HMCCU_VERSION = '5.0 220431743';
|
my $HMCCU_VERSION = '5.0 222611615';
|
||||||
|
|
||||||
# Timeout for CCU requests (seconds)
|
# Timeout for CCU requests (seconds)
|
||||||
my $HMCCU_TIMEOUT_REQUEST = 4;
|
my $HMCCU_TIMEOUT_REQUEST = 4;
|
||||||
@ -8362,133 +8362,6 @@ sub HMCCU_DetectSCAttr ($$$$$)
|
|||||||
return ($sc, $sd, $cc, $cd, $rsdCnt, $rcdCnt);
|
return ($sc, $sd, $cc, $cd, $rsdCnt, $rcdCnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub HMCCU_DetectSCChn ($;$$)
|
|
||||||
{
|
|
||||||
my ($clHash, $sd, $cd) = @_;
|
|
||||||
$sd //= '';
|
|
||||||
$cd //= '';
|
|
||||||
|
|
||||||
my $role = HMCCU_GetChannelRole ($clHash);
|
|
||||||
HMCCU_Trace ($clHash, 2, "role=$role");
|
|
||||||
|
|
||||||
if ($role ne '' && exists($HMCCU_STATECONTROL->{$role}) && $HMCCU_STATECONTROL->{$role}{F} & 1) {
|
|
||||||
my $nsd = HMCCU_DetectSCDatapoint ($HMCCU_STATECONTROL->{$role}{S}, $clHash->{ccuif});
|
|
||||||
my $ncd = HMCCU_DetectSCDatapoint ($HMCCU_STATECONTROL->{$role}{C}, $clHash->{ccuif});
|
|
||||||
HMCCU_Log ($clHash, 2, "statedatapoint of role and attribute do not match")
|
|
||||||
if ($nsd ne '' && $sd ne '' && $nsd ne $sd);
|
|
||||||
HMCCU_Log ($clHash, 2, "controldatapoint of role and attribute do not match")
|
|
||||||
if ($ncd ne '' && $cd ne '' && $ncd ne $cd);
|
|
||||||
|
|
||||||
$sd = $nsd if ($nsd ne '' && $sd eq '');
|
|
||||||
$cd = $ncd if ($ncd ne '' && $cd eq '');
|
|
||||||
$clHash->{ccurolestate} = $role if ($nsd ne '');
|
|
||||||
$clHash->{ccurolectrl} = $role if ($ncd ne '');
|
|
||||||
}
|
|
||||||
|
|
||||||
return ($sd, $cd, $sd ne '' ? 1 : 0, $cd ne '' ? 1 : 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub HMCCU_DetectSCDev ($;$$$$)
|
|
||||||
{
|
|
||||||
my ($clHash, $sc, $sd, $cc, $cd) = @_;
|
|
||||||
$sc //= '';
|
|
||||||
$sd //= '';
|
|
||||||
$cc //= '';
|
|
||||||
$cd //= '';
|
|
||||||
|
|
||||||
# Count matching roles to prevent ambiguous definitions
|
|
||||||
my ($rsc, $rsd, $rcc, $rcd) = ('', '', '', '');
|
|
||||||
# Priorities
|
|
||||||
my ($ccp, $scp) = (0, 0);
|
|
||||||
# Number of matching roles
|
|
||||||
my $rsdCnt = $sc ne '' && $sd ne '' ? 1 : 0;
|
|
||||||
my $rcdCnt = $cc ne '' && $cd ne '' ? 1 : 0;
|
|
||||||
|
|
||||||
my $defRole = $HMCCU_DEF_ROLE->{$clHash->{ccusubtype}};
|
|
||||||
my $resRole;
|
|
||||||
|
|
||||||
foreach my $roleDef (split(',', $clHash->{hmccu}{role})) {
|
|
||||||
my ($rc, $role) = split(':', $roleDef);
|
|
||||||
|
|
||||||
next if (!defined($role) || (defined($defRole) && $role ne $defRole));
|
|
||||||
|
|
||||||
if (defined($role) && exists($HMCCU_STATECONTROL->{$role}) && $HMCCU_STATECONTROL->{$role}{F} & 2) {
|
|
||||||
my $nsd = HMCCU_DetectSCDatapoint ($HMCCU_STATECONTROL->{$role}{S}, $clHash->{ccuif});
|
|
||||||
if ($sd eq '' && $nsd ne '') {
|
|
||||||
# If state datapoint is defined for this role
|
|
||||||
if ($sc ne '' && $rc eq $sc) {
|
|
||||||
# If channel of current role matches state channel, use datapoint specified
|
|
||||||
# in $HMCCU_STATECONTROL as state datapoint
|
|
||||||
$rsc = $sc;
|
|
||||||
$rsd = $nsd;
|
|
||||||
$clHash->{ccurolestate} = $role;
|
|
||||||
$rsdCnt = 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
# If state channel is not defined or role channel doesn't match state channel,
|
|
||||||
# assign state channel and datapoint considering role priority
|
|
||||||
if ($HMCCU_STATECONTROL->{$role}{P} > $scp) {
|
|
||||||
# Priority of this role is higher than the previous priority
|
|
||||||
$scp = $HMCCU_STATECONTROL->{$role}{P};
|
|
||||||
$rsc = $rc;
|
|
||||||
$rsd = $nsd;
|
|
||||||
$rsdCnt = 1;
|
|
||||||
$clHash->{ccurolestate} = $role;
|
|
||||||
}
|
|
||||||
elsif ($HMCCU_STATECONTROL->{$role}{P} == $scp) {
|
|
||||||
# Priority of this role is equal to previous priority. We found more
|
|
||||||
# than 1 matching roles. We use the first matching role/channel, but count
|
|
||||||
# the number of matching roles.
|
|
||||||
if ($rsc eq '') {
|
|
||||||
$rsc = $rc;
|
|
||||||
$rsd = $nsd;
|
|
||||||
$clHash->{ccurolestate} = $role;
|
|
||||||
}
|
|
||||||
$rsdCnt++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($cd eq '' && $HMCCU_STATECONTROL->{$role}{C} ne '') {
|
|
||||||
my $ncd = HMCCU_DetectSCDatapoint ($HMCCU_STATECONTROL->{$role}{C}, $clHash->{ccuif});
|
|
||||||
if ($cc ne '' && $rc eq $cc) {
|
|
||||||
$rcc = $cc;
|
|
||||||
$rcd = $ncd;
|
|
||||||
$clHash->{ccurolectrl} = $role;
|
|
||||||
$rcdCnt = 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
# If control channel is not defined or role channel doesn't match control channel,
|
|
||||||
# assign control channel and datapoint considering role priority
|
|
||||||
if ($HMCCU_STATECONTROL->{$role}{P} > $scp) {
|
|
||||||
# Priority of this role is higher than the previous priority
|
|
||||||
$scp = $HMCCU_STATECONTROL->{$role}{P};
|
|
||||||
$rcc = $rc;
|
|
||||||
$rcd = $ncd;
|
|
||||||
$rcdCnt = 1;
|
|
||||||
$clHash->{ccurolectrl} = $role;
|
|
||||||
}
|
|
||||||
elsif ($HMCCU_STATECONTROL->{$role}{P} == $scp) {
|
|
||||||
# Priority of this role is equal to previous priority. We found more
|
|
||||||
# than 1 matching roles. We use the first matching role/channel, but count
|
|
||||||
# the number of matching roles.
|
|
||||||
if ($rcc eq '') {
|
|
||||||
$rcc = $rc;
|
|
||||||
$rcd = $ncd;
|
|
||||||
$clHash->{ccurolectrl} = $role;
|
|
||||||
}
|
|
||||||
$rcdCnt++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
($sc, $sd) = ($rsc, $rsd) if ($rsdCnt > 0 && $sd eq '');
|
|
||||||
($cc, $cd) = ($rcc, $rcd) if ($rcdCnt > 0 && $cd eq '');
|
|
||||||
|
|
||||||
return ($sc, $sd, $cc, $cd, $rsdCnt, $rcdCnt);
|
|
||||||
}
|
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# Detect roles, channel and datapoint to be used for controlling and
|
# Detect roles, channel and datapoint to be used for controlling and
|
||||||
# displaying the state of a device or channel identified by its
|
# displaying the state of a device or channel identified by its
|
||||||
@ -9442,7 +9315,8 @@ sub HMCCU_ScaleValue ($$$$$;$)
|
|||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $ioHash = HMCCU_GetHash ($hash);
|
my $ioHash = HMCCU_GetHash ($hash);
|
||||||
|
|
||||||
my $boundsChecking = HMCCU_IsFlag ($name, 'noBoundsChecking') ? 0 : 1;
|
# my $boundsChecking = HMCCU_IsFlag ($name, 'noBoundsChecking') ? 0 : 1;
|
||||||
|
my $boundsChecking = $dpt =~ /^LEVEL/ && ($value == -0.005 || $value == 1.005 || $value == 1.01) ? 0 : 1;
|
||||||
|
|
||||||
# Get parameter definition and min/max values
|
# Get parameter definition and min/max values
|
||||||
my $min;
|
my $min;
|
||||||
@ -9542,8 +9416,8 @@ sub HMCCU_ScaleValue ($$$$$;$)
|
|||||||
elsif (defined($unit) && ($unit eq 'minutes' || $unit eq 's')) {
|
elsif (defined($unit) && ($unit eq 'minutes' || $unit eq 's')) {
|
||||||
$value = HMCCU_ConvertTime ($value, $unit, $mode);
|
$value = HMCCU_ConvertTime ($value, $unit, $mode);
|
||||||
}
|
}
|
||||||
elsif (defined($unit) && $unit =~ /^([0-9]+)%$/) {
|
elsif (defined($unit) && $unit =~ /^([0-9]+)%$/ && $boundsChecking) {
|
||||||
# percentage values
|
# percentage values. Values < 0 won't be scaled
|
||||||
my $f = $1;
|
my $f = $1;
|
||||||
$min //= 0;
|
$min //= 0;
|
||||||
$max //= 1.0;
|
$max //= 1.0;
|
||||||
@ -9551,7 +9425,7 @@ sub HMCCU_ScaleValue ($$$$$;$)
|
|||||||
$value = HMCCU_MinMax ($value, $min, $max)*$f;
|
$value = HMCCU_MinMax ($value, $min, $max)*$f;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$value = $boundsChecking ? HMCCU_MinMax($value, $min*$f, $max*$f)/$f : $value/$f;
|
$value = HMCCU_MinMax($value, $min*$f, $max*$f)/$f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ sub HMCCUCHN_Set ($@);
|
|||||||
sub HMCCUCHN_Get ($@);
|
sub HMCCUCHN_Get ($@);
|
||||||
sub HMCCUCHN_Attr ($@);
|
sub HMCCUCHN_Attr ($@);
|
||||||
|
|
||||||
my $HMCCUCHN_VERSION = '5.0 220431743';
|
my $HMCCUCHN_VERSION = '5.0 222611615';
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# Initialize module
|
# Initialize module
|
||||||
|
@ -31,7 +31,7 @@ sub HMCCUDEV_Set ($@);
|
|||||||
sub HMCCUDEV_Get ($@);
|
sub HMCCUDEV_Get ($@);
|
||||||
sub HMCCUDEV_Attr ($@);
|
sub HMCCUDEV_Attr ($@);
|
||||||
|
|
||||||
my $HMCCUDEV_VERSION = '5.0 220431743';
|
my $HMCCUDEV_VERSION = '5.0 222611615';
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# Initialize module
|
# Initialize module
|
||||||
|
@ -39,7 +39,7 @@ use SetExtensions;
|
|||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
# HMCCURPC version
|
# HMCCURPC version
|
||||||
my $HMCCURPCPROC_VERSION = '5.0 220431743';
|
my $HMCCURPCPROC_VERSION = '5.0 222611615';
|
||||||
|
|
||||||
# Maximum number of events processed per call of Read()
|
# Maximum number of events processed per call of Read()
|
||||||
my $HMCCURPCPROC_MAX_EVENTS = 100;
|
my $HMCCURPCPROC_MAX_EVENTS = 100;
|
||||||
|
@ -368,6 +368,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
'close' => 'V:LEVEL:0',
|
'close' => 'V:LEVEL:0',
|
||||||
'up' => 'V:LEVEL:?delta=+20',
|
'up' => 'V:LEVEL:?delta=+20',
|
||||||
'down' => 'V:LEVEL:?delta=-20',
|
'down' => 'V:LEVEL:?delta=-20',
|
||||||
|
'oldPos' => 'V:LEVEL:1.005',
|
||||||
'stop' => 'V:STOP:1'
|
'stop' => 'V:STOP:1'
|
||||||
},
|
},
|
||||||
'BLIND_VIRTUAL_RECEIVER' => {
|
'BLIND_VIRTUAL_RECEIVER' => {
|
||||||
@ -534,7 +535,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
'WINMATIC' => {
|
'WINMATIC' => {
|
||||||
'open' => 'V:LEVEL:100',
|
'open' => 'V:LEVEL:100',
|
||||||
'close' => 'V:LEVEL:0',
|
'close' => 'V:LEVEL:0',
|
||||||
'lock' => 'V:LEVEL:-0.5',
|
'lock' => 'V:LEVEL:-0.005',
|
||||||
'pct' => 'V:LEVEL:?level',
|
'pct' => 'V:LEVEL:?level',
|
||||||
'stop' => 'V:STOP:1'
|
'stop' => 'V:STOP:1'
|
||||||
}
|
}
|
||||||
@ -613,6 +614,12 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
'RAINDETECTOR_HEAT' => {
|
'RAINDETECTOR_HEAT' => {
|
||||||
'cmdIcon' => 'on:general_an off:general_aus'
|
'cmdIcon' => 'on:general_an off:general_aus'
|
||||||
},
|
},
|
||||||
|
'SHUTTER_CONTACT' => {
|
||||||
|
'devStateIcon' => 'close:fts_window_1w open:fts_window_1w_open'
|
||||||
|
},
|
||||||
|
'SHUTTER_CONTACT_TRANSCEIVER' => {
|
||||||
|
'devStateIcon' => 'close:fts_window_1w open:fts_window_1w_open'
|
||||||
|
},
|
||||||
'SHUTTER_TRANSMITTER' => {
|
'SHUTTER_TRANSMITTER' => {
|
||||||
'substexcl' => 'pct',
|
'substexcl' => 'pct',
|
||||||
},
|
},
|
||||||
@ -710,16 +717,16 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
'STATE' => { '0' => 'off', 'false' => 'off', '1' => 'on', 'true' => 'on' }
|
'STATE' => { '0' => 'off', 'false' => 'off', '1' => 'on', 'true' => 'on' }
|
||||||
},
|
},
|
||||||
'SHUTTER_CONTACT' => {
|
'SHUTTER_CONTACT' => {
|
||||||
'STATE' => { '0' => 'closed', '1' => 'open', 'false' => 'closed', 'true' => 'open' }
|
'STATE' => { '0' => 'close', '1' => 'open', 'false' => 'close', 'true' => 'open' }
|
||||||
},
|
},
|
||||||
'SHUTTER_CONTACT_TRANSCEIVER' => {
|
'SHUTTER_CONTACT_TRANSCEIVER' => {
|
||||||
'STATE' => { '0' => 'closed', '1' => 'open', 'false' => 'closed', 'true' => 'open' }
|
'STATE' => { '0' => 'close', '1' => 'open', 'false' => 'close', 'true' => 'open' }
|
||||||
},
|
},
|
||||||
'ROTARY_HANDLE_SENSOR' => {
|
'ROTARY_HANDLE_SENSOR' => {
|
||||||
'STATE' => { '0' => 'closed', '1' => 'tilted', '2' => 'open' }
|
'STATE' => { '0' => 'close', '1' => 'tilted', '2' => 'open' }
|
||||||
},
|
},
|
||||||
'ROTARY_HANDLE_TRANSCEIVER' => {
|
'ROTARY_HANDLE_TRANSCEIVER' => {
|
||||||
'STATE' => { '0' => 'closed', '1' => 'tilted', '2' => 'open' }
|
'STATE' => { '0' => 'close', '1' => 'tilted', '2' => 'open' }
|
||||||
},
|
},
|
||||||
'ALARM_SWITCH_VIRTUAL_RECEIVER' => {
|
'ALARM_SWITCH_VIRTUAL_RECEIVER' => {
|
||||||
'STATE' => { '0' => 'ok', '1' => 'alarm', 'false' => 'ok', 'true' => 'alarm' }
|
'STATE' => { '0' => 'ok', '1' => 'alarm', 'false' => 'ok', 'true' => 'alarm' }
|
||||||
@ -740,29 +747,29 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
'STATE' => { '0' => 'off', 'false' => 'off', '1' => 'on', 'true' => 'on', 'off' => '0', 'on' => '1' },
|
'STATE' => { '0' => 'off', 'false' => 'off', '1' => 'on', 'true' => 'on', 'off' => '0', 'on' => '1' },
|
||||||
},
|
},
|
||||||
'BLIND' => {
|
'BLIND' => {
|
||||||
'LEVEL' => { '0' => 'closed', '100' => 'open', 'close' => '0', 'open' => '100' },
|
'LEVEL' => { '0' => 'close', '100' => 'open', 'close' => '0', 'open' => '100' },
|
||||||
'DIRECTION' => { '0' => 'none', '1' => 'up', '2' => 'down' },
|
'DIRECTION' => { '0' => 'none', '1' => 'up', '2' => 'down' },
|
||||||
'WORKING' => { '0' => 'no', 'false' => 'no', '1' => 'yes', 'true' => 'yes' }
|
'WORKING' => { '0' => 'no', 'false' => 'no', '1' => 'yes', 'true' => 'yes' }
|
||||||
},
|
},
|
||||||
'BLIND_TRANSMITTER' => {
|
'BLIND_TRANSMITTER' => {
|
||||||
'LEVEL' => { '0' => 'closed', '100' => 'open', 'close' => '0', 'open' => '100' }
|
'LEVEL' => { '0' => 'close', '100' => 'open', 'close' => '0', 'open' => '100' }
|
||||||
},
|
},
|
||||||
'BLIND_VIRTUAL_RECEIVER' => {
|
'BLIND_VIRTUAL_RECEIVER' => {
|
||||||
'LEVEL' => { '0' => 'closed', '100' => 'open', 'close' => '0', 'open' => '100' },
|
'LEVEL' => { '0' => 'close', '100' => 'open', 'close' => '0', 'open' => '100' },
|
||||||
'DIRECTION' => { '0' => 'none', '1' => 'up', '2' => 'down' },
|
'DIRECTION' => { '0' => 'none', '1' => 'up', '2' => 'down' },
|
||||||
'WORKING' => { '0' => 'no', 'false' => 'no', '1' => 'yes', 'true' => 'yes' }
|
'WORKING' => { '0' => 'no', 'false' => 'no', '1' => 'yes', 'true' => 'yes' }
|
||||||
},
|
},
|
||||||
'JALOUSIE' => {
|
'JALOUSIE' => {
|
||||||
'LEVEL' => { '0' => 'closed', '100' => 'open', 'close' => '0', 'open' => '100' },
|
'LEVEL' => { '0' => 'close', '100' => 'open', 'close' => '0', 'open' => '100' },
|
||||||
'LEVEL_SLATS' => { '0' => 'closed', '100' => 'open', 'close' => '0', 'open' => '100' },
|
'LEVEL_SLATS' => { '0' => 'close', '100' => 'open', 'close' => '0', 'open' => '100' },
|
||||||
'DIRECTION' => { '0' => 'none', '1' => 'up', '2' => 'down' },
|
'DIRECTION' => { '0' => 'none', '1' => 'up', '2' => 'down' },
|
||||||
'WORKING' => { '0' => 'no', 'false' => 'no', '1' => 'yes', 'true' => 'yes' }
|
'WORKING' => { '0' => 'no', 'false' => 'no', '1' => 'yes', 'true' => 'yes' }
|
||||||
},
|
},
|
||||||
'SHUTTER_TRANSMITTER' => {
|
'SHUTTER_TRANSMITTER' => {
|
||||||
'LEVEL' => { '0' => 'closed', '100' => 'open', 'close' => '0', 'open' => '100' }
|
'LEVEL' => { '0' => 'close', '100' => 'open', 'close' => '0', 'open' => '100' }
|
||||||
},
|
},
|
||||||
'SHUTTER_VIRTUAL_RECEIVER' => {
|
'SHUTTER_VIRTUAL_RECEIVER' => {
|
||||||
'LEVEL' => { '0' => 'closed', '100' => 'open', 'close' => '0', 'open' => '100' }
|
'LEVEL' => { '0' => 'close', '100' => 'open', 'close' => '0', 'open' => '100' }
|
||||||
},
|
},
|
||||||
'DIMMER' => {
|
'DIMMER' => {
|
||||||
'LEVEL' => { '0' => 'off', '100' => 'on', 'off' => '0', 'on' => '100' },
|
'LEVEL' => { '0' => 'off', '100' => 'on', 'off' => '0', 'on' => '100' },
|
||||||
@ -781,7 +788,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
},
|
},
|
||||||
'THERMALCONTROL_TRANSMIT' => {
|
'THERMALCONTROL_TRANSMIT' => {
|
||||||
'SET_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' },
|
'SET_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' },
|
||||||
'WINDOW_OPEN_REPORTING' => { '0' => 'closed', '1' => 'open', 'false' => 'closed', 'true' => 'open' }
|
'WINDOW_OPEN_REPORTING' => { '0' => 'close', '1' => 'open', 'false' => 'close', 'true' => 'open' }
|
||||||
},
|
},
|
||||||
'CLIMATECONTROL_RT_TRANSCEIVER' => {
|
'CLIMATECONTROL_RT_TRANSCEIVER' => {
|
||||||
'SET_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' }
|
'SET_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' }
|
||||||
@ -789,7 +796,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
'HEATING_CLIMATECONTROL_TRANSCEIVER' => {
|
'HEATING_CLIMATECONTROL_TRANSCEIVER' => {
|
||||||
'SET_POINT_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' },
|
'SET_POINT_TEMPERATURE' => { '4.5' => 'off', '30.5' => 'on' },
|
||||||
'SET_POINT_MODE' => { '0' => 'auto', '1' => 'manual', '2' => 'boost', '3' => 'off' },
|
'SET_POINT_MODE' => { '0' => 'auto', '1' => 'manual', '2' => 'boost', '3' => 'off' },
|
||||||
'WINDOW_STATE' => { '0' => 'closed', '1' => 'open', 'false' => 'closed', 'true' => 'open' }
|
'WINDOW_STATE' => { '0' => 'close', '1' => 'open', 'false' => 'close', 'true' => 'open' }
|
||||||
},
|
},
|
||||||
'CLIMATECONTROL_REGULATOR' => {
|
'CLIMATECONTROL_REGULATOR' => {
|
||||||
'SETPOINT' => { '4.5' => 'off', '30.5' => 'on' }
|
'SETPOINT' => { '4.5' => 'off', '30.5' => 'on' }
|
||||||
@ -798,7 +805,7 @@ $HMCCU_CONFIG_VERSION = '5.0';
|
|||||||
'ALARMSTATE' => { '0' => 'noAlarm', '1' => 'alarm', 'false' => 'noAlarm', 'true' => 'alarm' }
|
'ALARMSTATE' => { '0' => 'noAlarm', '1' => 'alarm', 'false' => 'noAlarm', 'true' => 'alarm' }
|
||||||
},
|
},
|
||||||
'WINMATIC' => {
|
'WINMATIC' => {
|
||||||
'LEVEL' => { '0' => 'closed', '100' => 'open', '-0.5' => 'locked' }
|
'LEVEL' => { '0' => 'close', '100' => 'open', '-0.005' => 'locked' }
|
||||||
},
|
},
|
||||||
'DEFAULT' => {
|
'DEFAULT' => {
|
||||||
'AES_KEY' => { '0' => 'off', 'false' => 'off', '1' => 'on', 'true' => 'on' },
|
'AES_KEY' => { '0' => 'off', 'false' => 'off', '1' => 'on', 'true' => 'on' },
|
||||||
|
Loading…
Reference in New Issue
Block a user