diff --git a/libnymea-zigbee/zcl/closures/zigbeeclusterdoorlock.cpp b/libnymea-zigbee/zcl/closures/zigbeeclusterdoorlock.cpp index 454d106..6358fa1 100644 --- a/libnymea-zigbee/zcl/closures/zigbeeclusterdoorlock.cpp +++ b/libnymea-zigbee/zcl/closures/zigbeeclusterdoorlock.cpp @@ -112,8 +112,7 @@ ZigbeeClusterDoorLock::DoorState ZigbeeClusterDoorLock::doorState() const void ZigbeeClusterDoorLock::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); switch (attribute.id()) { case AttributeLockState: diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteranaloginput.cpp b/libnymea-zigbee/zcl/general/zigbeeclusteranaloginput.cpp index c1a4f50..4884a5d 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteranaloginput.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusteranaloginput.cpp @@ -46,8 +46,7 @@ float ZigbeeClusterAnalogInput::presentValue() const void ZigbeeClusterAnalogInput::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); switch (attribute.id()) { case AttributeOutOfService: diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.cpp b/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.cpp index f4802b5..9ed73ef 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.cpp @@ -33,9 +33,3 @@ ZigbeeClusterAnalogOutput::ZigbeeClusterAnalogOutput(ZigbeeNetwork *network, Zig { } - -void ZigbeeClusterAnalogOutput::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.h b/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.h index 1e280d1..18013b3 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.h +++ b/libnymea-zigbee/zcl/general/zigbeeclusteranalogoutput.h @@ -58,9 +58,6 @@ public: explicit ZigbeeClusterAnalogOutput(ZigbeeNetwork *network, ZigbeeNode *node, ZigbeeNodeEndpoint *endpoint, Direction direction, QObject *parent = nullptr); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERANANLOGOUTPUT_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.cpp b/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.cpp index 8f92f8a..321eafc 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.cpp @@ -33,9 +33,3 @@ ZigbeeClusterAnalogValue::ZigbeeClusterAnalogValue(ZigbeeNetwork *network, Zigbe { } - -void ZigbeeClusterAnalogValue::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.h b/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.h index 59bd891..63b700b 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.h +++ b/libnymea-zigbee/zcl/general/zigbeeclusteranalogvalue.h @@ -55,9 +55,6 @@ public: explicit ZigbeeClusterAnalogValue(ZigbeeNetwork *network, ZigbeeNode *node, ZigbeeNodeEndpoint *endpoint, Direction direction, QObject *parent = nullptr); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERANALOGVALUE_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterbasic.cpp b/libnymea-zigbee/zcl/general/zigbeeclusterbasic.cpp index 1e92e07..4c14d0c 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterbasic.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusterbasic.cpp @@ -40,9 +40,3 @@ ZigbeeClusterReply *ZigbeeClusterBasic::resetToFactoryDefaults() { return executeClusterCommand(ZigbeeClusterBasic::CommandResetToFactoryDefaults); } - -void ZigbeeClusterBasic::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterbasic.h b/libnymea-zigbee/zcl/general/zigbeeclusterbasic.h index fbad828..0e71e60 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterbasic.h +++ b/libnymea-zigbee/zcl/general/zigbeeclusterbasic.h @@ -206,9 +206,6 @@ public: ZigbeeClusterReply *resetToFactoryDefaults(); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERBASIC_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryinput.cpp b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryinput.cpp index 26de8b2..b371bef 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryinput.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryinput.cpp @@ -41,8 +41,7 @@ bool ZigbeeClusterBinaryInput::presentValue() const void ZigbeeClusterBinaryInput::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convenience if (attribute.id() == AttributePresentValue) { diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.cpp b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.cpp index fd14340..97397cc 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.cpp @@ -33,9 +33,3 @@ ZigbeeClusterBinaryOutput::ZigbeeClusterBinaryOutput(ZigbeeNetwork *network, Zig { } - -void ZigbeeClusterBinaryOutput::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.h b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.h index 420839e..f790142 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.h +++ b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryoutput.h @@ -59,9 +59,6 @@ public: explicit ZigbeeClusterBinaryOutput(ZigbeeNetwork *network, ZigbeeNode *node, ZigbeeNodeEndpoint *endpoint, Direction direction, QObject *parent = nullptr); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERBINARYOUTPUT_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.cpp b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.cpp index 5b5ddfb..d2c61bf 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.cpp @@ -33,9 +33,3 @@ ZigbeeClusterBinaryValue::ZigbeeClusterBinaryValue(ZigbeeNetwork *network, Zigbe { } - -void ZigbeeClusterBinaryValue::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.h b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.h index 00d8b4e..c238eb2 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.h +++ b/libnymea-zigbee/zcl/general/zigbeeclusterbinaryvalue.h @@ -58,9 +58,6 @@ public: explicit ZigbeeClusterBinaryValue(ZigbeeNetwork *network, ZigbeeNode *node, ZigbeeNodeEndpoint *endpoint, Direction direction, QObject *parent = nullptr); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERBINARYVALUE_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclustergroups.cpp b/libnymea-zigbee/zcl/general/zigbeeclustergroups.cpp index c75d668..66569bb 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustergroups.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclustergroups.cpp @@ -94,9 +94,3 @@ ZigbeeClusterReply *ZigbeeClusterGroups::addGroupIfIdentifying(quint16 groupId, } return executeClusterCommand(ZigbeeClusterGroups::CommandAddGroup, payload); } - -void ZigbeeClusterGroups::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclustergroups.h b/libnymea-zigbee/zcl/general/zigbeeclustergroups.h index c8044c1..df9caf3 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustergroups.h +++ b/libnymea-zigbee/zcl/general/zigbeeclustergroups.h @@ -63,9 +63,6 @@ public: signals: -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteridentify.cpp b/libnymea-zigbee/zcl/general/zigbeeclusteridentify.cpp index c573f54..d79b6a6 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteridentify.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusteridentify.cpp @@ -61,12 +61,6 @@ ZigbeeClusterReply *ZigbeeClusterIdentify::triggerEffect(ZigbeeClusterIdentify:: return executeClusterCommand(ZigbeeClusterIdentify::CommandTriggerEffect, payload); } -void ZigbeeClusterIdentify::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} - void ZigbeeClusterIdentify::processDataIndication(ZigbeeClusterLibrary::Frame frame) { Command command = static_cast(frame.header.command); diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteridentify.h b/libnymea-zigbee/zcl/general/zigbeeclusteridentify.h index bb2cf2f..5b32b43 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteridentify.h +++ b/libnymea-zigbee/zcl/general/zigbeeclusteridentify.h @@ -75,9 +75,6 @@ public: ZigbeeClusterReply *identifyQuery(); ZigbeeClusterReply *triggerEffect(Effect effect, quint8 effectVariant = 0x00); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - protected: void processDataIndication(ZigbeeClusterLibrary::Frame frame) override; diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterlevelcontrol.cpp b/libnymea-zigbee/zcl/general/zigbeeclusterlevelcontrol.cpp index c18cc1c..fbaafba 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterlevelcontrol.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusterlevelcontrol.cpp @@ -110,8 +110,7 @@ quint8 ZigbeeClusterLevelControl::currentLevel() const void ZigbeeClusterLevelControl::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convenience if (attribute.id() == AttributeCurrentLevel) { diff --git a/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.cpp b/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.cpp index 2e79f31..0c40b6d 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.cpp @@ -33,9 +33,3 @@ ZigbeeClusterMultistateInput::ZigbeeClusterMultistateInput(ZigbeeNetwork *networ { } - -void ZigbeeClusterMultistateInput::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.h b/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.h index a6e3570..7119a1e 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.h +++ b/libnymea-zigbee/zcl/general/zigbeeclustermultistateinput.h @@ -55,9 +55,6 @@ public: explicit ZigbeeClusterMultistateInput(ZigbeeNetwork *network, ZigbeeNode *node, ZigbeeNodeEndpoint *endpoint, Direction direction, QObject *parent = nullptr); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERMULTISTATEINPUT_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.cpp b/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.cpp index 259e7b3..c2b21fe 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.cpp @@ -33,9 +33,3 @@ ZigbeeClusterMultistateOutput::ZigbeeClusterMultistateOutput(ZigbeeNetwork *netw { } - -void ZigbeeClusterMultistateOutput::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.h b/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.h index 8319b2e..891ce73 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.h +++ b/libnymea-zigbee/zcl/general/zigbeeclustermultistateoutput.h @@ -56,9 +56,6 @@ public: explicit ZigbeeClusterMultistateOutput(ZigbeeNetwork *network, ZigbeeNode *node, ZigbeeNodeEndpoint *endpoint, Direction direction, QObject *parent = nullptr); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERMULTISTATEOUTPUT_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.cpp b/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.cpp index 24f5ece..1e0a197 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.cpp @@ -33,9 +33,3 @@ ZigbeeClusterMultistateValue::ZigbeeClusterMultistateValue(ZigbeeNetwork *networ { } - -void ZigbeeClusterMultistateValue::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} diff --git a/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.h b/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.h index 56a465e..69d221f 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.h +++ b/libnymea-zigbee/zcl/general/zigbeeclustermultistatevalue.h @@ -56,9 +56,6 @@ public: explicit ZigbeeClusterMultistateValue(ZigbeeNetwork *network, ZigbeeNode *node, ZigbeeNodeEndpoint *endpoint, Direction direction, QObject *parent = nullptr); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - }; #endif // ZIGBEECLUSTERMULTISTATEVALUE_H diff --git a/libnymea-zigbee/zcl/general/zigbeeclusteronoff.cpp b/libnymea-zigbee/zcl/general/zigbeeclusteronoff.cpp index 1ac7221..331c634 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusteronoff.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusteronoff.cpp @@ -84,8 +84,7 @@ bool ZigbeeClusterOnOff::power() const void ZigbeeClusterOnOff::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convenience if (attribute.id() == AttributeOnOff) { diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterpowerconfiguration.cpp b/libnymea-zigbee/zcl/general/zigbeeclusterpowerconfiguration.cpp index 1544570..936bef1 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterpowerconfiguration.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusterpowerconfiguration.cpp @@ -44,7 +44,7 @@ double ZigbeeClusterPowerConfiguration::batteryPercentage() const void ZigbeeClusterPowerConfiguration::setAttribute(const ZigbeeClusterAttribute &attribute) { qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); if (attribute.id() == AttributeBatteryPercentageRemaining) { bool valueOk = false; diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterscenes.cpp b/libnymea-zigbee/zcl/general/zigbeeclusterscenes.cpp index 537be20..d4e2b46 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterscenes.cpp +++ b/libnymea-zigbee/zcl/general/zigbeeclusterscenes.cpp @@ -37,12 +37,6 @@ ZigbeeClusterScenes::ZigbeeClusterScenes(ZigbeeNetwork *network, ZigbeeNode *nod } -void ZigbeeClusterScenes::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} - void ZigbeeClusterScenes::processDataIndication(ZigbeeClusterLibrary::Frame frame) { switch (m_direction) { diff --git a/libnymea-zigbee/zcl/general/zigbeeclusterscenes.h b/libnymea-zigbee/zcl/general/zigbeeclusterscenes.h index 54a7044..eb41894 100644 --- a/libnymea-zigbee/zcl/general/zigbeeclusterscenes.h +++ b/libnymea-zigbee/zcl/general/zigbeeclusterscenes.h @@ -65,9 +65,6 @@ public: signals: void commandSent(ZigbeeClusterScenes::Command command, quint16 groupId, quint8 sceneId, quint8 transactionSequenceNumber); -private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - protected: void processDataIndication(ZigbeeClusterLibrary::Frame frame) override; diff --git a/libnymea-zigbee/zcl/lighting/zigbeeclustercolorcontrol.cpp b/libnymea-zigbee/zcl/lighting/zigbeeclustercolorcontrol.cpp index f9e3916..22a4f10 100644 --- a/libnymea-zigbee/zcl/lighting/zigbeeclustercolorcontrol.cpp +++ b/libnymea-zigbee/zcl/lighting/zigbeeclustercolorcontrol.cpp @@ -226,7 +226,7 @@ ZigbeeClusterColorControl::ColorCapabilities ZigbeeClusterColorControl::colorCap void ZigbeeClusterColorControl::setAttribute(const ZigbeeClusterAttribute &attribute) { qCDebug(dcZigbeeCluster()) << "Attribute changed" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); switch (attribute.id()) { case AttributeColorTemperatureMireds: { diff --git a/libnymea-zigbee/zcl/measurement/zigbeeclusterilluminancemeasurment.cpp b/libnymea-zigbee/zcl/measurement/zigbeeclusterilluminancemeasurment.cpp index 489e88c..2cac9e0 100644 --- a/libnymea-zigbee/zcl/measurement/zigbeeclusterilluminancemeasurment.cpp +++ b/libnymea-zigbee/zcl/measurement/zigbeeclusterilluminancemeasurment.cpp @@ -43,8 +43,7 @@ quint16 ZigbeeClusterIlluminanceMeasurment::illuminance() const void ZigbeeClusterIlluminanceMeasurment::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convenience if (attribute.id() == AttributeMeasuredValue) { diff --git a/libnymea-zigbee/zcl/measurement/zigbeeclusteroccupancysensing.cpp b/libnymea-zigbee/zcl/measurement/zigbeeclusteroccupancysensing.cpp index 2c576b8..70edca4 100644 --- a/libnymea-zigbee/zcl/measurement/zigbeeclusteroccupancysensing.cpp +++ b/libnymea-zigbee/zcl/measurement/zigbeeclusteroccupancysensing.cpp @@ -43,8 +43,7 @@ bool ZigbeeClusterOccupancySensing::occupied() const void ZigbeeClusterOccupancySensing::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convenience if (attribute.id() == AttributeOccupancy) { diff --git a/libnymea-zigbee/zcl/measurement/zigbeeclusterpressuremeasurement.cpp b/libnymea-zigbee/zcl/measurement/zigbeeclusterpressuremeasurement.cpp index b62f5a0..6c4a4e8 100644 --- a/libnymea-zigbee/zcl/measurement/zigbeeclusterpressuremeasurement.cpp +++ b/libnymea-zigbee/zcl/measurement/zigbeeclusterpressuremeasurement.cpp @@ -48,8 +48,7 @@ double ZigbeeClusterPressureMeasurement::pressureScaled() const void ZigbeeClusterPressureMeasurement::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convinience if (attribute.id() == AttributeMeasuredValue) { diff --git a/libnymea-zigbee/zcl/measurement/zigbeeclusterrelativehumiditymeasurement.cpp b/libnymea-zigbee/zcl/measurement/zigbeeclusterrelativehumiditymeasurement.cpp index 0bdf4eb..efc217f 100644 --- a/libnymea-zigbee/zcl/measurement/zigbeeclusterrelativehumiditymeasurement.cpp +++ b/libnymea-zigbee/zcl/measurement/zigbeeclusterrelativehumiditymeasurement.cpp @@ -44,7 +44,7 @@ double ZigbeeClusterRelativeHumidityMeasurement::humidity() const void ZigbeeClusterRelativeHumidityMeasurement::setAttribute(const ZigbeeClusterAttribute &attribute) { qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convenience if (attribute.id() == AttributeMeasuredValue) { diff --git a/libnymea-zigbee/zcl/measurement/zigbeeclustertemperaturemeasurement.cpp b/libnymea-zigbee/zcl/measurement/zigbeeclustertemperaturemeasurement.cpp index 1694a03..9b638a9 100644 --- a/libnymea-zigbee/zcl/measurement/zigbeeclustertemperaturemeasurement.cpp +++ b/libnymea-zigbee/zcl/measurement/zigbeeclustertemperaturemeasurement.cpp @@ -43,8 +43,7 @@ double ZigbeeClusterTemperatureMeasurement::temperature() const void ZigbeeClusterTemperatureMeasurement::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); // Parse the information for convenience if (attribute.id() == AttributeMeasuredValue) { diff --git a/libnymea-zigbee/zcl/ota/zigbeeclusterota.cpp b/libnymea-zigbee/zcl/ota/zigbeeclusterota.cpp index 2b65c2b..d8c4245 100644 --- a/libnymea-zigbee/zcl/ota/zigbeeclusterota.cpp +++ b/libnymea-zigbee/zcl/ota/zigbeeclusterota.cpp @@ -39,12 +39,6 @@ ZigbeeClusterOta::ZigbeeClusterOta(ZigbeeNetwork *network, ZigbeeNode *node, Zig } -void ZigbeeClusterOta::setAttribute(const ZigbeeClusterAttribute &attribute) -{ - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); -} - ZigbeeClusterOta::FileVersion ZigbeeClusterOta::parseFileVersion(quint32 fileVersionValue) { FileVersion fileVersion; diff --git a/libnymea-zigbee/zcl/ota/zigbeeclusterota.h b/libnymea-zigbee/zcl/ota/zigbeeclusterota.h index b0d91f4..eedb857 100644 --- a/libnymea-zigbee/zcl/ota/zigbeeclusterota.h +++ b/libnymea-zigbee/zcl/ota/zigbeeclusterota.h @@ -101,8 +101,6 @@ protected: void processDataIndication(ZigbeeClusterLibrary::Frame frame) override; private: - void setAttribute(const ZigbeeClusterAttribute &attribute) override; - FileVersion parseFileVersion(quint32 fileVersionValue); }; diff --git a/libnymea-zigbee/zcl/security/zigbeeclusteriaszone.cpp b/libnymea-zigbee/zcl/security/zigbeeclusteriaszone.cpp index 50d003b..070e9a9 100644 --- a/libnymea-zigbee/zcl/security/zigbeeclusteriaszone.cpp +++ b/libnymea-zigbee/zcl/security/zigbeeclusteriaszone.cpp @@ -91,8 +91,7 @@ ZigbeeClusterReply *ZigbeeClusterIasZone::sendZoneStatusChangeNotification(Zigbe void ZigbeeClusterIasZone::setAttribute(const ZigbeeClusterAttribute &attribute) { - qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << static_cast(attribute.id()) << attribute.dataType(); - updateOrAddAttribute(attribute); + ZigbeeCluster::setAttribute(attribute); if (attribute.id() == AttributeZoneState) { quint8 zoneStateInt = attribute.dataType().toUInt8(); diff --git a/libnymea-zigbee/zcl/zigbeecluster.cpp b/libnymea-zigbee/zcl/zigbeecluster.cpp index 1762d63..a74e8d2 100644 --- a/libnymea-zigbee/zcl/zigbeecluster.cpp +++ b/libnymea-zigbee/zcl/zigbeecluster.cpp @@ -93,7 +93,13 @@ ZigbeeClusterAttribute ZigbeeCluster::attribute(quint16 attributeId) void ZigbeeCluster::setAttribute(const ZigbeeClusterAttribute &attribute) { qCDebug(dcZigbeeCluster()) << "Update attribute" << m_node << m_endpoint << this << attribute; - updateOrAddAttribute(attribute); + if (hasAttribute(attribute.id())) { + m_attributes[attribute.id()] = attribute; + emit attributeChanged(attribute); + } else { + m_attributes.insert(attribute.id(), attribute); + emit attributeChanged(attribute); + } } ZigbeeClusterReply *ZigbeeCluster::readAttributes(QList attributes, quint16 manufacturerCode) @@ -410,17 +416,6 @@ void ZigbeeCluster::processDataIndication(ZigbeeClusterLibrary::Frame frame) qCWarning(dcZigbeeCluster()) << "Unhandled ZCL indication in" << m_node << m_endpoint << this << frame; } -void ZigbeeCluster::updateOrAddAttribute(const ZigbeeClusterAttribute &attribute) -{ - if (hasAttribute(attribute.id())) { - m_attributes[attribute.id()] = attribute; - emit attributeChanged(attribute); - } else { - m_attributes.insert(attribute.id(), attribute); - emit attributeChanged(attribute); - } -} - quint8 ZigbeeCluster::newTransactionSequenceNumber() { static quint8 tsn = 1; diff --git a/libnymea-zigbee/zcl/zigbeecluster.h b/libnymea-zigbee/zcl/zigbeecluster.h index 280f402..d18c4b0 100644 --- a/libnymea-zigbee/zcl/zigbeecluster.h +++ b/libnymea-zigbee/zcl/zigbeecluster.h @@ -122,13 +122,10 @@ protected: virtual void processDataIndication(ZigbeeClusterLibrary::Frame frame); - void updateOrAddAttribute(const ZigbeeClusterAttribute &attribute); + virtual void setAttribute(const ZigbeeClusterAttribute &attribute); static quint8 newTransactionSequenceNumber(); -private: - virtual void setAttribute(const ZigbeeClusterAttribute &attribute); - signals: void attributeChanged(const ZigbeeClusterAttribute &attribute);