mirror of https://github.com/arendst/Tasmota.git
Auto-binding for TRV
This commit is contained in:
parent
a9630b9d05
commit
c09828617d
|
@ -1302,6 +1302,7 @@ void ZCLFrame::parseReadConfigAttributes(Z_attribute_list& attr_list) {
|
|||
}
|
||||
|
||||
// find the attribute name
|
||||
int8_t multiplier = 1;
|
||||
for (uint32_t i = 0; i < ARRAY_SIZE(Z_PostProcess); i++) {
|
||||
const Z_AttributeConverter *converter = &Z_PostProcess[i];
|
||||
uint16_t conv_cluster = CxToCluster(pgm_read_byte(&converter->cluster_short));
|
||||
|
@ -1310,6 +1311,7 @@ void ZCLFrame::parseReadConfigAttributes(Z_attribute_list& attr_list) {
|
|||
if ((conv_cluster == _cluster_id) && (conv_attribute == attrid)) {
|
||||
const char * attr_name = Z_strings + pgm_read_word(&converter->name_offset);
|
||||
attr_2.addAttribute(attr_name, true).setBool(true);
|
||||
multiplier = pgm_read_byte(&converter->multiplier);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1337,6 +1339,12 @@ void ZCLFrame::parseReadConfigAttributes(Z_attribute_list& attr_list) {
|
|||
// decode Reportable Change
|
||||
Z_attribute &attr_change = attr_2.addAttribute(F("ReportableChange"));
|
||||
i += parseSingleAttribute(attr_change, _payload, i, attr_type);
|
||||
if ((1 != multiplier) && (0 != multiplier)) {
|
||||
float fval = attr_change.getFloat();
|
||||
if (multiplier > 0) { fval = fval * multiplier; }
|
||||
else { fval = fval / (-multiplier); }
|
||||
attr_change.setFloat(fval);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -562,7 +562,7 @@ int32_t Z_ReceiveActiveEp(int32_t res, const class SBuffer &buf) {
|
|||
|
||||
// list of clusters that need bindings
|
||||
const uint8_t Z_bindings[] PROGMEM = {
|
||||
Cx0001, Cx0006, Cx0008, Cx0300,
|
||||
Cx0001, Cx0006, Cx0008, Cx0201, Cx0300,
|
||||
Cx0400, Cx0402, Cx0403, Cx0405, Cx0406,
|
||||
Cx0500,
|
||||
};
|
||||
|
@ -1216,6 +1216,9 @@ const Z_autoAttributeReporting_t Z_autoAttributeReporting[] PROGMEM = {
|
|||
{ 0x0001, 0x0020, 15*60, 15*60, 0.1 }, // BatteryVoltage
|
||||
{ 0x0001, 0x0021, 15*60, 15*60, 1 }, // BatteryPercentage
|
||||
{ 0x0006, 0x0000, 1, 60*60, 0 }, // Power
|
||||
{ 0x0201, 0x0000, 60, 60*10, 0.5 }, // LocalTemperature
|
||||
{ 0x0201, 0x0008, 60, 60*10, 10 }, // PIHeatingDemand
|
||||
{ 0x0201, 0x0012, 60, 60*10, 0.5 }, // OccupiedHeatingSetpoint
|
||||
{ 0x0008, 0x0000, 1, 60*60, 5 }, // Dimmer
|
||||
{ 0x0300, 0x0000, 1, 60*60, 5 }, // Hue
|
||||
{ 0x0300, 0x0001, 1, 60*60, 5 }, // Sat
|
||||
|
|
Loading…
Reference in New Issue