mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
10_EnOcean.pm: subType hvac.04 changed
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@10039 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a727882c39
commit
144d7a8207
@ -1,9 +1,9 @@
|
||||
|
||||
##############################################
|
||||
# $Id$
|
||||
# 2015-11-26
|
||||
# 2015-11-28
|
||||
|
||||
# Added new EEP:
|
||||
# Added new EEP: A5-20-04 (hvac.04)
|
||||
# EnOcean_Notify():
|
||||
# EnOcean_Attr():
|
||||
# Remote Management (incomplete, experimental)
|
||||
@ -5412,11 +5412,22 @@ sub EnOcean_Parse($$)
|
||||
push @event, "3:setpoint:$setpoint";
|
||||
my $roomTemp = ReadingsVal($name, "roomTemp", 20);
|
||||
my $setpointTemp = ReadingsVal($name, "setpointTemp", 20);
|
||||
my $setpointTempSet = ReadingsVal($name, "setpointTempSet", 20);
|
||||
my $temperature = ReadingsVal($name, "temperature", 20);
|
||||
my $setpointTempSet = ReadingsVal($name, "setpointTempSet", $setpointTemp);
|
||||
my $temperature = ReadingsVal($name, "temperature", $roomTemp);
|
||||
if ($db[0] & 2) {
|
||||
$setpointTemp = sprintf "%0.1f", ($db[2] * 20 / 255 + 10);
|
||||
push @event, "3:setpointTemp:$setpointTemp";
|
||||
if ($setpointTemp == $setpointTempSet) {
|
||||
$setpointTemp = sprintf "%0.1f", ($db[2] * 20 / 255 + 10);
|
||||
if ($setpointTemp != $setpointTempSet) {
|
||||
# setpointTempSet has been changed by actuator
|
||||
$setpointTempSet = $setpointTemp;
|
||||
readingsSingleUpdate($hash, 'setpointTempSet', $setpointTempSet, 1);
|
||||
}
|
||||
} else {
|
||||
# setpointTempSet has been changed by Fhem
|
||||
$setpointTemp = sprintf "%0.1f", ($db[2] * 20 / 255 + 10);
|
||||
}
|
||||
push @event, "3:setpointTemp:$setpointTemp";
|
||||
|
||||
} else {
|
||||
if ($db[0] & 0x80) {
|
||||
# temperature measurement inactive
|
||||
@ -5464,7 +5475,9 @@ sub EnOcean_Parse($$)
|
||||
# status request
|
||||
# action needed?
|
||||
}
|
||||
|
||||
|
||||
Log3 $name, 5, "EnOcean $name EnOcean_parse SPT: $setpointTemp SPTS: $setpointTempSet";
|
||||
|
||||
my $blockKey = ((AttrVal($name, "blockKey", 'no') eq 'yes') ? 1 : 0) << 2;
|
||||
my $displayOrientation = $displayOrientation{AttrVal($name, "displayOrientation", 0)} << 4;
|
||||
my $maintenanceMode = ReadingsVal($name, "maintenanceMode", "off");
|
||||
@ -5611,7 +5624,8 @@ sub EnOcean_Parse($$)
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
|
||||
push @event, "3:state:T: $temperature SPT: $setpointTemp SP: $setpoint";
|
||||
# sent message to the actuator
|
||||
$data = sprintf "%02X%02X%02X%02X", ReadingsVal($name, "setpointSet", $setpoint),
|
||||
($setpointTemp - 10) / 20 * 255,
|
||||
|
Loading…
x
Reference in New Issue
Block a user