From cb9c1527f03253f54f5204df4dbac7a9ecbf310d Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 10:05:06 -0500 Subject: [PATCH 01/16] Update Bridged Basic XML and ZAP --- .../all-clusters-common/all-clusters-app.zap | 30 +- .../light-switch-common/light-switch-app.zap | 26 -- .../lighting-common/lighting-app.zap | 26 -- .../thermostat-common/thermostat.zap | 295 ------------------ .../tv-casting-common/tv-casting-app.zap | 295 ------------------ .../data-model/chip/bridged-device-basic.xml | 35 ++- .../data_model/controller-clusters.zap | 65 +--- 7 files changed, 51 insertions(+), 721 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index 30b91cdecbf400..fd7173a5c9119a 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -9952,7 +9952,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -9967,7 +9967,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -9982,7 +9982,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -9997,7 +9997,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -10012,7 +10012,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "0", @@ -10027,7 +10027,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -10042,7 +10042,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "0", @@ -10057,7 +10057,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -10072,10 +10072,10 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, - "defaultValue": "", + "defaultValue": "20210614123456ZZ", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -10087,7 +10087,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -10102,7 +10102,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -10117,7 +10117,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -10132,7 +10132,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -10162,7 +10162,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.zap b/examples/light-switch-app/light-switch-common/light-switch-app.zap index 020e8d9ab8d524..72a00639418b8f 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.zap +++ b/examples/light-switch-app/light-switch-common/light-switch-app.zap @@ -6382,32 +6382,6 @@ } ] }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [], - "attributes": [ - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, { "name": "Color Control", "code": 768, diff --git a/examples/lighting-app/lighting-common/lighting-app.zap b/examples/lighting-app/lighting-common/lighting-app.zap index b85a8d84053818..a0f98ef268be8b 100644 --- a/examples/lighting-app/lighting-common/lighting-app.zap +++ b/examples/lighting-app/lighting-common/lighting-app.zap @@ -6026,32 +6026,6 @@ } ] }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [], - "attributes": [ - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, { "name": "Color Control", "code": 768, diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap index 26131979baa2b0..6b6d5be3b21a85 100644 --- a/examples/thermostat/thermostat-common/thermostat.zap +++ b/examples/thermostat/thermostat-common/thermostat.zap @@ -8840,301 +8840,6 @@ } ] }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "server", - "enabled": 0, - "commands": [ - { - "name": "StartUp", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ShutDown", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Leave", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ReachableChanged", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "VendorName", - "code": 1, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorID", - "code": 2, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductName", - "code": 3, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NodeLabel", - "code": 5, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersion", - "code": 7, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersionString", - "code": 8, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersion", - "code": 9, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersionString", - "code": 10, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ManufacturingDate", - "code": 11, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartNumber", - "code": 12, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductLabel", - "code": 14, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SerialNumber", - "code": 15, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Reachable", - "code": 17, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, { "name": "Switch", "code": 59, diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap index bcefd02ed6b7e4..df5d8edc38485a 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap @@ -8672,301 +8672,6 @@ } ] }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [ - { - "name": "StartUp", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ShutDown", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "Leave", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 1 - }, - { - "name": "ReachableChanged", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 1, - "outgoing": 1 - } - ], - "attributes": [ - { - "name": "VendorName", - "code": 1, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorID", - "code": 2, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductName", - "code": 3, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NodeLabel", - "code": 5, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersion", - "code": 7, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersionString", - "code": 8, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersion", - "code": 9, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersionString", - "code": 10, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ManufacturingDate", - "code": 11, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartNumber", - "code": 12, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductLabel", - "code": 14, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SerialNumber", - "code": 15, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 1, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Reachable", - "code": 17, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "0x00", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 1, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, { "name": "Switch", "code": 59, diff --git a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml index 8eb9c3eec137a2..e47a77fdbf31a6 100644 --- a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml +++ b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml @@ -15,11 +15,14 @@ See the License for the specific language governing permissions and limitations under the License. --> - + Bridged Device Basic CHIP - Attributes for determining basic information about a bridged device, and setting user device information such as location. + This Cluster serves two purposes towards a Node communicating with a Bridge: indicate that the functionality on + the Endpoint where it is placed (and its Parts) is bridged from a non-CHIP technology; and provide a centralized + collection of attributes that the Node MAY collect to aid in conveying information regarding the Bridged Device to a user, + such as the vendor name, the model name, or user-assigned name. 0x0039 BRIDGED_DEVICE_BASIC_CLUSTER true @@ -27,7 +30,7 @@ limitations under the License. VendorName - VendorID + VendorID ProductName NodeLabel HardwareVersion @@ -42,18 +45,20 @@ limitations under the License. Reachable UniqueID - - The StartUp event SHALL be emitted by a Node as soon as reasonable after completing a boot or reboot process. - - - The ShutDown event SHOULD be emitted by a Node prior to any orderly shutdown sequence on a best-effort basis. - - - The Leave event SHOULD be emitted by a Node prior to permanently leaving the Fabric. - - - The Leave event SHOULD be emitted by a Node when the Reachable attribute changes. - + + The StartUp event SHALL be emitted by a Node as soon as reasonable after completing a boot or reboot process. + + + + The ShutDown event SHOULD be emitted by a Node prior to any orderly shutdown sequence on a best-effort basis. + + + The Leave event SHOULD be emitted by a Node prior to permanently leaving the Fabric. + + + This event SHALL be generated when there is a change in the Reachable attribute. + + diff --git a/src/controller/data_model/controller-clusters.zap b/src/controller/data_model/controller-clusters.zap index d5c25fb4da1119..d20d951016e974 100644 --- a/src/controller/data_model/controller-clusters.zap +++ b/src/controller/data_model/controller-clusters.zap @@ -5898,40 +5898,7 @@ "define": "BRIDGED_DEVICE_BASIC_CLUSTER", "side": "server", "enabled": 0, - "commands": [ - { - "name": "StartUp", - "code": 0, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "ShutDown", - "code": 1, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "Leave", - "code": 2, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 0 - }, - { - "name": "ReachableChanged", - "code": 3, - "mfgCode": null, - "source": "server", - "incoming": 0, - "outgoing": 0 - } - ], + "commands": [], "attributes": [ { "name": "VendorName", @@ -5939,7 +5906,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -5954,7 +5921,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -5969,7 +5936,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -5984,7 +5951,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "NVM", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -5999,7 +5966,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "0", @@ -6014,7 +5981,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -6029,7 +5996,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "0", @@ -6044,7 +6011,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -6059,10 +6026,10 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, - "defaultValue": "", + "defaultValue": "20210614123456ZZ", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -6074,7 +6041,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -6089,7 +6056,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -6104,7 +6071,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -6119,7 +6086,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", @@ -6149,7 +6116,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "RAM", + "storageOption": "External", "singleton": 1, "bounded": 0, "defaultValue": "", From 70f027e2a0accc07babdfb197f79d5be402f7dad Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 12:01:01 -0500 Subject: [PATCH 02/16] Add Bridged Basic cluster back to tv-casting-app --- .../tv-casting-common/tv-casting-app.zap | 292 ++++++++++++++++++ 1 file changed, 292 insertions(+) diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap index b83a66b3c6616e..8a38f1c8b29d75 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap @@ -8753,6 +8753,298 @@ } ] }, + { + "name": "Bridged Device Basic", + "code": 57, + "mfgCode": null, + "define": "BRIDGED_DEVICE_BASIC_CLUSTER", + "side": "client", + "enabled": 0, + "commands": [], + "attributes": [ + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "client", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, + { + "name": "Bridged Device Basic", + "code": 57, + "mfgCode": null, + "define": "BRIDGED_DEVICE_BASIC_CLUSTER", + "side": "server", + "enabled": 1, + "commands": [], + "attributes": [ + { + "name": "VendorName", + "code": 1, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "VendorID", + "code": 2, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ProductName", + "code": 3, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "NodeLabel", + "code": 5, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "NVM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "HardwareVersion", + "code": 7, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "HardwareVersionString", + "code": 8, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SoftwareVersion", + "code": 9, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "0", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SoftwareVersionString", + "code": 10, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ManufacturingDate", + "code": 11, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "20210614123456ZZ", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "PartNumber", + "code": 12, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ProductURL", + "code": 13, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "ProductLabel", + "code": 14, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "SerialNumber", + "code": 15, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "Reachable", + "code": 17, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "UniqueID", + "code": 18, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "External", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + }, + { + "name": "AttributeList", + "code": 65531, + "mfgCode": null, + "side": "server", + "included": 0, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "ClusterRevision", + "code": 65533, + "mfgCode": null, + "side": "server", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "1", + "reportable": 1, + "minInterval": 0, + "maxInterval": 65344, + "reportableChange": 0 + } + ] + }, { "name": "Switch", "code": 59, From 2700460886891ec3d08b76b05a45692792432004 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 12:17:42 -0500 Subject: [PATCH 03/16] ZAP regen --- .../all-clusters-app.matter | 2 +- .../light-switch-app.matter | 19 + .../tv-casting-common/tv-casting-app.matter | 3 +- .../data_model/controller-clusters.matter | 3 +- .../java/zap-generated/CHIPCallbackTypes.h | 2 + .../java/zap-generated/CHIPClusters-JNI.cpp | 44 +- .../java/zap-generated/CHIPReadCallbacks.cpp | 59 +++ .../java/zap-generated/CHIPReadCallbacks.h | 30 ++ .../chip/devicecontroller/ChipClusters.java | 34 +- .../devicecontroller/ClusterReadMapping.java | 15 +- .../python/chip/clusters/CHIPClusters.py | 6 + .../CHIPAttributeTLVValueDecoder.mm | 13 +- .../CHIP/zap-generated/CHIPClustersObjc.h | 7 + .../CHIP/zap-generated/CHIPClustersObjc.mm | 38 +- .../CHIP/zap-generated/CHIPTestClustersObjc.h | 1 + .../zap-generated/CHIPTestClustersObjc.mm | 20 +- .../Framework/CHIPTests/CHIPClustersTests.m | 25 + .../zap-generated/endpoint_config.h | 455 +++++++++--------- .../zap-generated/attributes/Accessors.cpp | 10 +- .../zap-generated/attributes/Accessors.h | 4 +- .../zap-generated/cluster-objects.h | 8 +- .../zap-generated/cluster/Commands.h | 3 + .../cluster/logging/DataModelLogger.cpp | 7 +- .../zap-generated/endpoint_config.h | 5 +- .../zap-generated/endpoint_config.h | 101 ++-- 25 files changed, 597 insertions(+), 317 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index a9f9df1b37112f..cd4ff2755d6c86 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -359,7 +359,7 @@ server cluster BridgedDeviceBasic = 57 { } readonly attribute char_string<32> vendorName = 1; - readonly attribute int16u vendorID = 2; + readonly attribute vendor_id vendorID = 2; readonly attribute char_string<32> productName = 3; attribute char_string<32> nodeLabel = 5; readonly attribute int16u hardwareVersion = 7; diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index 21f2976c98136c..8bd5b9fd9b5c3f 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -640,6 +640,13 @@ client cluster Groups = 4 { request struct ViewGroupRequest { INT16U groupId = 0; } + + command AddGroup(AddGroupRequest): AddGroupResponse = 0; + command AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5; + command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2; + command RemoveAllGroups(): DefaultSuccess = 4; + command RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3; + command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1; } client cluster Identify = 3 { @@ -1009,6 +1016,10 @@ client cluster OnOff = 6 { readonly global attribute attrib_id attributeList[] = 65531; readonly global attribute bitmap32 featureMap = 65532; readonly global attribute int16u clusterRevision = 65533; + + command Off(): DefaultSuccess = 0; + command On(): DefaultSuccess = 1; + command Toggle(): DefaultSuccess = 2; } server cluster OperationalCredentials = 62 { @@ -1215,6 +1226,14 @@ client cluster Scenes = 5 { CHAR_STRING sceneName = 4; SceneExtensionFieldSet extensionFieldSets[] = 5; } + + command AddScene(AddSceneRequest): AddSceneResponse = 0; + command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6; + command RecallScene(RecallSceneRequest): DefaultSuccess = 5; + command RemoveAllScenes(RemoveAllScenesRequest): RemoveAllScenesResponse = 3; + command RemoveScene(RemoveSceneRequest): RemoveSceneResponse = 2; + command StoreScene(StoreSceneRequest): StoreSceneResponse = 4; + command ViewScene(ViewSceneRequest): ViewSceneResponse = 1; } server cluster SoftwareDiagnostics = 52 { diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 201f791afab394..ae85ab20936689 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -312,7 +312,7 @@ server cluster BridgedDeviceBasic = 57 { } readonly attribute char_string<32> vendorName = 1; - readonly attribute int16u vendorID = 2; + readonly attribute vendor_id vendorID = 2; readonly attribute char_string<32> productName = 3; attribute char_string<32> nodeLabel = 5; readonly attribute int16u hardwareVersion = 7; @@ -325,6 +325,7 @@ server cluster BridgedDeviceBasic = 57 { readonly attribute char_string<64> productLabel = 14; readonly attribute char_string<32> serialNumber = 15; readonly attribute boolean reachable = 17; + readonly attribute char_string<32> uniqueID = 18; readonly global attribute int16u clusterRevision = 65533; } diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index d4f0f0223876ab..a76aa33711ade7 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -530,7 +530,7 @@ client cluster BridgedDeviceBasic = 57 { } readonly attribute char_string<32> vendorName = 1; - readonly attribute int16u vendorID = 2; + readonly attribute vendor_id vendorID = 2; readonly attribute char_string<32> productName = 3; attribute char_string<32> nodeLabel = 5; readonly attribute int16u hardwareVersion = 7; @@ -543,6 +543,7 @@ client cluster BridgedDeviceBasic = 57 { readonly attribute char_string<64> productLabel = 14; readonly attribute char_string<32> serialNumber = 15; readonly attribute boolean reachable = 17; + readonly attribute char_string<32> uniqueID = 18; readonly global attribute command_id serverGeneratedCommandList[] = 65528; readonly global attribute command_id clientGeneratedCommandList[] = 65529; readonly global attribute attrib_id attributeList[] = 65531; diff --git a/src/controller/java/zap-generated/CHIPCallbackTypes.h b/src/controller/java/zap-generated/CHIPCallbackTypes.h index e3f0f9e688ba09..f39556a442d562 100644 --- a/src/controller/java/zap-generated/CHIPCallbackTypes.h +++ b/src/controller/java/zap-generated/CHIPCallbackTypes.h @@ -257,6 +257,8 @@ typedef void (*CHIPBridgedDeviceBasicClusterSerialNumberAttributeCallbackType)( void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::SerialNumber::TypeInfo::DecodableArgType); typedef void (*CHIPBridgedDeviceBasicClusterReachableAttributeCallbackType)( void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::Reachable::TypeInfo::DecodableArgType); +typedef void (*CHIPBridgedDeviceBasicClusterUniqueIDAttributeCallbackType)( + void *, chip::app::Clusters::BridgedDeviceBasic::Attributes::UniqueID::TypeInfo::DecodableArgType); typedef void (*CHIPBridgedDeviceBasicClusterServerGeneratedCommandListAttributeCallbackType)( void *, const chip::app::Clusters::BridgedDeviceBasic::Attributes::ServerGeneratedCommandList::TypeInfo::DecodableType &); typedef void (*CHIPBridgedDeviceBasicClusterClientGeneratedCommandListAttributeCallbackType)( diff --git a/src/controller/java/zap-generated/CHIPClusters-JNI.cpp b/src/controller/java/zap-generated/CHIPClusters-JNI.cpp index d4df29df001454..dbd7907ddbc477 100644 --- a/src/controller/java/zap-generated/CHIPClusters-JNI.cpp +++ b/src/controller/java/zap-generated/CHIPClusters-JNI.cpp @@ -5243,8 +5243,9 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, subscribeVendorIDAttribute) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint minInterval, jint maxInterval) { chip::DeviceLayer::StackLock lock; - std::unique_ptr onSuccess( - Platform::New(callback, true), chip::Platform::Delete); + std::unique_ptr + onSuccess(Platform::New(callback, true), + chip::Platform::Delete); VerifyOrReturn(onSuccess.get() != nullptr, chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException( env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); @@ -5268,7 +5269,7 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, subscribeVendorIDAttribute) err = cppCluster->SubscribeAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall, static_cast(minInterval), static_cast(maxInterval), - CHIPInt16uAttributeCallback::OnSubscriptionEstablished); + CHIPBridgedDeviceBasicVendorIDAttributeCallback::OnSubscriptionEstablished); VerifyOrReturn(err == CHIP_NO_ERROR, chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException( env, callback, "Error subscribing to attribute", err)); @@ -5722,6 +5723,43 @@ JNI_METHOD(void, BridgedDeviceBasicCluster, subscribeReachableAttribute) onSuccess.release(); onFailure.release(); } +JNI_METHOD(void, BridgedDeviceBasicCluster, subscribeUniqueIDAttribute) +(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint minInterval, jint maxInterval) +{ + chip::DeviceLayer::StackLock lock; + std::unique_ptr onSuccess( + Platform::New(callback, true), chip::Platform::Delete); + VerifyOrReturn(onSuccess.get() != nullptr, + chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException( + env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY)); + + std::unique_ptr onFailure( + Platform::New(callback), chip::Platform::Delete); + VerifyOrReturn(onFailure.get() != nullptr, + chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException( + env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY)); + + CHIP_ERROR err = CHIP_NO_ERROR; + BridgedDeviceBasicCluster * cppCluster = reinterpret_cast(clusterPtr); + VerifyOrReturn(cppCluster != nullptr, + chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException( + env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE)); + + using TypeInfo = chip::app::Clusters::BridgedDeviceBasic::Attributes::UniqueID::TypeInfo; + auto successFn = + chip::Callback::Callback::FromCancelable(onSuccess->Cancel()); + auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel()); + + err = cppCluster->SubscribeAttribute(onSuccess->mContext, successFn->mCall, failureFn->mCall, + static_cast(minInterval), static_cast(maxInterval), + CHIPCharStringAttributeCallback::OnSubscriptionEstablished); + VerifyOrReturn(err == CHIP_NO_ERROR, + chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException( + env, callback, "Error subscribing to attribute", err)); + + onSuccess.release(); + onFailure.release(); +} JNI_METHOD(void, BridgedDeviceBasicCluster, subscribeServerGeneratedCommandListAttribute) (JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint minInterval, jint maxInterval) { diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp index 8e8228dcc97cde..76e1202bc49456 100644 --- a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp +++ b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp @@ -4088,6 +4088,65 @@ void CHIPBridgedActionsAttributeListAttributeCallback::CallbackFn( env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj); } +CHIPBridgedDeviceBasicVendorIDAttributeCallback::CHIPBridgedDeviceBasicVendorIDAttributeCallback(jobject javaCallback, + bool keepAlive) : + chip::Callback::Callback(CallbackFn, this), + keepAlive(keepAlive) +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + return; + } + + javaCallbackRef = env->NewGlobalRef(javaCallback); + if (javaCallbackRef == nullptr) + { + ChipLogError(Zcl, "Could not create global reference for Java callback"); + } +} + +CHIPBridgedDeviceBasicVendorIDAttributeCallback::~CHIPBridgedDeviceBasicVendorIDAttributeCallback() +{ + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + if (env == nullptr) + { + ChipLogError(Zcl, "Could not delete global reference for Java callback"); + return; + } + env->DeleteGlobalRef(javaCallbackRef); +} + +void CHIPBridgedDeviceBasicVendorIDAttributeCallback::CallbackFn(void * context, chip::VendorId value) +{ + chip::DeviceLayer::StackUnlock unlock; + CHIP_ERROR err = CHIP_NO_ERROR; + JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread(); + jobject javaCallbackRef; + + VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env")); + std::unique_ptr cppCallback( + reinterpret_cast(context), maybeDestroy); + + // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback. + javaCallbackRef = cppCallback.get()->javaCallbackRef; + VerifyOrReturn(javaCallbackRef != nullptr, + ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null")); + + jmethodID javaMethod; + err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/lang/Integer;)V", &javaMethod); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method")); + + jobject javaValue; + std::string javaValueClassName = "java/lang/Integer"; + std::string javaValueCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject(javaValueClassName.c_str(), javaValueCtorSignature.c_str(), + static_cast(value), javaValue); + + env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue); +} + CHIPBridgedDeviceBasicServerGeneratedCommandListAttributeCallback:: CHIPBridgedDeviceBasicServerGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) : chip::Callback::Callback(CallbackFn, this), diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.h b/src/controller/java/zap-generated/CHIPReadCallbacks.h index 69bd0bc55d1478..b699e744032150 100644 --- a/src/controller/java/zap-generated/CHIPReadCallbacks.h +++ b/src/controller/java/zap-generated/CHIPReadCallbacks.h @@ -1752,6 +1752,36 @@ class CHIPBridgedActionsAttributeListAttributeCallback bool keepAlive; }; +class CHIPBridgedDeviceBasicVendorIDAttributeCallback + : public chip::Callback::Callback +{ +public: + CHIPBridgedDeviceBasicVendorIDAttributeCallback(jobject javaCallback, bool keepAlive = false); + + ~CHIPBridgedDeviceBasicVendorIDAttributeCallback(); + + static void maybeDestroy(CHIPBridgedDeviceBasicVendorIDAttributeCallback * callback) + { + if (!callback->keepAlive) + { + callback->Cancel(); + chip::Platform::Delete(callback); + } + } + + static void CallbackFn(void * context, chip::VendorId value); + static void OnSubscriptionEstablished(void * context) + { + CHIP_ERROR err = chip::JniReferences::GetInstance().CallSubscriptionEstablished( + reinterpret_cast(context)->javaCallbackRef); + VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Error calling onSubscriptionEstablished: %s", ErrorStr(err))); + }; + +private: + jobject javaCallbackRef; + bool keepAlive; +}; + class CHIPBridgedDeviceBasicServerGeneratedCommandListAttributeCallback : public chip::Callback::Callback { diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java index 013c4449b4c54f..f3e243580f4751 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java @@ -2884,6 +2884,14 @@ public BridgedDeviceBasicCluster(long devicePtr, int endpointId) { @Override public native long initWithDevice(long devicePtr, int endpointId); + public interface VendorIDAttributeCallback { + void onSuccess(Integer value); + + void onError(Exception ex); + + default void onSubscriptionEstablished() {} + } + public interface ServerGeneratedCommandListAttributeCallback { void onSuccess(List valueList); @@ -2917,12 +2925,12 @@ public void subscribeVendorNameAttribute( subscribeVendorNameAttribute(chipClusterPtr, callback, minInterval, maxInterval); } - public void readVendorIDAttribute(IntegerAttributeCallback callback) { + public void readVendorIDAttribute(VendorIDAttributeCallback callback) { readVendorIDAttribute(chipClusterPtr, callback); } public void subscribeVendorIDAttribute( - IntegerAttributeCallback callback, int minInterval, int maxInterval) { + VendorIDAttributeCallback callback, int minInterval, int maxInterval) { subscribeVendorIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); } @@ -3043,6 +3051,15 @@ public void subscribeReachableAttribute( subscribeReachableAttribute(chipClusterPtr, callback, minInterval, maxInterval); } + public void readUniqueIDAttribute(CharStringAttributeCallback callback) { + readUniqueIDAttribute(chipClusterPtr, callback); + } + + public void subscribeUniqueIDAttribute( + CharStringAttributeCallback callback, int minInterval, int maxInterval) { + subscribeUniqueIDAttribute(chipClusterPtr, callback, minInterval, maxInterval); + } + public void readServerGeneratedCommandListAttribute( ServerGeneratedCommandListAttributeCallback callback) { readServerGeneratedCommandListAttribute(chipClusterPtr, callback); @@ -3093,10 +3110,10 @@ private native void subscribeVendorNameAttribute( int maxInterval); private native void readVendorIDAttribute( - long chipClusterPtr, IntegerAttributeCallback callback); + long chipClusterPtr, VendorIDAttributeCallback callback); private native void subscribeVendorIDAttribute( - long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval); + long chipClusterPtr, VendorIDAttributeCallback callback, int minInterval, int maxInterval); private native void readProductNameAttribute( long chipClusterPtr, CharStringAttributeCallback callback); @@ -3203,6 +3220,15 @@ private native void readReachableAttribute( private native void subscribeReachableAttribute( long chipClusterPtr, BooleanAttributeCallback callback, int minInterval, int maxInterval); + private native void readUniqueIDAttribute( + long chipClusterPtr, CharStringAttributeCallback callback); + + private native void subscribeUniqueIDAttribute( + long chipClusterPtr, + CharStringAttributeCallback callback, + int minInterval, + int maxInterval); + private native void readServerGeneratedCommandListAttribute( long chipClusterPtr, ServerGeneratedCommandListAttributeCallback callback); diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java index aaf560126eeddf..9b5a7797bb55c7 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java @@ -1416,7 +1416,8 @@ public Map> getReadAttributeMap() { new InteractionInfo( (cluster, callback, commandArguments) -> { ((ChipClusters.BridgedDeviceBasicCluster) cluster) - .readVendorIDAttribute((ChipClusters.IntegerAttributeCallback) callback); + .readVendorIDAttribute( + (ChipClusters.BridgedDeviceBasicCluster.VendorIDAttributeCallback) callback); }, () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(), readBridgedDeviceBasicVendorIDCommandParams); @@ -1574,6 +1575,18 @@ public Map> getReadAttributeMap() { readBridgedDeviceBasicReachableCommandParams); readBridgedDeviceBasicInteractionInfo.put( "readReachableAttribute", readBridgedDeviceBasicReachableAttributeInteractionInfo); + Map readBridgedDeviceBasicUniqueIDCommandParams = + new LinkedHashMap(); + InteractionInfo readBridgedDeviceBasicUniqueIDAttributeInteractionInfo = + new InteractionInfo( + (cluster, callback, commandArguments) -> { + ((ChipClusters.BridgedDeviceBasicCluster) cluster) + .readUniqueIDAttribute((ChipClusters.CharStringAttributeCallback) callback); + }, + () -> new ClusterInfoMapping.DelegatedCharStringAttributeCallback(), + readBridgedDeviceBasicUniqueIDCommandParams); + readBridgedDeviceBasicInteractionInfo.put( + "readUniqueIDAttribute", readBridgedDeviceBasicUniqueIDAttributeInteractionInfo); Map readBridgedDeviceBasicServerGeneratedCommandListCommandParams = new LinkedHashMap(); diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py index dc9031a84771da..a74c5ba5c6fa51 100644 --- a/src/controller/python/chip/clusters/CHIPClusters.py +++ b/src/controller/python/chip/clusters/CHIPClusters.py @@ -1008,6 +1008,12 @@ class ChipClusters: "type": "bool", "reportable": True, }, + 0x00000012: { + "attributeName": "UniqueID", + "attributeId": 0x00000012, + "type": "str", + "reportable": True, + }, 0x0000FFF8: { "attributeName": "ServerGeneratedCommandList", "attributeId": 0x0000FFF8, diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm index 2781b91886a4d3..7968ada961160e 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm @@ -1941,7 +1941,7 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader return nil; } NSNumber * _Nonnull value; - value = [NSNumber numberWithUnsignedShort:cppValue]; + value = [NSNumber numberWithUnsignedShort:chip::to_underlying(cppValue)]; return value; } case Attributes::ProductName::Id: { @@ -2076,6 +2076,17 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader value = [NSNumber numberWithBool:cppValue]; return value; } + case Attributes::UniqueID::Id: { + using TypeInfo = Attributes::UniqueID::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) { + return nil; + } + NSString * _Nonnull value; + value = [[NSString alloc] initWithBytes:cppValue.data() length:cppValue.size() encoding:NSUTF8StringEncoding]; + return value; + } case Attributes::ServerGeneratedCommandList::Id: { using TypeInfo = Attributes::ServerGeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h index 87433e1458d7eb..e1e956644409f2 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h @@ -1061,6 +1061,13 @@ NS_ASSUME_NONNULL_BEGIN subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler; +- (void)readAttributeUniqueIDWithCompletionHandler:(void (^)( + NSString * _Nullable value, NSError * _Nullable error))completionHandler; +- (void)subscribeAttributeUniqueIDWithMinInterval:(uint16_t)minInterval + maxInterval:(uint16_t)maxInterval + subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler + reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler; + - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler; - (void)subscribeAttributeServerGeneratedCommandListWithMinInterval:(uint16_t)minInterval diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm index 839815627f9f1e..9fc050745f77c5 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm @@ -3772,9 +3772,9 @@ new CHIPCharStringAttributeCallbackSubscriptionBridge( - (void)readAttributeVendorIDWithCompletionHandler:(void (^)( NSNumber * _Nullable value, NSError * _Nullable error))completionHandler { - new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) { + new CHIPVendorIdAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) { using TypeInfo = BridgedDeviceBasic::Attributes::VendorID::TypeInfo; - auto successFn = Callback::FromCancelable(success); + auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall); }); @@ -3785,14 +3785,14 @@ - (void)subscribeAttributeVendorIDWithMinInterval:(uint16_t)minInterval subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler { - new CHIPInt16uAttributeCallbackSubscriptionBridge( + new CHIPVendorIdAttributeCallbackSubscriptionBridge( self.callbackQueue, reportHandler, ^(Cancelable * success, Cancelable * failure) { using TypeInfo = BridgedDeviceBasic::Attributes::VendorID::TypeInfo; - auto successFn = Callback::FromCancelable(success); + auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall, - minInterval, maxInterval, CHIPInt16uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished); + minInterval, maxInterval, CHIPVendorIdAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished); }, subscriptionEstablishedHandler); } @@ -4158,6 +4158,34 @@ new CHIPBooleanAttributeCallbackSubscriptionBridge( subscriptionEstablishedHandler); } +- (void)readAttributeUniqueIDWithCompletionHandler:(void (^)( + NSString * _Nullable value, NSError * _Nullable error))completionHandler +{ + new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) { + using TypeInfo = BridgedDeviceBasic::Attributes::UniqueID::TypeInfo; + auto successFn = Callback::FromCancelable(success); + auto failureFn = Callback::FromCancelable(failure); + return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall); + }); +} + +- (void)subscribeAttributeUniqueIDWithMinInterval:(uint16_t)minInterval + maxInterval:(uint16_t)maxInterval + subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler + reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler +{ + new CHIPCharStringAttributeCallbackSubscriptionBridge( + self.callbackQueue, reportHandler, + ^(Cancelable * success, Cancelable * failure) { + using TypeInfo = BridgedDeviceBasic::Attributes::UniqueID::TypeInfo; + auto successFn = Callback::FromCancelable(success); + auto failureFn = Callback::FromCancelable(failure); + return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall, + minInterval, maxInterval, CHIPCharStringAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished); + }, + subscriptionEstablishedHandler); +} + - (void)readAttributeServerGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler { diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h index 6e12ac61c5e2f3..5f00b8e9c92da3 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h @@ -265,6 +265,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)writeAttributeProductLabelWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; - (void)writeAttributeSerialNumberWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; - (void)writeAttributeReachableWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; +- (void)writeAttributeUniqueIDWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; - (void)writeAttributeServerGeneratedCommandListWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler; - (void)writeAttributeClientGeneratedCommandListWithValue:(NSArray * _Nonnull)value diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm index 791ddf386ae136..3584676093b5ad 100644 --- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm @@ -2705,7 +2705,7 @@ new CHIPDefaultSuccessCallbackBridge( ListFreer listFreer; using TypeInfo = BridgedDeviceBasic::Attributes::VendorID::TypeInfo; TypeInfo::Type cppValue; - cppValue = value.unsignedShortValue; + cppValue = static_cast>(value.unsignedShortValue); auto successFn = Callback::FromCancelable(success); auto failureFn = Callback::FromCancelable(failure); return self.cppCluster.WriteAttribute(cppValue, successFn->mContext, successFn->mCall, failureFn->mCall); @@ -2912,6 +2912,24 @@ new CHIPDefaultSuccessCallbackBridge( }); } +- (void)writeAttributeUniqueIDWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler +{ + new CHIPDefaultSuccessCallbackBridge( + self.callbackQueue, + ^(id _Nullable ignored, NSError * _Nullable error) { + completionHandler(error); + }, + ^(Cancelable * success, Cancelable * failure) { + ListFreer listFreer; + using TypeInfo = BridgedDeviceBasic::Attributes::UniqueID::TypeInfo; + TypeInfo::Type cppValue; + cppValue = [self asCharSpan:value]; + auto successFn = Callback::FromCancelable(success); + auto failureFn = Callback::FromCancelable(failure); + return self.cppCluster.WriteAttribute(cppValue, successFn->mContext, successFn->mCall, failureFn->mCall); + }); +} + - (void)writeAttributeServerGeneratedCommandListWithValue:(NSArray * _Nonnull)value completionHandler:(StatusCompletion)completionHandler { diff --git a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m index d22c9944803ec2..77f626902c47e9 100644 --- a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m +++ b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m @@ -44440,6 +44440,31 @@ - (void)testSendClusterBridgedDeviceBasicReadAttributeReachableWithCompletionHan [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; } +- (void)testSendClusterBridgedDeviceBasicReadAttributeUniqueIDWithCompletionHandler +{ + dispatch_queue_t queue = dispatch_get_main_queue(); + + XCTestExpectation * connectedExpectation = + [self expectationWithDescription:@"Wait for the commissioned device to be retrieved"]; + WaitForCommissionee(connectedExpectation, queue); + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; + + CHIPDevice * device = GetConnectedDevice(); + CHIPBridgedDeviceBasic * cluster = [[CHIPBridgedDeviceBasic alloc] initWithDevice:device endpoint:1 queue:queue]; + XCTAssertNotNil(cluster); + + XCTestExpectation * expectation = + [self expectationWithDescription:@"BridgedDeviceBasicReadAttributeUniqueIDWithCompletionHandler"]; + + [cluster readAttributeUniqueIDWithCompletionHandler:^(NSString * _Nullable value, NSError * _Nullable err) { + NSLog(@"BridgedDeviceBasic UniqueID Error: %@", err); + XCTAssertEqual(err.code, 0); + [expectation fulfill]; + }]; + + [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil]; +} + - (void)testSendClusterBridgedDeviceBasicReadAttributeServerGeneratedCommandListWithCompletionHandler { dispatch_queue_t queue = dispatch_get_main_queue(); diff --git a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h index 7e4879da4d01c6..27d4b11ec04e2c 100644 --- a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h +++ b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h @@ -310,21 +310,16 @@ 0x00, 0x00, 0x00, 0x00, \ \ /* 665 - FeatureMap, */ \ - 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 1, Cluster: Bridged Device Basic (server), big-endian */ \ - \ - /* 669 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Switch (server), big-endian */ \ \ - /* 673 - FeatureMap, */ \ + /* 669 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), big-endian */ \ \ - /* 677 - label list, */ \ + /* 673 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -342,58 +337,58 @@ \ /* Endpoint: 1, Cluster: Mode Select (server), big-endian */ \ \ - /* 931 - Description, */ \ + /* 927 - Description, */ \ 6, 'C', 'o', 'f', 'f', 'e', 'e', \ \ /* Endpoint: 1, Cluster: Door Lock (server), big-endian */ \ \ - /* 938 - DoorOpenEvents, */ \ + /* 934 - DoorOpenEvents, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 942 - DoorClosedEvents, */ \ + /* 938 - DoorClosedEvents, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 946 - Language, */ \ + /* 942 - Language, */ \ 2, 'e', 'n', \ \ - /* 949 - AutoRelockTime, */ \ + /* 945 - AutoRelockTime, */ \ 0x00, 0x00, 0x00, 0x60, \ \ - /* 953 - FeatureMap, */ \ + /* 949 - FeatureMap, */ \ 0x00, 0x00, 0x01, 0x03, \ \ /* Endpoint: 1, Cluster: Window Covering (server), big-endian */ \ \ - /* 957 - FeatureMap, */ \ + /* 953 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Pump Configuration and Control (server), big-endian */ \ \ - /* 961 - LifetimeRunningHours, */ \ + /* 957 - LifetimeRunningHours, */ \ 0x00, 0x00, 0x00, \ \ - /* 964 - Power, */ \ + /* 960 - Power, */ \ 0x00, 0x00, 0x00, \ \ - /* 967 - LifetimeEnergyConsumed, */ \ + /* 963 - LifetimeEnergyConsumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 971 - FeatureMap, */ \ + /* 967 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Thermostat (server), big-endian */ \ \ - /* 975 - FeatureMap, */ \ + /* 971 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x0B, \ \ /* Endpoint: 1, Cluster: IAS Zone (server), big-endian */ \ \ - /* 979 - IAS CIE address, */ \ + /* 975 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Channel (server), big-endian */ \ \ - /* 987 - channel list, */ \ + /* 983 - channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -411,7 +406,7 @@ \ /* Endpoint: 1, Cluster: Target Navigator (server), big-endian */ \ \ - /* 1241 - target navigator list, */ \ + /* 1237 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -429,24 +424,24 @@ \ /* Endpoint: 1, Cluster: Media Playback (server), big-endian */ \ \ - /* 1495 - start time, */ \ + /* 1491 - start time, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \ \ - /* 1503 - duration, */ \ + /* 1499 - duration, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1511 - playback speed, */ \ + /* 1507 - playback speed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1515 - seek range end, */ \ + /* 1511 - seek range end, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1523 - seek range start, */ \ + /* 1519 - seek range start, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Media Input (server), big-endian */ \ \ - /* 1531 - media input list, */ \ + /* 1527 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -464,7 +459,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), big-endian */ \ \ - /* 1785 - accept header list, */ \ + /* 1781 - accept header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -480,12 +475,12 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2039 - supported streaming protocols, */ \ + /* 2035 - supported streaming protocols, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Audio Output (server), big-endian */ \ \ - /* 2043 - audio output list, */ \ + /* 2039 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -503,7 +498,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), big-endian */ \ \ - /* 2297 - application launcher list, */ \ + /* 2293 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -521,67 +516,67 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), big-endian */ \ \ - /* 2551 - allowed vendor list, */ \ + /* 2547 - allowed vendor list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), big-endian */ \ \ - /* 2583 - bitmap32, */ \ + /* 2579 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2587 - bitmap64, */ \ + /* 2583 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2595 - int24u, */ \ + /* 2591 - int24u, */ \ 0x00, 0x00, 0x00, \ \ - /* 2598 - int32u, */ \ + /* 2594 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2602 - int40u, */ \ + /* 2598 - int40u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2607 - int48u, */ \ + /* 2603 - int48u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2613 - int56u, */ \ + /* 2609 - int56u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - int64u, */ \ + /* 2616 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - int24s, */ \ + /* 2624 - int24s, */ \ 0x00, 0x00, 0x00, \ \ - /* 2631 - int32s, */ \ + /* 2627 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2635 - int40s, */ \ + /* 2631 - int40s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2640 - int48s, */ \ + /* 2636 - int48s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2646 - int56s, */ \ + /* 2642 - int56s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2653 - int64s, */ \ + /* 2649 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2661 - float_single, */ \ + /* 2657 - float_single, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2665 - float_double, */ \ + /* 2661 - float_double, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2673 - epoch_us, */ \ + /* 2669 - epoch_us, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2681 - epoch_s, */ \ + /* 2677 - epoch_s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2685 - list_long_octet_string, */ \ + /* 2681 - list_long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -636,65 +631,65 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3685 - nullable_bitmap32, */ \ + /* 3681 - nullable_bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3689 - nullable_bitmap64, */ \ + /* 3685 - nullable_bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3697 - nullable_int24u, */ \ + /* 3693 - nullable_int24u, */ \ 0x00, 0x00, 0x00, \ \ - /* 3700 - nullable_int32u, */ \ + /* 3696 - nullable_int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3704 - nullable_int40u, */ \ + /* 3700 - nullable_int40u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3709 - nullable_int48u, */ \ + /* 3705 - nullable_int48u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3715 - nullable_int56u, */ \ + /* 3711 - nullable_int56u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3722 - nullable_int64u, */ \ + /* 3718 - nullable_int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3730 - nullable_int24s, */ \ + /* 3726 - nullable_int24s, */ \ 0x00, 0x00, 0x00, \ \ - /* 3733 - nullable_int32s, */ \ + /* 3729 - nullable_int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3737 - nullable_int40s, */ \ + /* 3733 - nullable_int40s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3742 - nullable_int48s, */ \ + /* 3738 - nullable_int48s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3748 - nullable_int56s, */ \ + /* 3744 - nullable_int56s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3755 - nullable_int64s, */ \ + /* 3751 - nullable_int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3763 - nullable_float_single, */ \ + /* 3759 - nullable_float_single, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3767 - nullable_float_double, */ \ + /* 3763 - nullable_float_double, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Electrical Measurement (server), big-endian */ \ \ - /* 3775 - measurement type, */ \ + /* 3771 - measurement type, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3779 - total active power, */ \ + /* 3775 - total active power, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 2, Cluster: On/Off (server), big-endian */ \ \ - /* 3783 - FeatureMap, */ \ + /* 3779 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ } @@ -985,21 +980,16 @@ 0x00, 0x00, 0x00, 0x00, \ \ /* 665 - FeatureMap, */ \ - 0x00, 0x00, 0x00, 0x00, \ - \ - /* Endpoint: 1, Cluster: Bridged Device Basic (server), little-endian */ \ - \ - /* 669 - SoftwareVersion, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Switch (server), little-endian */ \ \ - /* 673 - FeatureMap, */ \ + /* 669 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Fixed Label (server), little-endian */ \ \ - /* 677 - label list, */ \ + /* 673 - label list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1017,58 +1007,58 @@ \ /* Endpoint: 1, Cluster: Mode Select (server), little-endian */ \ \ - /* 931 - Description, */ \ + /* 927 - Description, */ \ 6, 'C', 'o', 'f', 'f', 'e', 'e', \ \ /* Endpoint: 1, Cluster: Door Lock (server), little-endian */ \ \ - /* 938 - DoorOpenEvents, */ \ + /* 934 - DoorOpenEvents, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 942 - DoorClosedEvents, */ \ + /* 938 - DoorClosedEvents, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 946 - Language, */ \ + /* 942 - Language, */ \ 2, 'e', 'n', \ \ - /* 949 - AutoRelockTime, */ \ + /* 945 - AutoRelockTime, */ \ 0x60, 0x00, 0x00, 0x00, \ \ - /* 953 - FeatureMap, */ \ + /* 949 - FeatureMap, */ \ 0x03, 0x01, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Window Covering (server), little-endian */ \ \ - /* 957 - FeatureMap, */ \ + /* 953 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Pump Configuration and Control (server), little-endian */ \ \ - /* 961 - LifetimeRunningHours, */ \ + /* 957 - LifetimeRunningHours, */ \ 0x00, 0x00, 0x00, \ \ - /* 964 - Power, */ \ + /* 960 - Power, */ \ 0x00, 0x00, 0x00, \ \ - /* 967 - LifetimeEnergyConsumed, */ \ + /* 963 - LifetimeEnergyConsumed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 971 - FeatureMap, */ \ + /* 967 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Thermostat (server), little-endian */ \ \ - /* 975 - FeatureMap, */ \ + /* 971 - FeatureMap, */ \ 0x0B, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: IAS Zone (server), little-endian */ \ \ - /* 979 - IAS CIE address, */ \ + /* 975 - IAS CIE address, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Channel (server), little-endian */ \ \ - /* 987 - channel list, */ \ + /* 983 - channel list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1086,7 +1076,7 @@ \ /* Endpoint: 1, Cluster: Target Navigator (server), little-endian */ \ \ - /* 1241 - target navigator list, */ \ + /* 1237 - target navigator list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1104,24 +1094,24 @@ \ /* Endpoint: 1, Cluster: Media Playback (server), little-endian */ \ \ - /* 1495 - start time, */ \ + /* 1491 - start time, */ \ 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1503 - duration, */ \ + /* 1499 - duration, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1511 - playback speed, */ \ + /* 1507 - playback speed, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 1515 - seek range end, */ \ + /* 1511 - seek range end, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 1523 - seek range start, */ \ + /* 1519 - seek range start, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Media Input (server), little-endian */ \ \ - /* 1531 - media input list, */ \ + /* 1527 - media input list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1139,7 +1129,7 @@ \ /* Endpoint: 1, Cluster: Content Launcher (server), little-endian */ \ \ - /* 1785 - accept header list, */ \ + /* 1781 - accept header list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1155,12 +1145,12 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2039 - supported streaming protocols, */ \ + /* 2035 - supported streaming protocols, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Audio Output (server), little-endian */ \ \ - /* 2043 - audio output list, */ \ + /* 2039 - audio output list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1178,7 +1168,7 @@ \ /* Endpoint: 1, Cluster: Application Launcher (server), little-endian */ \ \ - /* 2297 - application launcher list, */ \ + /* 2293 - application launcher list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1196,67 +1186,67 @@ \ /* Endpoint: 1, Cluster: Application Basic (server), little-endian */ \ \ - /* 2551 - allowed vendor list, */ \ + /* 2547 - allowed vendor list, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Test Cluster (server), little-endian */ \ \ - /* 2583 - bitmap32, */ \ + /* 2579 - bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2587 - bitmap64, */ \ + /* 2583 - bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2595 - int24u, */ \ + /* 2591 - int24u, */ \ 0x00, 0x00, 0x00, \ \ - /* 2598 - int32u, */ \ + /* 2594 - int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2602 - int40u, */ \ + /* 2598 - int40u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2607 - int48u, */ \ + /* 2603 - int48u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2613 - int56u, */ \ + /* 2609 - int56u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2620 - int64u, */ \ + /* 2616 - int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2628 - int24s, */ \ + /* 2624 - int24s, */ \ 0x00, 0x00, 0x00, \ \ - /* 2631 - int32s, */ \ + /* 2627 - int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2635 - int40s, */ \ + /* 2631 - int40s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2640 - int48s, */ \ + /* 2636 - int48s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2646 - int56s, */ \ + /* 2642 - int56s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2653 - int64s, */ \ + /* 2649 - int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2661 - float_single, */ \ + /* 2657 - float_single, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2665 - float_double, */ \ + /* 2661 - float_double, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2673 - epoch_us, */ \ + /* 2669 - epoch_us, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 2681 - epoch_s, */ \ + /* 2677 - epoch_s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 2685 - list_long_octet_string, */ \ + /* 2681 - list_long_octet_string, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ @@ -1311,71 +1301,71 @@ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3685 - nullable_bitmap32, */ \ + /* 3681 - nullable_bitmap32, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3689 - nullable_bitmap64, */ \ + /* 3685 - nullable_bitmap64, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3697 - nullable_int24u, */ \ + /* 3693 - nullable_int24u, */ \ 0x00, 0x00, 0x00, \ \ - /* 3700 - nullable_int32u, */ \ + /* 3696 - nullable_int32u, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3704 - nullable_int40u, */ \ + /* 3700 - nullable_int40u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3709 - nullable_int48u, */ \ + /* 3705 - nullable_int48u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3715 - nullable_int56u, */ \ + /* 3711 - nullable_int56u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3722 - nullable_int64u, */ \ + /* 3718 - nullable_int64u, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3730 - nullable_int24s, */ \ + /* 3726 - nullable_int24s, */ \ 0x00, 0x00, 0x00, \ \ - /* 3733 - nullable_int32s, */ \ + /* 3729 - nullable_int32s, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3737 - nullable_int40s, */ \ + /* 3733 - nullable_int40s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3742 - nullable_int48s, */ \ + /* 3738 - nullable_int48s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3748 - nullable_int56s, */ \ + /* 3744 - nullable_int56s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3755 - nullable_int64s, */ \ + /* 3751 - nullable_int64s, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ - /* 3763 - nullable_float_single, */ \ + /* 3759 - nullable_float_single, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3767 - nullable_float_double, */ \ + /* 3763 - nullable_float_double, */ \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 1, Cluster: Electrical Measurement (server), little-endian */ \ \ - /* 3775 - measurement type, */ \ + /* 3771 - measurement type, */ \ 0x00, 0x00, 0x00, 0x00, \ \ - /* 3779 - total active power, */ \ + /* 3775 - total active power, */ \ 0x00, 0x00, 0x00, 0x00, \ \ /* Endpoint: 2, Cluster: On/Off (server), little-endian */ \ \ - /* 3783 - FeatureMap, */ \ + /* 3779 - FeatureMap, */ \ 0x00, 0x00, 0x00, 0x00, \ } #endif // BIGENDIAN_CPU -#define GENERATED_DEFAULTS_COUNT (149) +#define GENERATED_DEFAULTS_COUNT (148) #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE #define ZAP_LONG_DEFAULTS_INDEX(index) \ @@ -1874,36 +1864,39 @@ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - { 0x00000001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorName */ \ - { 0x00000002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x00000003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \ - { 0x00000005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \ - { 0x00000007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \ - { 0x00000008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ + { 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorName */ \ + { 0x00000002, ZAP_TYPE(VENDOR_ID), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x00000003, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \ + { 0x00000005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \ + { 0x00000007, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */ \ + { 0x00000008, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* HardwareVersionString */ \ - { 0x00000009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_LONG_DEFAULTS_INDEX(669) }, /* SoftwareVersion */ \ - { 0x0000000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \ + { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */ \ + { 0x0000000A, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* SoftwareVersionString */ \ - { 0x0000000B, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */ \ - { 0x0000000C, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \ - { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 258, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductURL */ \ - { 0x0000000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \ - { 0x0000000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \ - { 0x00000011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ - { 0x00000012, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000000B, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */ \ + { 0x0000000C, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \ + { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* ProductURL */ \ + { 0x0000000E, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \ + { 0x0000000F, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \ + { 0x00000011, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ + { 0x00000012, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Switch (server) */ \ { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* number of positions */ \ { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* current position */ \ { 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* multi press max */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(673) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(669) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(677) }, /* label list */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(673) }, /* label list */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: User Label (server) */ \ @@ -1920,7 +1913,7 @@ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedModes */ \ { 0x00000002, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* OnMode */ \ { 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* StartUpMode */ \ - { 0x00000004, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(931) }, /* Description */ \ + { 0x00000004, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_LONG_DEFAULTS_INDEX(927) }, /* Description */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Door Lock (server) */ \ @@ -1928,9 +1921,9 @@ { 0x00000001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LockType */ \ { 0x00000002, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* ActuatorEnabled */ \ { 0x00000003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* DoorState */ \ - { 0x00000004, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(938) }, /* DoorOpenEvents */ \ + { 0x00000004, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(934) }, /* DoorOpenEvents */ \ { 0x00000005, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(942) }, /* DoorClosedEvents */ \ + ZAP_LONG_DEFAULTS_INDEX(938) }, /* DoorClosedEvents */ \ { 0x00000006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* OpenPeriod */ \ { 0x00000011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(10) }, /* NumberOfTotalUsersSupported */ \ { 0x00000012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(10) }, /* NumberOfPINUsersSupported */ \ @@ -1943,8 +1936,8 @@ { 0x00000019, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(20) }, /* MaxRFIDCodeLength */ \ { 0x0000001A, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(10) }, /* MinRFIDCodeLength */ \ { 0x0000001B, ZAP_TYPE(BITMAP8), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* CredentialRulesSupport */ \ - { 0x00000021, ZAP_TYPE(CHAR_STRING), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(946) }, /* Language */ \ - { 0x00000023, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(949) }, /* AutoRelockTime */ \ + { 0x00000021, ZAP_TYPE(CHAR_STRING), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(942) }, /* Language */ \ + { 0x00000023, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(945) }, /* AutoRelockTime */ \ { 0x00000024, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(6) }, /* SoundVolume */ \ { 0x00000025, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ @@ -1962,7 +1955,7 @@ ZAP_MIN_MAX_DEFAULTS_INDEX(9) }, /* UserCodeTemporaryDisableTime */ \ { 0x00000033, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* RequirePINforRemoteOperation */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(953) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(949) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Window Covering (server) */ \ @@ -1998,7 +1991,7 @@ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(10) }, /* Mode */ \ { 0x0000001A, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* SafetyStatus */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(957) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(953) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Barrier Control (server) */ \ @@ -2028,16 +2021,16 @@ { 0x00000013, ZAP_TYPE(INT16S), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Capacity */ \ { 0x00000014, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* Speed */ \ { 0x00000015, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(961) }, /* LifetimeRunningHours */ \ - { 0x00000016, ZAP_TYPE(INT24U), 3, 0, ZAP_LONG_DEFAULTS_INDEX(964) }, /* Power */ \ + ZAP_LONG_DEFAULTS_INDEX(957) }, /* LifetimeRunningHours */ \ + { 0x00000016, ZAP_TYPE(INT24U), 3, 0, ZAP_LONG_DEFAULTS_INDEX(960) }, /* Power */ \ { 0x00000017, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(967) }, /* LifetimeEnergyConsumed */ \ + ZAP_LONG_DEFAULTS_INDEX(963) }, /* LifetimeEnergyConsumed */ \ { 0x00000020, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(11) }, /* OperationMode */ \ { 0x00000021, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(12) }, /* ControlMode */ \ { 0x00000022, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* AlarmMask */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(971) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(967) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Thermostat (server) */ \ @@ -2067,7 +2060,7 @@ { 0x00000020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* start of week */ \ { 0x00000021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* number of weekly transitions */ \ { 0x00000022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* number of daily transitions */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(975) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(971) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \ @@ -2190,7 +2183,7 @@ { 0x00000001, ZAP_TYPE(ENUM16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* zone type */ \ { 0x00000002, ZAP_TYPE(BITMAP16), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* zone status */ \ { 0x00000010, ZAP_TYPE(NODE_ID), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(979) }, /* IAS CIE address */ \ + ZAP_LONG_DEFAULTS_INDEX(975) }, /* IAS CIE address */ \ { 0x00000011, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xff) }, /* Zone ID */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \ \ @@ -2199,25 +2192,25 @@ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Channel (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(987) }, /* channel list */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(983) }, /* channel list */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Target Navigator (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1241) }, /* target navigator list */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1237) }, /* target navigator list */ \ { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current navigator target */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Playback (server) */ \ { 0x00000000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* playback state */ \ - { 0x00000001, ZAP_TYPE(EPOCH_US), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1495) }, /* start time */ \ - { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1503) }, /* duration */ \ - { 0x00000004, ZAP_TYPE(SINGLE), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* playback speed */ \ - { 0x00000005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1515) }, /* seek range end */ \ - { 0x00000006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1523) }, /* seek range start */ \ + { 0x00000001, ZAP_TYPE(EPOCH_US), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1491) }, /* start time */ \ + { 0x00000002, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1499) }, /* duration */ \ + { 0x00000004, ZAP_TYPE(SINGLE), 4, 0, ZAP_LONG_DEFAULTS_INDEX(1507) }, /* playback speed */ \ + { 0x00000005, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1511) }, /* seek range end */ \ + { 0x00000006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(1519) }, /* seek range start */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Media Input (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1531) }, /* media input list */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1527) }, /* media input list */ \ { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current media input */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ @@ -2228,18 +2221,18 @@ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Content Launcher (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1785) }, /* accept header list */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(1781) }, /* accept header list */ \ { 0x00000001, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_LONG_DEFAULTS_INDEX(2039) }, /* supported streaming protocols */ \ + ZAP_LONG_DEFAULTS_INDEX(2035) }, /* supported streaming protocols */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Audio Output (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2043) }, /* audio output list */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2039) }, /* audio output list */ \ { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current audio output */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Launcher (server) */ \ - { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2297) }, /* application launcher list */ \ + { 0x00000000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(2293) }, /* application launcher list */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Application Basic (server) */ \ @@ -2249,7 +2242,7 @@ { 0x00000003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \ { 0x00000005, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* application status */ \ { 0x00000006, ZAP_TYPE(CHAR_STRING), 33, 0, ZAP_EMPTY_DEFAULT() }, /* application version */ \ - { 0x00000007, ZAP_TYPE(ARRAY), 32, 0, ZAP_LONG_DEFAULTS_INDEX(2551) }, /* allowed vendor list */ \ + { 0x00000007, ZAP_TYPE(ARRAY), 32, 0, ZAP_LONG_DEFAULTS_INDEX(2547) }, /* allowed vendor list */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Account Login (server) */ \ @@ -2259,28 +2252,28 @@ { 0x00000000, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(false) }, /* boolean */ \ { 0x00000001, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap8 */ \ { 0x00000002, ZAP_TYPE(BITMAP16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap16 */ \ - { 0x00000003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2583) }, /* bitmap32 */ \ - { 0x00000004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2587) }, /* bitmap64 */ \ + { 0x00000003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2579) }, /* bitmap32 */ \ + { 0x00000004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2583) }, /* bitmap64 */ \ { 0x00000005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8u */ \ { 0x00000006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16u */ \ - { 0x00000007, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2595) }, /* int24u */ \ - { 0x00000008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2598) }, /* int32u */ \ - { 0x00000009, ZAP_TYPE(INT40U), 5, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2602) }, /* int40u */ \ - { 0x0000000A, ZAP_TYPE(INT48U), 6, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2607) }, /* int48u */ \ - { 0x0000000B, ZAP_TYPE(INT56U), 7, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2613) }, /* int56u */ \ - { 0x0000000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2620) }, /* int64u */ \ + { 0x00000007, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2591) }, /* int24u */ \ + { 0x00000008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2594) }, /* int32u */ \ + { 0x00000009, ZAP_TYPE(INT40U), 5, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2598) }, /* int40u */ \ + { 0x0000000A, ZAP_TYPE(INT48U), 6, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2603) }, /* int48u */ \ + { 0x0000000B, ZAP_TYPE(INT56U), 7, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2609) }, /* int56u */ \ + { 0x0000000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2616) }, /* int64u */ \ { 0x0000000D, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8s */ \ { 0x0000000E, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16s */ \ - { 0x0000000F, ZAP_TYPE(INT24S), 3, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2628) }, /* int24s */ \ - { 0x00000010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2631) }, /* int32s */ \ - { 0x00000011, ZAP_TYPE(INT40S), 5, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2635) }, /* int40s */ \ - { 0x00000012, ZAP_TYPE(INT48S), 6, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2640) }, /* int48s */ \ - { 0x00000013, ZAP_TYPE(INT56S), 7, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2646) }, /* int56s */ \ - { 0x00000014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2653) }, /* int64s */ \ + { 0x0000000F, ZAP_TYPE(INT24S), 3, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2624) }, /* int24s */ \ + { 0x00000010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2627) }, /* int32s */ \ + { 0x00000011, ZAP_TYPE(INT40S), 5, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2631) }, /* int40s */ \ + { 0x00000012, ZAP_TYPE(INT48S), 6, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2636) }, /* int48s */ \ + { 0x00000013, ZAP_TYPE(INT56S), 7, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2642) }, /* int56s */ \ + { 0x00000014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2649) }, /* int64s */ \ { 0x00000015, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum8 */ \ { 0x00000016, ZAP_TYPE(ENUM16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum16 */ \ - { 0x00000017, ZAP_TYPE(SINGLE), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2661) }, /* float_single */ \ - { 0x00000018, ZAP_TYPE(DOUBLE), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2665) }, /* float_double */ \ + { 0x00000017, ZAP_TYPE(SINGLE), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2657) }, /* float_single */ \ + { 0x00000018, ZAP_TYPE(DOUBLE), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2661) }, /* float_double */ \ { 0x00000019, ZAP_TYPE(OCTET_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* octet_string */ \ { 0x0000001A, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_EMPTY_DEFAULT() }, /* list_int8u */ \ @@ -2293,8 +2286,8 @@ { 0x0000001E, ZAP_TYPE(CHAR_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* char_string */ \ { 0x0000001F, ZAP_TYPE(LONG_CHAR_STRING), 1002, ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_EMPTY_DEFAULT() }, /* long_char_string */ \ - { 0x00000020, ZAP_TYPE(EPOCH_US), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2673) }, /* epoch_us */ \ - { 0x00000021, ZAP_TYPE(EPOCH_S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2681) }, /* epoch_s */ \ + { 0x00000020, ZAP_TYPE(EPOCH_US), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2669) }, /* epoch_us */ \ + { 0x00000021, ZAP_TYPE(EPOCH_S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(2677) }, /* epoch_s */ \ { 0x00000022, ZAP_TYPE(VENDOR_ID), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* vendor_id */ \ { 0x00000023, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_EMPTY_DEFAULT() }, /* list_nullables_and_optionals_struct */ \ @@ -2309,7 +2302,7 @@ ZAP_MIN_MAX_DEFAULTS_INDEX(34) }, /* range_restricted_int16u */ \ { 0x00000029, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(35) }, /* range_restricted_int16s */ \ - { 0x0000002A, ZAP_TYPE(ARRAY), 1000, 0, ZAP_LONG_DEFAULTS_INDEX(2685) }, /* list_long_octet_string */ \ + { 0x0000002A, ZAP_TYPE(ARRAY), 1000, 0, ZAP_LONG_DEFAULTS_INDEX(2681) }, /* list_long_octet_string */ \ { 0x0000002B, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* list_fabric_scoped */ \ { 0x00000030, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(MUST_USE_TIMED_WRITE), \ @@ -2325,49 +2318,49 @@ { 0x00008002, ZAP_TYPE(BITMAP16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* nullable_bitmap16 */ \ { 0x00008003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3685) }, /* nullable_bitmap32 */ \ + ZAP_LONG_DEFAULTS_INDEX(3681) }, /* nullable_bitmap32 */ \ { 0x00008004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3689) }, /* nullable_bitmap64 */ \ + ZAP_LONG_DEFAULTS_INDEX(3685) }, /* nullable_bitmap64 */ \ { 0x00008005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* nullable_int8u */ \ { 0x00008006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* nullable_int16u */ \ { 0x00008007, ZAP_TYPE(INT24U), 3, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3697) }, /* nullable_int24u */ \ + ZAP_LONG_DEFAULTS_INDEX(3693) }, /* nullable_int24u */ \ { 0x00008008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3700) }, /* nullable_int32u */ \ + ZAP_LONG_DEFAULTS_INDEX(3696) }, /* nullable_int32u */ \ { 0x00008009, ZAP_TYPE(INT40U), 5, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3704) }, /* nullable_int40u */ \ + ZAP_LONG_DEFAULTS_INDEX(3700) }, /* nullable_int40u */ \ { 0x0000800A, ZAP_TYPE(INT48U), 6, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3709) }, /* nullable_int48u */ \ + ZAP_LONG_DEFAULTS_INDEX(3705) }, /* nullable_int48u */ \ { 0x0000800B, ZAP_TYPE(INT56U), 7, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3715) }, /* nullable_int56u */ \ + ZAP_LONG_DEFAULTS_INDEX(3711) }, /* nullable_int56u */ \ { 0x0000800C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3722) }, /* nullable_int64u */ \ + ZAP_LONG_DEFAULTS_INDEX(3718) }, /* nullable_int64u */ \ { 0x0000800D, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* nullable_int8s */ \ { 0x0000800E, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* nullable_int16s */ \ { 0x0000800F, ZAP_TYPE(INT24S), 3, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3730) }, /* nullable_int24s */ \ + ZAP_LONG_DEFAULTS_INDEX(3726) }, /* nullable_int24s */ \ { 0x00008010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3733) }, /* nullable_int32s */ \ + ZAP_LONG_DEFAULTS_INDEX(3729) }, /* nullable_int32s */ \ { 0x00008011, ZAP_TYPE(INT40S), 5, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3737) }, /* nullable_int40s */ \ + ZAP_LONG_DEFAULTS_INDEX(3733) }, /* nullable_int40s */ \ { 0x00008012, ZAP_TYPE(INT48S), 6, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3742) }, /* nullable_int48s */ \ + ZAP_LONG_DEFAULTS_INDEX(3738) }, /* nullable_int48s */ \ { 0x00008013, ZAP_TYPE(INT56S), 7, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3748) }, /* nullable_int56s */ \ + ZAP_LONG_DEFAULTS_INDEX(3744) }, /* nullable_int56s */ \ { 0x00008014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3755) }, /* nullable_int64s */ \ + ZAP_LONG_DEFAULTS_INDEX(3751) }, /* nullable_int64s */ \ { 0x00008015, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* nullable_enum8 */ \ { 0x00008016, ZAP_TYPE(ENUM16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_SIMPLE_DEFAULT(0) }, /* nullable_enum16 */ \ { 0x00008017, ZAP_TYPE(SINGLE), 4, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3763) }, /* nullable_float_single */ \ + ZAP_LONG_DEFAULTS_INDEX(3759) }, /* nullable_float_single */ \ { 0x00008018, ZAP_TYPE(DOUBLE), 8, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ - ZAP_LONG_DEFAULTS_INDEX(3767) }, /* nullable_float_double */ \ + ZAP_LONG_DEFAULTS_INDEX(3763) }, /* nullable_float_double */ \ { 0x00008019, ZAP_TYPE(OCTET_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ ZAP_EMPTY_DEFAULT() }, /* nullable_octet_string */ \ { 0x0000801E, ZAP_TYPE(CHAR_STRING), 11, ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \ @@ -2392,8 +2385,8 @@ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Electrical Measurement (server) */ \ - { 0x00000000, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3775) }, /* measurement type */ \ - { 0x00000304, ZAP_TYPE(INT32S), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3779) }, /* total active power */ \ + { 0x00000000, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3771) }, /* measurement type */ \ + { 0x00000304, ZAP_TYPE(INT32S), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3775) }, /* total active power */ \ { 0x00000505, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xffff) }, /* rms voltage */ \ { 0x00000506, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* rms voltage min */ \ { 0x00000507, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x8000) }, /* rms voltage max */ \ @@ -2415,7 +2408,7 @@ { 0x00004001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* OnTime */ \ { 0x00004002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* OffWaitTime */ \ { 0x00004003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3783) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(3779) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \ \ /* Endpoint: 2, Cluster: Descriptor (server) */ \ @@ -3298,7 +3291,7 @@ .clusterId = 0x00000039, \ .attributes = ZAP_ATTRIBUTE_INDEX(270), \ .attributeCount = 16, \ - .clusterSize = 679, \ + .clusterSize = 36, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ .clientGeneratedCommandList = nullptr ,\ @@ -3722,17 +3715,17 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 26, 866 }, { ZAP_CLUSTER_INDEX(26), 46, 6876 }, { ZAP_CLUSTER_INDEX(72), 4, 21 }, \ + { ZAP_CLUSTER_INDEX(0), 26, 866 }, { ZAP_CLUSTER_INDEX(26), 46, 6233 }, { ZAP_CLUSTER_INDEX(72), 4, 21 }, \ } // Largest attribute size is needed for various buffers #define ATTRIBUTE_LARGEST (1003) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (718) +#define ATTRIBUTE_SINGLETONS_SIZE (39) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (7763) +#define ATTRIBUTE_MAX_SIZE (7120) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3) diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp index 0a636dcf8c365e..e31830e942d9fd 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp @@ -11455,9 +11455,9 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value) namespace VendorID { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) +EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; Traits::StorageType temp; uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp); EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, readable, sizeof(temp)); @@ -11469,9 +11469,9 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value) *value = Traits::StorageToWorking(temp); return status; } -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) +EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId value) { - using Traits = NumericAttributeTraits; + using Traits = NumericAttributeTraits; if (!Traits::CanRepresentValue(/* isNullable = */ false, value)) { return EMBER_ZCL_STATUS_CONSTRAINT_ERROR; @@ -11479,7 +11479,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value) Traits::StorageType storageValue; Traits::WorkingToStorage(value, storageValue); uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue); - return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE); + return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, writable, ZCL_VENDOR_ID_ATTRIBUTE_TYPE); } } // namespace VendorID diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h index 8bd3040c40b70f..c583a753fce003 100644 --- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h +++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h @@ -2047,8 +2047,8 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value); } // namespace VendorName namespace VendorID { -EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u -EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value); +EmberAfStatus Get(chip::EndpointId endpoint, chip::VendorId * value); // vendor_id +EmberAfStatus Set(chip::EndpointId endpoint, chip::VendorId value); } // namespace VendorID namespace ProductName { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h index 33a6c8e9f14bd4..410acce973ef59 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h @@ -14718,9 +14718,9 @@ struct TypeInfo namespace VendorID { struct TypeInfo { - using Type = uint16_t; - using DecodableType = uint16_t; - using DecodableArgType = uint16_t; + using Type = chip::VendorId; + using DecodableType = chip::VendorId; + using DecodableArgType = chip::VendorId; static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; } static constexpr AttributeId GetAttributeId() { return Attributes::VendorID::Id; } @@ -14963,7 +14963,7 @@ struct TypeInfo CHIP_ERROR Decode(TLV::TLVReader & reader, const ConcreteAttributePath & path); Attributes::VendorName::TypeInfo::DecodableType vendorName; - Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); + Attributes::VendorID::TypeInfo::DecodableType vendorID = static_cast(0); Attributes::ProductName::TypeInfo::DecodableType productName; Attributes::NodeLabel::TypeInfo::DecodableType nodeLabel; Attributes::HardwareVersion::TypeInfo::DecodableType hardwareVersion = static_cast(0); diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h index 3275436a18a208..61c953a46c3b63 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h @@ -1217,6 +1217,7 @@ class BridgedActionsStopAction : public ClusterCommand | * ProductLabel | 0x000E | | * SerialNumber | 0x000F | | * Reachable | 0x0011 | +| * UniqueID | 0x0012 | | * ServerGeneratedCommandList | 0xFFF8 | | * ClientGeneratedCommandList | 0xFFF9 | | * AttributeList | 0xFFFB | @@ -9926,6 +9927,7 @@ void registerClusterBridgedDeviceBasic(Commands & commands, CredentialIssuerComm make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // + make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, @@ -9949,6 +9951,7 @@ void registerClusterBridgedDeviceBasic(Commands & commands, CredentialIssuerComm make_unique(Id, "product-label", Attributes::ProductLabel::Id, credsIssuerConfig), // make_unique(Id, "serial-number", Attributes::SerialNumber::Id, credsIssuerConfig), // make_unique(Id, "reachable", Attributes::Reachable::Id, credsIssuerConfig), // + make_unique(Id, "unique-id", Attributes::UniqueID::Id, credsIssuerConfig), // make_unique(Id, "server-generated-command-list", Attributes::ServerGeneratedCommandList::Id, credsIssuerConfig), // make_unique(Id, "client-generated-command-list", Attributes::ClientGeneratedCommandList::Id, diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp index e1ea22959ca0ad..0495a27caaf978 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -4442,7 +4442,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP return DataModelLogger::LogValue("VendorName", 1, value); } case BridgedDeviceBasic::Attributes::VendorID::Id: { - uint16_t value; + chip::VendorId value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("VendorID", 1, value); } @@ -4506,6 +4506,11 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); return DataModelLogger::LogValue("Reachable", 1, value); } + case BridgedDeviceBasic::Attributes::UniqueID::Id: { + chip::CharSpan value; + ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); + return DataModelLogger::LogValue("UniqueID", 1, value); + } case BridgedDeviceBasic::Attributes::ServerGeneratedCommandList::Id: { chip::app::DataModel::DecodableList value; ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value)); diff --git a/zzz_generated/controller-clusters/zap-generated/endpoint_config.h b/zzz_generated/controller-clusters/zap-generated/endpoint_config.h index bedda6baa69515..9395ecf25fbfc7 100644 --- a/zzz_generated/controller-clusters/zap-generated/endpoint_config.h +++ b/zzz_generated/controller-clusters/zap-generated/endpoint_config.h @@ -215,8 +215,7 @@ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (client) */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Switch (client) */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ @@ -1390,7 +1389,7 @@ #define ATTRIBUTE_LARGEST (5) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (4) +#define ATTRIBUTE_SINGLETONS_SIZE (2) // Total size of attribute storage #define ATTRIBUTE_MAX_SIZE (142) diff --git a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h index bc355ab7a3d625..d65e01b0b115d6 100644 --- a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h +++ b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h @@ -841,7 +841,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 426 +#define GENERATED_ATTRIBUTE_COUNT 427 #define GENERATED_ATTRIBUTES \ { \ \ @@ -1178,34 +1178,29 @@ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - { 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* VendorName */ \ - { 0x00000002, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x00000003, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* ProductName */ \ - { 0x00000005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \ - { 0x00000007, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */ \ - { 0x00000008, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ + { 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorName */ \ + { 0x00000002, ZAP_TYPE(VENDOR_ID), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ + { 0x00000003, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \ + { 0x00000005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ + ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \ + { 0x00000007, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */ \ + { 0x00000008, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* HardwareVersionString */ \ - { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */ \ - { 0x0000000A, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ + { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */ \ + { 0x0000000A, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* SoftwareVersionString */ \ - { 0x0000000B, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ + { 0x0000000B, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */ \ - { 0x0000000C, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \ - { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ + { 0x0000000C, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \ + { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* ProductURL */ \ - { 0x0000000E, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ + { 0x0000000E, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \ - { 0x0000000F, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \ - ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \ - { 0x00000011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* Reachable */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ + { 0x0000000F, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ + ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \ + { 0x00000011, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ + { 0x00000012, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \ + { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Switch (server) */ \ { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* number of positions */ \ @@ -2141,7 +2136,7 @@ /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ .clusterId = 0x00000039, \ .attributes = ZAP_ATTRIBUTE_INDEX(227), \ - .attributeCount = 15, \ + .attributeCount = 16, \ .clusterSize = 36, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ .functions = NULL, \ @@ -2151,7 +2146,7 @@ { \ /* Endpoint: 1, Cluster: Switch (server) */ \ .clusterId = 0x0000003B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(242), \ + .attributes = ZAP_ATTRIBUTE_INDEX(243), \ .attributeCount = 3, \ .clusterSize = 4, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2162,7 +2157,7 @@ { \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ .clusterId = 0x00000040, \ - .attributes = ZAP_ATTRIBUTE_INDEX(245), \ + .attributes = ZAP_ATTRIBUTE_INDEX(246), \ .attributeCount = 2, \ .clusterSize = 256, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2173,7 +2168,7 @@ { \ /* Endpoint: 1, Cluster: Door Lock (server) */ \ .clusterId = 0x00000101, \ - .attributes = ZAP_ATTRIBUTE_INDEX(247), \ + .attributes = ZAP_ATTRIBUTE_INDEX(248), \ .attributeCount = 28, \ .clusterSize = 46, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -2184,7 +2179,7 @@ { \ /* Endpoint: 1, Cluster: Window Covering (server) */ \ .clusterId = 0x00000102, \ - .attributes = ZAP_ATTRIBUTE_INDEX(275), \ + .attributes = ZAP_ATTRIBUTE_INDEX(276), \ .attributeCount = 19, \ .clusterSize = 31, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2195,7 +2190,7 @@ { \ /* Endpoint: 1, Cluster: Barrier Control (server) */ \ .clusterId = 0x00000103, \ - .attributes = ZAP_ATTRIBUTE_INDEX(294), \ + .attributes = ZAP_ATTRIBUTE_INDEX(295), \ .attributeCount = 5, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2206,7 +2201,7 @@ { \ /* Endpoint: 1, Cluster: Thermostat (server) */ \ .clusterId = 0x00000201, \ - .attributes = ZAP_ATTRIBUTE_INDEX(299), \ + .attributes = ZAP_ATTRIBUTE_INDEX(300), \ .attributeCount = 10, \ .clusterSize = 17, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2217,7 +2212,7 @@ { \ /* Endpoint: 1, Cluster: Color Control (server) */ \ .clusterId = 0x00000300, \ - .attributes = ZAP_ATTRIBUTE_INDEX(309), \ + .attributes = ZAP_ATTRIBUTE_INDEX(310), \ .attributeCount = 51, \ .clusterSize = 337, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2228,7 +2223,7 @@ { \ /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(360), \ + .attributes = ZAP_ATTRIBUTE_INDEX(361), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2239,7 +2234,7 @@ { \ /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \ .clusterId = 0x00000403, \ - .attributes = ZAP_ATTRIBUTE_INDEX(364), \ + .attributes = ZAP_ATTRIBUTE_INDEX(365), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2250,7 +2245,7 @@ { \ /* Endpoint: 1, Cluster: Flow Measurement (server) */ \ .clusterId = 0x00000404, \ - .attributes = ZAP_ATTRIBUTE_INDEX(368), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2261,7 +2256,7 @@ { \ /* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(372), \ + .attributes = ZAP_ATTRIBUTE_INDEX(373), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2272,7 +2267,7 @@ { \ /* Endpoint: 1, Cluster: IAS Zone (server) */ \ .clusterId = 0x00000500, \ - .attributes = ZAP_ATTRIBUTE_INDEX(376), \ + .attributes = ZAP_ATTRIBUTE_INDEX(377), \ .attributeCount = 6, \ .clusterSize = 16, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \ @@ -2283,7 +2278,7 @@ { \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ .clusterId = 0x00000503, \ - .attributes = ZAP_ATTRIBUTE_INDEX(382), \ + .attributes = ZAP_ATTRIBUTE_INDEX(383), \ .attributeCount = 2, \ .clusterSize = 35, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2294,7 +2289,7 @@ { \ /* Endpoint: 1, Cluster: Channel (client) */ \ .clusterId = 0x00000504, \ - .attributes = ZAP_ATTRIBUTE_INDEX(384), \ + .attributes = ZAP_ATTRIBUTE_INDEX(385), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2305,7 +2300,7 @@ { \ /* Endpoint: 1, Cluster: Target Navigator (client) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(386), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2316,7 +2311,7 @@ { \ /* Endpoint: 1, Cluster: Media Playback (client) */ \ .clusterId = 0x00000506, \ - .attributes = ZAP_ATTRIBUTE_INDEX(386), \ + .attributes = ZAP_ATTRIBUTE_INDEX(387), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2327,7 +2322,7 @@ { \ /* Endpoint: 1, Cluster: Media Input (client) */ \ .clusterId = 0x00000507, \ - .attributes = ZAP_ATTRIBUTE_INDEX(387), \ + .attributes = ZAP_ATTRIBUTE_INDEX(388), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2338,7 +2333,7 @@ { \ /* Endpoint: 1, Cluster: Keypad Input (client) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(388), \ + .attributes = ZAP_ATTRIBUTE_INDEX(389), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2349,7 +2344,7 @@ { \ /* Endpoint: 1, Cluster: Content Launcher (client) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(389), \ + .attributes = ZAP_ATTRIBUTE_INDEX(390), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2360,7 +2355,7 @@ { \ /* Endpoint: 1, Cluster: Audio Output (client) */ \ .clusterId = 0x0000050B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(390), \ + .attributes = ZAP_ATTRIBUTE_INDEX(391), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2371,7 +2366,7 @@ { \ /* Endpoint: 1, Cluster: Application Launcher (client) */ \ .clusterId = 0x0000050C, \ - .attributes = ZAP_ATTRIBUTE_INDEX(391), \ + .attributes = ZAP_ATTRIBUTE_INDEX(392), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2382,7 +2377,7 @@ { \ /* Endpoint: 1, Cluster: Application Basic (client) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(392), \ + .attributes = ZAP_ATTRIBUTE_INDEX(393), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2393,7 +2388,7 @@ { \ /* Endpoint: 1, Cluster: Account Login (client) */ \ .clusterId = 0x0000050E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(393), \ + .attributes = ZAP_ATTRIBUTE_INDEX(394), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2404,7 +2399,7 @@ { \ /* Endpoint: 1, Cluster: Test Cluster (server) */ \ .clusterId = 0x0000050F, \ - .attributes = ZAP_ATTRIBUTE_INDEX(394), \ + .attributes = ZAP_ATTRIBUTE_INDEX(395), \ .attributeCount = 21, \ .clusterSize = 1582, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2415,7 +2410,7 @@ { \ /* Endpoint: 2, Cluster: On/Off (server) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(415), \ + .attributes = ZAP_ATTRIBUTE_INDEX(416), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2426,7 +2421,7 @@ { \ /* Endpoint: 2, Cluster: Descriptor (server) */ \ .clusterId = 0x0000001D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(417), \ + .attributes = ZAP_ATTRIBUTE_INDEX(418), \ .attributeCount = 5, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2437,7 +2432,7 @@ { \ /* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \ .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(422), \ + .attributes = ZAP_ATTRIBUTE_INDEX(423), \ .attributeCount = 4, \ .clusterSize = 5, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2463,7 +2458,7 @@ #define ATTRIBUTE_LARGEST (1003) // Total size of singleton attributes -#define ATTRIBUTE_SINGLETONS_SIZE (75) +#define ATTRIBUTE_SINGLETONS_SIZE (39) // Total size of attribute storage #define ATTRIBUTE_MAX_SIZE (3592) From 9b1bf70f03e988a2ea560bb863ebd57f9e7cfa32 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 22:28:42 -0500 Subject: [PATCH 04/16] Bridged Device Basic Information cluster server --- .../esp32/main/CMakeLists.txt | 1 + examples/all-clusters-app/mbed/CMakeLists.txt | 2 +- examples/bridge-app/esp32/main/CMakeLists.txt | 1 + .../bridged-device-basic-information.cpp | 280 ++++++++++++++++++ .../bridged-device-basic-information.h | 29 ++ src/app/zap_cluster_list.py | 2 +- src/include/platform/PlatformManager.h | 94 ++++++ .../internal/GenericPlatformManagerImpl.h | 111 +++++++ 8 files changed, 518 insertions(+), 2 deletions(-) create mode 100644 src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.cpp create mode 100644 src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.h diff --git a/examples/all-clusters-app/esp32/main/CMakeLists.txt b/examples/all-clusters-app/esp32/main/CMakeLists.txt index 74c420f8486f38..be2e5f3b314f5b 100644 --- a/examples/all-clusters-app/esp32/main/CMakeLists.txt +++ b/examples/all-clusters-app/esp32/main/CMakeLists.txt @@ -71,6 +71,7 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/general-diagnostics-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/group-key-mgmt-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic" + "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bridged-device-basic-information-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/diagnostic-logs-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/door-lock-server" diff --git a/examples/all-clusters-app/mbed/CMakeLists.txt b/examples/all-clusters-app/mbed/CMakeLists.txt index cda04bca5e6733..11c42a2cc686b1 100644 --- a/examples/all-clusters-app/mbed/CMakeLists.txt +++ b/examples/all-clusters-app/mbed/CMakeLists.txt @@ -84,13 +84,13 @@ target_sources(${APP_TARGET} PRIVATE ${APP_CLUSTERS}/basic/basic.cpp ${APP_CLUSTERS}/bindings/BindingManager.cpp ${APP_CLUSTERS}/bindings/bindings.cpp + ${APP_CLUSTERS}/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp ${APP_CLUSTERS}/on-off-server/on-off-server.cpp ${APP_CLUSTERS}/access-control-server/access-control-server.cpp ${APP_CLUSTERS}/account-login-server/account-login-server.cpp ${APP_CLUSTERS}/application-launcher-server/application-launcher-server.cpp ${APP_CLUSTERS}/audio-output-server/audio-output-server.cpp ${APP_CLUSTERS}/barrier-control-server/barrier-control-server.cpp - ${APP_CLUSTERS}/basic/basic.cpp ${APP_CLUSTERS}/bindings/bindings.cpp ${APP_CLUSTERS}/color-control-server/color-control-server.cpp ${APP_CLUSTERS}/content-launch-server/content-launch-server.cpp diff --git a/examples/bridge-app/esp32/main/CMakeLists.txt b/examples/bridge-app/esp32/main/CMakeLists.txt index f0fdad26397bee..9b36c6f8cc5497 100644 --- a/examples/bridge-app/esp32/main/CMakeLists.txt +++ b/examples/bridge-app/esp32/main/CMakeLists.txt @@ -28,6 +28,7 @@ idf_component_register(PRIV_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic" + "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bridged-device-basic-information-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/level-control" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/diagnostic-logs-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/ethernet-network-diagnostics-server" diff --git a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.cpp b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.cpp new file mode 100644 index 00000000000000..4f90ef0cee20dd --- /dev/null +++ b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.cpp @@ -0,0 +1,280 @@ +/** + * + * Copyright (c) 2022 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "bridged-device-basic-information.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace chip; +using namespace chip::app; +using namespace chip::app::Clusters; +using namespace chip::app::Clusters::BridgedDeviceBasic; +using namespace chip::app::Clusters::BridgedDeviceBasic::Attributes; +using namespace chip::DeviceLayer; + +namespace { + +class BridgeDeviceBasicInformationAttrAccess : public AttributeAccessInterface +{ +public: + // Register for the Bridged Device Basic Information cluster on all endpoints. + BridgedDeviceBasicInformationAttrAccess() : AttributeAccessInterface(Optional::Missing(), BridgeDeviceBasic::Id) {} + + CHIP_ERROR Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder) override; +}; + +BridgedDeviceBasicInformationAttrAccess gAttrAccess; + +CHIP_ERROR EncodeStringOnSuccess(CHIP_ERROR status, AttributeValueEncoder & encoder, const char * buf, size_t maxBufSize) +{ + ReturnErrorOnFailure(status); + return encoder.Encode(CharSpan(buf, strnlen(buf, maxBufSize))); +} + +CHIP_ERROR BridgedDeviceBasicInformationAttrAccess::Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder) +{ + if (aPath.mClusterId != BridgedDeviceBasic::Id) + { + // We shouldn't have been called at all. + return CHIP_ERROR_INVALID_ARGUMENT; + } + + CHIP_ERROR status = CHIP_NO_ERROR; + + switch (aPath.mAttributeId) + { + case VendorName::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxVendorNameLength; + char vendorName[kMaxLen + 1] = { 0 }; + status = + DeviceLayer::PlatformMgr().GetBridgedVendorName(aPath.mEndpointId, vendorName, sizeof(vendorName)); + status = EncodeStringOnSuccess(status, aEncoder, vendorName, kMaxLen); + break; + } + + case VendorID::Id: { + uint16_t vendorId = 0; + status = DeviceLayer::PlatformMgr().GetBridgedVendorId(aPath.mEndpointId, vendorId); + if (status == CHIP_NO_ERROR) + { + status = aEncoder.Encode(vendorId); + } + break; + } + + case ProductName::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxProductNameLength; + char productName[kMaxLen + 1] = { 0 }; + status = + DeviceLayer::PlatformMgr().GetBridgedProductName(aPath.mEndpointId, productName, sizeof(productName)); + status = EncodeStringOnSuccess(status, aEncoder, productName, kMaxLen); + break; + } + + case HardwareVersion::Id: { + uint16_t hardwareVersion = 0; + status = DeviceLayer::PlatformMgr().GetBridgedHardwareVersion(aPath.mEndpointId, hardwareVersion); + if (status == CHIP_NO_ERROR) + { + status = aEncoder.Encode(hardwareVersion); + } + break; + } + + case HardwareVersionString::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxHardwareVersionStringLength; + char hardwareVersionString[kMaxLen + 1] = { 0 }; + status = DeviceLayer::PlatformMgr().GetBridgedHardwareVersionString( + aPath.mEndpointId, hardwareVersionString, sizeof(hardwareVersionString)); + status = EncodeStringOnSuccess(status, aEncoder, hardwareVersionString, kMaxLen); + break; + } + + case SoftwareVersion::Id: { + uint32_t softwareVersion = 0; + status = DeviceLayer::PlatformMgr().GetBridgedSoftwareVersion(aPath.mEndpointId, softwareVersion); + if (status == CHIP_NO_ERROR) + { + status = aEncoder.Encode(softwareVersion); + } + break; + } + + case SoftwareVersionString::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxSoftwareVersionStringLength; + char softwareVersionString[kMaxLen + 1] = { 0 }; + status = DeviceLayer::PlatformMgr().GetBridgedSoftwareVersionString( + aPath.mEndpointId, softwareVersionString, sizeof(softwareVersionString)); + status = EncodeStringOnSuccess(status, aEncoder, softwareVersionString, kMaxLen); + break; + } + + case ManufacturingDate::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxManufacturingDateLength; + char manufacturingDateString[kMaxLen + 1] = { 0 }; + uint16_t manufacturingYear; + uint8_t manufacturingMonth; + uint8_t manufacturingDayOfMonth; + status = DeviceLayer::PlatformMgr().GetBridgedManufacturingDate( + aPath.mEndpointId, manufacturingYear, manufacturingMonth, manufacturingDayOfMonth); + + // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done + if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) + { + manufacturingYear = 2020; + manufacturingMonth = 1; + manufacturingDayOfMonth = 1; + status = CHIP_NO_ERROR; + } + + if (status == CHIP_NO_ERROR) + { + // Format is YYYYMMDD + snprintf(manufacturingDateString, sizeof(manufacturingDateString), "%04" PRIu16 "%02" PRIu8 "%02" PRIu8, + manufacturingYear, manufacturingMonth, manufacturingDayOfMonth); + status = aEncoder.Encode(CharSpan(manufacturingDateString, strnlen(manufacturingDateString, kMaxLen))); + } + break; + } + + case PartNumber::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxPartNumberLength; + char partNumber[kMaxLen + 1] = { 0 }; + status = + DeviceLayer::PlatformMgr().GetBridgedPartNumber(aPath.mEndpointId, partNumber, sizeof(partNumber)); + + // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done + if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) + { + partNumber[0] = '\0'; + status = CHIP_NO_ERROR; + } + + status = EncodeStringOnSuccess(status, aEncoder, partNumber, kMaxLen); + break; + } + + case ProductURL::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxProductURLLength; + char productUrl[kMaxLen + 1] = { 0 }; + status = + DeviceLayer::PlatformMgr().GetBridgedProductURL(aPath.mEndpointId, productUrl, sizeof(productUrl)); + + // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done + if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) + { + productUrl[0] = '\0'; + status = CHIP_NO_ERROR; + } + + status = EncodeStringOnSuccess(status, aEncoder, productUrl, kMaxLen); + break; + } + + case ProductLabel::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxProductLabelLength; + char productLabel[kMaxLen + 1] = { 0 }; + status = + DeviceLayer::PlatformMgr().GetBridgedProductLabel(aPath.mEndpointId, productLabel, sizeof(productLabel)); + + // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done + if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) + { + productLabel[0] = '\0'; + status = CHIP_NO_ERROR; + } + + status = EncodeStringOnSuccess(status, aEncoder, productLabel, kMaxLen); + break; + } + + case SerialNumber::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxSerialNumberLength; + char serialNumberString[kMaxLen + 1] = { 0 }; + status = + DeviceLayer::PlatformMgr().GetBridgedSerialNumber(aPath.mEndpointId, serialNumberString, sizeof(serialNumberString)); + + // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done + if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) + { + serialNumberString[0] = '\0'; + status = CHIP_NO_ERROR; + } + + status = EncodeStringOnSuccess(status, aEncoder, serialNumberString, kMaxLen); + break; + } + + case UniqueID::Id: { + constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxUniqueIDLength; + char uniqueId[kMaxLen + 1] = { 0 }; + status = DeviceLayer::PlatformMgr().GetBridgedUniqueId(aPath.mEndpointId, uniqueId, sizeof(uniqueId)); + + // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done + if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) + { + uniqueId[0] = '\0'; + status = CHIP_NO_ERROR; + } + + status = EncodeStringOnSuccess(status, aEncoder, uniqueId, kMaxLen); + break; + } + + default: + // We did not find a processing path, the caller will delegate elsewhere. + break; + } + + return status; +} + +} // anonymous namespace + +void emberAfBridgedDeviceBasicClusterServerInitCallback(EndpointId endpoint) +{ + EmberAfStatus status; + + char nodeLabel[DeviceLayer::ConfigurationManager::kMaxNodeLabelLength + 1]; + if (DeviceLayer::PlatformMgr().GetBridgedNodeLabel(aPath.mEndpointId, nodeLabel, sizeof(nodeLabel)) == CHIP_NO_ERROR) + { + status = Attributes::NodeLabel::Set(endpoint, CharSpan::fromCharString(nodeLabel)); + VerifyOrdo(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Error setting Bridged Node Label: 0x%02x", status)); + } + + bool reachable; + if (DeviceLayer::PlatformMgr().GetBridgedReachable(aPath.mEndpointId, reachable) == CHIP_NO_ERROR) + { + status = Attributes::Reachable::Set(endpoint, reachable); + VerifyOrdo(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Error setting Bridged Reachable: 0x%02x", status)); + } +} + +void MatterBridgedDeviceBasicPluginServerInitCallback() +{ + registerAttributeAccessOverride(&gAttrAccess); +} diff --git a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.h b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.h new file mode 100644 index 00000000000000..5884f806e7c943 --- /dev/null +++ b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.h @@ -0,0 +1,29 @@ +/* + * + * Copyright (c) 2022 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include + +/** @brief Bridged Device Basic Information Cluster Server Init + * + * This function is called at startup for a given endpoint to initialize + * attributes of the Bridged Device Basic Information Cluster. + * + * @param endpoint Endpoint that is being initialized Ver.: always + */ +void emberAfBridgedDeviceBasicClusterServerInitCallback(chip::EndpointId endpoint); diff --git a/src/app/zap_cluster_list.py b/src/app/zap_cluster_list.py index 29b5e57bf736fa..9f2e4aa69e587b 100755 --- a/src/app/zap_cluster_list.py +++ b/src/app/zap_cluster_list.py @@ -22,7 +22,7 @@ 'BINDING_CLUSTER': ['bindings'], 'BOOLEAN_STATE_CLUSTER': [], 'BRIDGED_ACTIONS_CLUSTER': [], - 'BRIDGED_DEVICE_BASIC_CLUSTER': [], + 'BRIDGED_DEVICE_BASIC_CLUSTER': ['bridged-device-basic-information-server'], 'CHANNEL_CLUSTER': ['channel-server'], 'COLOR_CONTROL_CLUSTER': ['color-control-server'], 'COMMISSIONING_CLUSTER': [], diff --git a/src/include/platform/PlatformManager.h b/src/include/platform/PlatformManager.h index 87b4629a9e0eb8..13f83b679c74a3 100644 --- a/src/include/platform/PlatformManager.h +++ b/src/include/platform/PlatformManager.h @@ -29,6 +29,9 @@ #include #include +#include +#include + namespace chip { namespace Dnssd { @@ -192,6 +195,21 @@ class PlatformManager CHIP_ERROR GetSupportedLocales(AttributeList & supportedLocales); CHIP_ERROR GetSupportedCalendarTypes( AttributeList & supportedCalendarTypes); + CHIP_ERROR GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId); + CHIP_ERROR GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer); + CHIP_ERROR GetBridgedHardwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer); + CHIP_ERROR GetBridgedSoftwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedManufacturingDate(EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth); + CHIP_ERROR GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR GetBridgedReachable(EndpointId endpoint, bool & reachable); + CHIP_ERROR GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize); private: bool mInitialized = false; @@ -464,5 +482,81 @@ inline CHIP_ERROR PlatformManager::GetSupportedCalendarTypes( return static_cast(this)->_GetSupportedCalendarTypes(supportedCalendarTypes); } +inline CHIP_ERROR PlatformManager::GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedVendorName(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId) +{ + return static_cast(this)->_GetBridgedVendorId(endpoint, vendorId); +} + +inline CHIP_ERROR PlatformManager::GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedProductName(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedNodeLabel(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer) +{ + return static_cast(this)->_GetBridgedHardwareVersion(endpoint, hardwareVer); +} + +inline CHIP_ERROR PlatformManager::GetBridgedHardwareVersionString(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedHardwareVersionString(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer) +{ + return static_cast(this)->_GetBridgedSoftwareVersion(endpoint, softwareVer); +} + +inline CHIP_ERROR PlatformManager::GetBridgedSoftwareVersionString(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedSoftwareVersionString(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedManufacturingDate( + EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth) +{ + return static_cast(this)->_GetBridgedManufacturingDate(endpoint, year, month, dayOfMonth); +} + +inline CHIP_ERROR PlatformManager::GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedPartNumber(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedProductURL(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedProductLabel(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedSerialNumber(endpoint, buf, bufSize); +} + +inline CHIP_ERROR PlatformManager::GetBridgedReachable(EndpointId endpoint, bool & reachable) +{ + return static_cast(this)->_GetBridgedReachable(endpoint, reachable); +} + +inline CHIP_ERROR PlatformManager::GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize) +{ + return static_cast(this)->_GetBridgedUniqueId(endpoint, buf, bufSize); +} + } // namespace DeviceLayer } // namespace chip diff --git a/src/include/platform/internal/GenericPlatformManagerImpl.h b/src/include/platform/internal/GenericPlatformManagerImpl.h index 11264e26772d26..2200531c03c3b4 100644 --- a/src/include/platform/internal/GenericPlatformManagerImpl.h +++ b/src/include/platform/internal/GenericPlatformManagerImpl.h @@ -24,6 +24,9 @@ #pragma once +#include +#include + namespace chip { namespace DeviceLayer { namespace Internal { @@ -68,6 +71,21 @@ class GenericPlatformManagerImpl CHIP_ERROR _GetSupportedLocales(AttributeList & supportedLocales); CHIP_ERROR _GetSupportedCalendarTypes( AttributeList & supportedCalendarTypes); + CHIP_ERROR _GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId); + CHIP_ERROR _GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer); + CHIP_ERROR _GetBridgedHardwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer); + CHIP_ERROR _GetBridgedSoftwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedManufacturingDate(EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth); + CHIP_ERROR _GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize); + CHIP_ERROR _GetBridgedReachable(EndpointId endpoint, bool & reachable); + CHIP_ERROR _GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize); // ===== Support methods that can be overridden by the implementation subclass. @@ -119,6 +137,99 @@ inline CHIP_ERROR GenericPlatformManagerImpl::_GetSupportedCalendarTy return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; } +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedHardwareVersionString( + EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedSoftwareVersionString( + EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedManufacturingDate( + EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedReachable(EndpointId endpoint, bool & reachable) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + +template +inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize) +{ + return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; +} + } // namespace Internal } // namespace DeviceLayer } // namespace chip From 01bd9806cff6205466949b42fd0d3654f1ec1582 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 23:12:30 -0500 Subject: [PATCH 05/16] Rename Bridged Basic files --- ...ormation.cpp => bridged-device-basic-information-server.cpp} | 2 +- ...-information.h => bridged-device-basic-information-server.h} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/app/clusters/bridged-device-basic-information-server/{bridged-device-basic-information.cpp => bridged-device-basic-information-server.cpp} (99%) rename src/app/clusters/bridged-device-basic-information-server/{bridged-device-basic-information.h => bridged-device-basic-information-server.h} (100%) diff --git a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.cpp b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp similarity index 99% rename from src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.cpp rename to src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp index 4f90ef0cee20dd..cad2be19062b7c 100644 --- a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.cpp +++ b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp @@ -16,7 +16,7 @@ * */ -#include "bridged-device-basic-information.h" +#include "bridged-device-basic-information-server.h" #include #include diff --git a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.h b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.h similarity index 100% rename from src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information.h rename to src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.h From 5a1cd2ef2efb5f94b0a1b18e17ac0ff52ce4eaba Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 23:23:58 -0500 Subject: [PATCH 06/16] Bridged Basic server typos and helper list fix --- .../bridged-device-basic-information-server.cpp | 8 ++++---- src/app/zap-templates/templates/app/helper.js | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp index cad2be19062b7c..5d8a9f9a071616 100644 --- a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp +++ b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp @@ -38,11 +38,11 @@ using namespace chip::DeviceLayer; namespace { -class BridgeDeviceBasicInformationAttrAccess : public AttributeAccessInterface +class BridgedDeviceBasicInformationAttrAccess : public AttributeAccessInterface { public: // Register for the Bridged Device Basic Information cluster on all endpoints. - BridgedDeviceBasicInformationAttrAccess() : AttributeAccessInterface(Optional::Missing(), BridgeDeviceBasic::Id) {} + BridgedDeviceBasicInformationAttrAccess() : AttributeAccessInterface(Optional::Missing(), BridgedDeviceBasic::Id) {} CHIP_ERROR Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder) override; }; @@ -260,14 +260,14 @@ void emberAfBridgedDeviceBasicClusterServerInitCallback(EndpointId endpoint) EmberAfStatus status; char nodeLabel[DeviceLayer::ConfigurationManager::kMaxNodeLabelLength + 1]; - if (DeviceLayer::PlatformMgr().GetBridgedNodeLabel(aPath.mEndpointId, nodeLabel, sizeof(nodeLabel)) == CHIP_NO_ERROR) + if (DeviceLayer::PlatformMgr().GetBridgedNodeLabel(endpoint, nodeLabel, sizeof(nodeLabel)) == CHIP_NO_ERROR) { status = Attributes::NodeLabel::Set(endpoint, CharSpan::fromCharString(nodeLabel)); VerifyOrdo(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Error setting Bridged Node Label: 0x%02x", status)); } bool reachable; - if (DeviceLayer::PlatformMgr().GetBridgedReachable(aPath.mEndpointId, reachable) == CHIP_NO_ERROR) + if (DeviceLayer::PlatformMgr().GetBridgedReachable(endpoint, reachable) == CHIP_NO_ERROR) { status = Attributes::Reachable::Set(endpoint, reachable); VerifyOrdo(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Error setting Bridged Reachable: 0x%02x", status)); diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index 06c068cf17c36a..0e15dac8a6739e 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -108,6 +108,7 @@ function asReadType(type) // List of all cluster with generated functions var endpointClusterWithInit = [ 'Basic', + 'Bridged Device Basic', 'Color Control', 'Groups', 'IAS Zone', From d84b871a0c45b6cb32f13e9ab32cc85fd91c0570 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 23:29:31 -0500 Subject: [PATCH 07/16] ZAP regen --- .../light-switch-app.matter | 19 +++++++++++++++++++ .../lighting-common/lighting-app.matter | 7 ++++--- .../zap-generated/endpoint_config.h | 7 +++++-- .../zap-generated/endpoint_config.h | 7 +++++-- 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index f4a37fff63c66b..c2cab7b5644e8f 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -640,6 +640,13 @@ client cluster Groups = 4 { request struct ViewGroupRequest { INT16U groupId = 0; } + + command AddGroup(AddGroupRequest): AddGroupResponse = 0; + command AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5; + command GetGroupMembership(GetGroupMembershipRequest): GetGroupMembershipResponse = 2; + command RemoveAllGroups(): DefaultSuccess = 4; + command RemoveGroup(RemoveGroupRequest): RemoveGroupResponse = 3; + command ViewGroup(ViewGroupRequest): ViewGroupResponse = 1; } client cluster Identify = 3 { @@ -1009,6 +1016,10 @@ client cluster OnOff = 6 { readonly global attribute attrib_id attributeList[] = 65531; readonly global attribute bitmap32 featureMap = 65532; readonly global attribute int16u clusterRevision = 65533; + + command Off(): DefaultSuccess = 0; + command On(): DefaultSuccess = 1; + command Toggle(): DefaultSuccess = 2; } server cluster OperationalCredentials = 62 { @@ -1215,6 +1226,14 @@ client cluster Scenes = 5 { CHAR_STRING sceneName = 4; SceneExtensionFieldSet extensionFieldSets[] = 5; } + + command AddScene(AddSceneRequest): AddSceneResponse = 0; + command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6; + command RecallScene(RecallSceneRequest): DefaultSuccess = 5; + command RemoveAllScenes(RemoveAllScenesRequest): RemoveAllScenesResponse = 3; + command RemoveScene(RemoveSceneRequest): RemoveSceneResponse = 2; + command StoreScene(StoreSceneRequest): StoreSceneResponse = 4; + command ViewScene(ViewSceneRequest): ViewSceneResponse = 1; } server cluster SoftwareDiagnostics = 52 { diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index c50f9fb09caff7..e12b12061e1388 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -1116,6 +1116,10 @@ client cluster OnOff = 6 { int16u onTime = 1; int16u offWaitTime = 2; } + + command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64; + command OnWithRecallGlobalScene(): DefaultSuccess = 65; + command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66; } server cluster OnOff = 6 { @@ -1158,10 +1162,7 @@ server cluster OnOff = 6 { } command Off(): DefaultSuccess = 0; - command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64; command On(): DefaultSuccess = 1; - command OnWithRecallGlobalScene(): DefaultSuccess = 65; - command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66; command Toggle(): DefaultSuccess = 2; } diff --git a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h index fa4ab9512204fe..a4c1cd9f5ddd9d 100644 --- a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h +++ b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h @@ -2456,6 +2456,9 @@ const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \ (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \ }; \ + const EmberAfGenericClusterFunction chipFuncArrayBridgedDeviceBasicServer[] = { \ + (EmberAfGenericClusterFunction) emberAfBridgedDeviceBasicClusterServerInitCallback, \ + }; \ const EmberAfGenericClusterFunction chipFuncArrayDoorLockServer[] = { \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerAttributeChangedCallback, \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerPreAttributeChangedCallback, \ @@ -3279,8 +3282,8 @@ .attributes = ZAP_ATTRIBUTE_INDEX(269), \ .attributeCount = 16, \ .clusterSize = 36, \ - .mask = ZAP_CLUSTER_MASK(SERVER), \ - .functions = NULL, \ + .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ + .functions = chipFuncArrayBridgedDeviceBasicServer, \ .clientGeneratedCommandList = nullptr ,\ .serverGeneratedCommandList = nullptr ,\ },\ diff --git a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h index dc600a339c17bb..068158dc46f3a6 100644 --- a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h +++ b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h @@ -1480,6 +1480,9 @@ const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \ (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \ }; \ + const EmberAfGenericClusterFunction chipFuncArrayBridgedDeviceBasicServer[] = { \ + (EmberAfGenericClusterFunction) emberAfBridgedDeviceBasicClusterServerInitCallback, \ + }; \ const EmberAfGenericClusterFunction chipFuncArrayDoorLockServer[] = { \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerAttributeChangedCallback, \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerPreAttributeChangedCallback, \ @@ -2051,8 +2054,8 @@ .attributes = ZAP_ATTRIBUTE_INDEX(227), \ .attributeCount = 16, \ .clusterSize = 36, \ - .mask = ZAP_CLUSTER_MASK(SERVER), \ - .functions = NULL, \ + .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ + .functions = chipFuncArrayBridgedDeviceBasicServer, \ .clientGeneratedCommandList = nullptr ,\ .serverGeneratedCommandList = nullptr ,\ },\ From f3d440d56a01593320436522523108e9381a6409 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 23:52:16 -0500 Subject: [PATCH 08/16] ZAP regen --- examples/lighting-app/lighting-common/lighting-app.matter | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index e12b12061e1388..c50f9fb09caff7 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -1116,10 +1116,6 @@ client cluster OnOff = 6 { int16u onTime = 1; int16u offWaitTime = 2; } - - command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64; - command OnWithRecallGlobalScene(): DefaultSuccess = 65; - command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66; } server cluster OnOff = 6 { @@ -1162,7 +1158,10 @@ server cluster OnOff = 6 { } command Off(): DefaultSuccess = 0; + command OffWithEffect(OffWithEffectRequest): DefaultSuccess = 64; command On(): DefaultSuccess = 1; + command OnWithRecallGlobalScene(): DefaultSuccess = 65; + command OnWithTimedOff(OnWithTimedOffRequest): DefaultSuccess = 66; command Toggle(): DefaultSuccess = 2; } From 632464e46c3d6d40f324cbfa1f5c51aa8bce6236 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Thu, 3 Feb 2022 23:54:14 -0500 Subject: [PATCH 09/16] Removed duplicate Bridged Basic init callback --- src/app/util/util.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/util/util.cpp b/src/app/util/util.cpp index d0bfa582928ccb..1c4595bd2a96f8 100644 --- a/src/app/util/util.cpp +++ b/src/app/util/util.cpp @@ -234,7 +234,6 @@ void emberAfTick(void) // Cluster init functions that don't have a cluster implementation to define // them in. void MatterBooleanStatePluginServerInitCallback() {} -void MatterBridgedDeviceBasicPluginServerInitCallback() {} void MatterElectricalMeasurementPluginServerInitCallback() {} void MatterRelativeHumidityMeasurementPluginServerInitCallback() {} void MatterIlluminanceMeasurementPluginServerInitCallback() {} From eebee48172941f637a2d4ef424ed79f63d27a578 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:04:29 -0500 Subject: [PATCH 10/16] Remove Bridged Basic from all-cluster-app ZAP --- .../all-clusters-common/all-clusters-app.zap | 292 ------------------ .../data_model/controller-clusters.zap | 28 +- 2 files changed, 14 insertions(+), 306 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index 8fb304f8e168f2..e336782fafafa2 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -9911,298 +9911,6 @@ } ] }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [], - "attributes": [ - { - "name": "VendorName", - "code": 1, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorID", - "code": 2, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductName", - "code": 3, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NodeLabel", - "code": 5, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersion", - "code": 7, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersionString", - "code": 8, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersion", - "code": 9, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersionString", - "code": 10, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ManufacturingDate", - "code": 11, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "20210614123456ZZ", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartNumber", - "code": 12, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductLabel", - "code": 14, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SerialNumber", - "code": 15, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Reachable", - "code": 17, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UniqueID", - "code": 18, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, { "name": "Switch", "code": 59, diff --git a/src/controller/data_model/controller-clusters.zap b/src/controller/data_model/controller-clusters.zap index f508ae12af5dfc..ffcb3403311296 100644 --- a/src/controller/data_model/controller-clusters.zap +++ b/src/controller/data_model/controller-clusters.zap @@ -6986,7 +6986,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7001,7 +7001,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7016,7 +7016,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7046,7 +7046,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "0", @@ -7061,7 +7061,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7076,7 +7076,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "0", @@ -7091,7 +7091,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7106,10 +7106,10 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "20210614123456ZZ", + "defaultValue": "", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -7121,7 +7121,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7136,7 +7136,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7151,7 +7151,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7166,7 +7166,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", @@ -7196,7 +7196,7 @@ "mfgCode": null, "side": "server", "included": 1, - "storageOption": "External", + "storageOption": "RAM", "singleton": 0, "bounded": 0, "defaultValue": "", From 949ff3415f1758971c00f39effe985e9e89bb691 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:05:24 -0500 Subject: [PATCH 11/16] Revert "Add Bridged Basic cluster back to tv-casting-app" This reverts commit 70f027e2a0accc07babdfb197f79d5be402f7dad. --- .../tv-casting-common/tv-casting-app.zap | 292 ------------------ 1 file changed, 292 deletions(-) diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap index 8a38f1c8b29d75..b83a66b3c6616e 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap @@ -8753,298 +8753,6 @@ } ] }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "client", - "enabled": 0, - "commands": [], - "attributes": [ - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "client", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, - { - "name": "Bridged Device Basic", - "code": 57, - "mfgCode": null, - "define": "BRIDGED_DEVICE_BASIC_CLUSTER", - "side": "server", - "enabled": 1, - "commands": [], - "attributes": [ - { - "name": "VendorName", - "code": 1, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "VendorID", - "code": 2, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductName", - "code": 3, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "NodeLabel", - "code": 5, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "NVM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersion", - "code": 7, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "HardwareVersionString", - "code": 8, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersion", - "code": 9, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "0", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SoftwareVersionString", - "code": 10, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ManufacturingDate", - "code": 11, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "20210614123456ZZ", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "PartNumber", - "code": 12, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductURL", - "code": 13, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "ProductLabel", - "code": 14, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "SerialNumber", - "code": 15, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "Reachable", - "code": 17, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "UniqueID", - "code": 18, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "External", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - }, - { - "name": "AttributeList", - "code": 65531, - "mfgCode": null, - "side": "server", - "included": 0, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, - { - "name": "ClusterRevision", - "code": 65533, - "mfgCode": null, - "side": "server", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "1", - "reportable": 1, - "minInterval": 0, - "maxInterval": 65344, - "reportableChange": 0 - } - ] - }, { "name": "Switch", "code": 59, From aea1fbfd0b1307fc2e81584b51dbc1eb54e7097d Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:12:14 -0500 Subject: [PATCH 12/16] Remove generic platform Bridged Basic attr support Also remove server from all-clusters-app build. --- .../esp32/main/CMakeLists.txt | 1 - examples/all-clusters-app/mbed/CMakeLists.txt | 1 - src/include/platform/PlatformManager.h | 94 --------------- .../internal/GenericPlatformManagerImpl.h | 111 ------------------ 4 files changed, 207 deletions(-) diff --git a/examples/all-clusters-app/esp32/main/CMakeLists.txt b/examples/all-clusters-app/esp32/main/CMakeLists.txt index be2e5f3b314f5b..74c420f8486f38 100644 --- a/examples/all-clusters-app/esp32/main/CMakeLists.txt +++ b/examples/all-clusters-app/esp32/main/CMakeLists.txt @@ -71,7 +71,6 @@ set(SRC_DIRS_LIST "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/general-diagnostics-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/group-key-mgmt-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic" - "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bridged-device-basic-information-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/diagnostic-logs-server" "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/door-lock-server" diff --git a/examples/all-clusters-app/mbed/CMakeLists.txt b/examples/all-clusters-app/mbed/CMakeLists.txt index 11c42a2cc686b1..79cb49c558c7e4 100644 --- a/examples/all-clusters-app/mbed/CMakeLists.txt +++ b/examples/all-clusters-app/mbed/CMakeLists.txt @@ -84,7 +84,6 @@ target_sources(${APP_TARGET} PRIVATE ${APP_CLUSTERS}/basic/basic.cpp ${APP_CLUSTERS}/bindings/BindingManager.cpp ${APP_CLUSTERS}/bindings/bindings.cpp - ${APP_CLUSTERS}/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp ${APP_CLUSTERS}/on-off-server/on-off-server.cpp ${APP_CLUSTERS}/access-control-server/access-control-server.cpp ${APP_CLUSTERS}/account-login-server/account-login-server.cpp diff --git a/src/include/platform/PlatformManager.h b/src/include/platform/PlatformManager.h index 13f83b679c74a3..87b4629a9e0eb8 100644 --- a/src/include/platform/PlatformManager.h +++ b/src/include/platform/PlatformManager.h @@ -29,9 +29,6 @@ #include #include -#include -#include - namespace chip { namespace Dnssd { @@ -195,21 +192,6 @@ class PlatformManager CHIP_ERROR GetSupportedLocales(AttributeList & supportedLocales); CHIP_ERROR GetSupportedCalendarTypes( AttributeList & supportedCalendarTypes); - CHIP_ERROR GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId); - CHIP_ERROR GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer); - CHIP_ERROR GetBridgedHardwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer); - CHIP_ERROR GetBridgedSoftwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedManufacturingDate(EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth); - CHIP_ERROR GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR GetBridgedReachable(EndpointId endpoint, bool & reachable); - CHIP_ERROR GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize); private: bool mInitialized = false; @@ -482,81 +464,5 @@ inline CHIP_ERROR PlatformManager::GetSupportedCalendarTypes( return static_cast(this)->_GetSupportedCalendarTypes(supportedCalendarTypes); } -inline CHIP_ERROR PlatformManager::GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedVendorName(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId) -{ - return static_cast(this)->_GetBridgedVendorId(endpoint, vendorId); -} - -inline CHIP_ERROR PlatformManager::GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedProductName(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedNodeLabel(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer) -{ - return static_cast(this)->_GetBridgedHardwareVersion(endpoint, hardwareVer); -} - -inline CHIP_ERROR PlatformManager::GetBridgedHardwareVersionString(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedHardwareVersionString(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer) -{ - return static_cast(this)->_GetBridgedSoftwareVersion(endpoint, softwareVer); -} - -inline CHIP_ERROR PlatformManager::GetBridgedSoftwareVersionString(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedSoftwareVersionString(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedManufacturingDate( - EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth) -{ - return static_cast(this)->_GetBridgedManufacturingDate(endpoint, year, month, dayOfMonth); -} - -inline CHIP_ERROR PlatformManager::GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedPartNumber(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedProductURL(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedProductLabel(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedSerialNumber(endpoint, buf, bufSize); -} - -inline CHIP_ERROR PlatformManager::GetBridgedReachable(EndpointId endpoint, bool & reachable) -{ - return static_cast(this)->_GetBridgedReachable(endpoint, reachable); -} - -inline CHIP_ERROR PlatformManager::GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize) -{ - return static_cast(this)->_GetBridgedUniqueId(endpoint, buf, bufSize); -} - } // namespace DeviceLayer } // namespace chip diff --git a/src/include/platform/internal/GenericPlatformManagerImpl.h b/src/include/platform/internal/GenericPlatformManagerImpl.h index 2200531c03c3b4..11264e26772d26 100644 --- a/src/include/platform/internal/GenericPlatformManagerImpl.h +++ b/src/include/platform/internal/GenericPlatformManagerImpl.h @@ -24,9 +24,6 @@ #pragma once -#include -#include - namespace chip { namespace DeviceLayer { namespace Internal { @@ -71,21 +68,6 @@ class GenericPlatformManagerImpl CHIP_ERROR _GetSupportedLocales(AttributeList & supportedLocales); CHIP_ERROR _GetSupportedCalendarTypes( AttributeList & supportedCalendarTypes); - CHIP_ERROR _GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId); - CHIP_ERROR _GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer); - CHIP_ERROR _GetBridgedHardwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer); - CHIP_ERROR _GetBridgedSoftwareVersionString(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedManufacturingDate(EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth); - CHIP_ERROR _GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize); - CHIP_ERROR _GetBridgedReachable(EndpointId endpoint, bool & reachable); - CHIP_ERROR _GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize); // ===== Support methods that can be overridden by the implementation subclass. @@ -137,99 +119,6 @@ inline CHIP_ERROR GenericPlatformManagerImpl::_GetSupportedCalendarTy return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; } -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedVendorName(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedVendorId(EndpointId endpoint, uint16_t & vendorId) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedProductName(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedNodeLabel(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedHardwareVersion(EndpointId endpoint, uint16_t & hardwareVer) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedHardwareVersionString( - EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedSoftwareVersion(EndpointId endpoint, uint32_t & softwareVer) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedSoftwareVersionString( - EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedManufacturingDate( - EndpointId endpoint, uint16_t & year, uint8_t & month, uint8_t & dayOfMonth) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedPartNumber(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedProductURL(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedProductLabel(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedSerialNumber(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedReachable(EndpointId endpoint, bool & reachable) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - -template -inline CHIP_ERROR GenericPlatformManagerImpl::_GetBridgedUniqueId(EndpointId endpoint, char * buf, size_t bufSize) -{ - return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE; -} - } // namespace Internal } // namespace DeviceLayer } // namespace chip From 9b29c2b5024b0d29600e4d909d070015f9228362 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:18:50 -0500 Subject: [PATCH 13/16] Remove Bridged Basic from init helper list --- src/app/zap-templates/templates/app/helper.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index 0e15dac8a6739e..06c068cf17c36a 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -108,7 +108,6 @@ function asReadType(type) // List of all cluster with generated functions var endpointClusterWithInit = [ 'Basic', - 'Bridged Device Basic', 'Color Control', 'Groups', 'IAS Zone', From eb94307b47ee020084629ef08b418232c62f5adb Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:19:06 -0500 Subject: [PATCH 14/16] Revert "Removed duplicate Bridged Basic init callback" This reverts commit 632464e46c3d6d40f324cbfa1f5c51aa8bce6236. --- src/app/util/util.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/util/util.cpp b/src/app/util/util.cpp index 1c4595bd2a96f8..d0bfa582928ccb 100644 --- a/src/app/util/util.cpp +++ b/src/app/util/util.cpp @@ -234,6 +234,7 @@ void emberAfTick(void) // Cluster init functions that don't have a cluster implementation to define // them in. void MatterBooleanStatePluginServerInitCallback() {} +void MatterBridgedDeviceBasicPluginServerInitCallback() {} void MatterElectricalMeasurementPluginServerInitCallback() {} void MatterRelativeHumidityMeasurementPluginServerInitCallback() {} void MatterIlluminanceMeasurementPluginServerInitCallback() {} From 16ae5f2d16c707cdfd55a05bb2735b56bf3f1056 Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:43:13 -0500 Subject: [PATCH 15/16] ZAP regen --- .../all-clusters-app.matter | 34 ----- .../tv-casting-common/tv-casting-app.matter | 34 ----- .../CHIPAttributeTLVValueDecoder.cpp | 14 +- .../PluginApplicationCallbacks.h | 1 - .../zap-generated/callback-stub.cpp | 8 -- .../zap-generated/endpoint_config.h | 123 ++++++------------ .../zap-generated/gen_config.h | 6 - .../PluginApplicationCallbacks.h | 1 - .../zap-generated/callback-stub.cpp | 8 -- .../zap-generated/endpoint_config.h | 103 +++++---------- .../tv-casting-app/zap-generated/gen_config.h | 6 - 11 files changed, 87 insertions(+), 251 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index bbd42de1bc18c1..ecfbabe0230ec5 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -343,39 +343,6 @@ server cluster BridgedActions = 37 { readonly global attribute int16u clusterRevision = 65533; } -server cluster BridgedDeviceBasic = 57 { - critical event StartUp = 0 { - INT32U softwareVersion = 0; - } - - critical event ShutDown = 1 { - } - - info event Leave = 2 { - } - - info event ReachableChanged = 3 { - boolean reachableNewValue = 0; - } - - readonly attribute char_string<32> vendorName = 1; - readonly attribute vendor_id vendorID = 2; - readonly attribute char_string<32> productName = 3; - attribute char_string<32> nodeLabel = 5; - readonly attribute int16u hardwareVersion = 7; - readonly attribute char_string<64> hardwareVersionString = 8; - readonly attribute int32u softwareVersion = 9; - readonly attribute char_string<64> softwareVersionString = 10; - readonly attribute char_string<16> manufacturingDate = 11; - readonly attribute char_string<32> partNumber = 12; - readonly attribute long_char_string<256> productURL = 13; - readonly attribute char_string<64> productLabel = 14; - readonly attribute char_string<32> serialNumber = 15; - readonly attribute boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; - readonly global attribute int16u clusterRevision = 65533; -} - server cluster Channel = 1284 { enum ErrorTypeEnum : ENUM8 { kMultipleMatches = 0; @@ -3555,7 +3522,6 @@ endpoint 1 { server cluster Binding; server cluster BooleanState; server cluster BridgedActions; - server cluster BridgedDeviceBasic; server cluster Channel; server cluster ColorControl; server cluster ContentLauncher; diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 54dd1bc78459b6..c913715f7b30fa 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -296,39 +296,6 @@ server cluster Binding = 30 { command Unbind(UnbindRequest): DefaultSuccess = 1; } -server cluster BridgedDeviceBasic = 57 { - critical event StartUp = 0 { - INT32U softwareVersion = 0; - } - - critical event ShutDown = 1 { - } - - info event Leave = 2 { - } - - info event ReachableChanged = 3 { - boolean reachableNewValue = 0; - } - - readonly attribute char_string<32> vendorName = 1; - readonly attribute vendor_id vendorID = 2; - readonly attribute char_string<32> productName = 3; - attribute char_string<32> nodeLabel = 5; - readonly attribute int16u hardwareVersion = 7; - readonly attribute char_string<64> hardwareVersionString = 8; - readonly attribute int32u softwareVersion = 9; - readonly attribute char_string<64> softwareVersionString = 10; - readonly attribute char_string<16> manufacturingDate = 11; - readonly attribute char_string<32> partNumber = 12; - readonly attribute long_char_string<256> productURL = 13; - readonly attribute char_string<64> productLabel = 14; - readonly attribute char_string<32> serialNumber = 15; - readonly attribute boolean reachable = 17; - readonly attribute char_string<32> uniqueID = 18; - readonly global attribute int16u clusterRevision = 65533; -} - client cluster Channel = 1284 { enum ErrorTypeEnum : ENUM8 { kMultipleMatches = 0; @@ -2917,7 +2884,6 @@ endpoint 1 { server cluster BarrierControl; server cluster BinaryInputBasic; server cluster Binding; - server cluster BridgedDeviceBasic; binding cluster Channel; server cluster ColorControl; binding cluster ContentLauncher; diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp index 16c6954b0dddec..e7887f44e0ac7d 100644 --- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp +++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp @@ -2248,7 +2248,7 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR std::string valueClassName = "java/lang/Integer"; std::string valueCtorSignature = "(I)V"; chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), - cppValue, value); + static_cast(cppValue), value); return value; } case Attributes::ProductName::Id: { @@ -2404,6 +2404,18 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR value); return value; } + case Attributes::UniqueID::Id: { + using TypeInfo = Attributes::UniqueID::TypeInfo; + TypeInfo::DecodableType cppValue; + *aError = app::DataModel::Decode(aReader, cppValue); + if (*aError != CHIP_NO_ERROR) + { + return nullptr; + } + jobject value; + value = env->NewStringUTF(std::string(cppValue.data(), cppValue.size()).c_str()); + return value; + } case Attributes::ServerGeneratedCommandList::Id: { using TypeInfo = Attributes::ServerGeneratedCommandList::TypeInfo; TypeInfo::DecodableType cppValue; diff --git a/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h index 7409f26ed69162..2e5e6dbeef9c53 100644 --- a/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h +++ b/zzz_generated/all-clusters-app/zap-generated/PluginApplicationCallbacks.h @@ -34,7 +34,6 @@ MatterBindingPluginServerInitCallback(); \ MatterBooleanStatePluginServerInitCallback(); \ MatterBridgedActionsPluginServerInitCallback(); \ - MatterBridgedDeviceBasicPluginServerInitCallback(); \ MatterChannelPluginServerInitCallback(); \ MatterColorControlPluginServerInitCallback(); \ MatterContentLauncherPluginServerInitCallback(); \ diff --git a/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp b/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp index dd7d8f5dc698a4..e6a2a83c6bff6f 100644 --- a/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp +++ b/zzz_generated/all-clusters-app/zap-generated/callback-stub.cpp @@ -65,9 +65,6 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_BRIDGED_ACTIONS_CLUSTER_ID: emberAfBridgedActionsClusterInitCallback(endpoint); break; - case ZCL_BRIDGED_DEVICE_BASIC_CLUSTER_ID: - emberAfBridgedDeviceBasicClusterInitCallback(endpoint); - break; case ZCL_CHANNEL_CLUSTER_ID: emberAfChannelClusterInitCallback(endpoint); break; @@ -287,11 +284,6 @@ void __attribute__((weak)) emberAfBridgedActionsClusterInitCallback(EndpointId e // To prevent warning (void) endpoint; } -void __attribute__((weak)) emberAfBridgedDeviceBasicClusterInitCallback(EndpointId endpoint) -{ - // To prevent warning - (void) endpoint; -} void __attribute__((weak)) emberAfChannelClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h index 09284d703835fb..02a84f231dc9c4 100644 --- a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h +++ b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h @@ -1463,7 +1463,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 643 +#define GENERATED_ATTRIBUTE_COUNT 627 #define GENERATED_ATTRIBUTES \ { \ \ @@ -1862,31 +1862,6 @@ { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_LONG_DEFAULTS_INDEX(665) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ - /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - { 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorName */ \ - { 0x00000002, ZAP_TYPE(VENDOR_ID), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x00000003, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \ - { 0x00000005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \ - { 0x00000007, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */ \ - { 0x00000008, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* HardwareVersionString */ \ - { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */ \ - { 0x0000000A, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* SoftwareVersionString */ \ - { 0x0000000B, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */ \ - { 0x0000000C, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \ - { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ProductURL */ \ - { 0x0000000E, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \ - { 0x0000000F, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \ - { 0x00000011, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ - { 0x00000012, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ /* Endpoint: 1, Cluster: Switch (server) */ \ { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* number of positions */ \ { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* current position */ \ @@ -2458,9 +2433,6 @@ const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \ (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \ }; \ - const EmberAfGenericClusterFunction chipFuncArrayBridgedDeviceBasicServer[] = { \ - (EmberAfGenericClusterFunction) emberAfBridgedDeviceBasicClusterServerInitCallback, \ - }; \ const EmberAfGenericClusterFunction chipFuncArrayDoorLockServer[] = { \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerAttributeChangedCallback, \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerPreAttributeChangedCallback, \ @@ -2856,7 +2828,7 @@ // clang-format on #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask -#define GENERATED_CLUSTER_COUNT 76 +#define GENERATED_CLUSTER_COUNT 75 // clang-format off #define GENERATED_CLUSTERS { \ @@ -3278,21 +3250,10 @@ .clientGeneratedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 131 ) ,\ .serverGeneratedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 138 ) ,\ },\ - { \ - /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - .clusterId = 0x00000039, \ - .attributes = ZAP_ATTRIBUTE_INDEX(269), \ - .attributeCount = 16, \ - .clusterSize = 36, \ - .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ - .functions = chipFuncArrayBridgedDeviceBasicServer, \ - .clientGeneratedCommandList = nullptr ,\ - .serverGeneratedCommandList = nullptr ,\ - },\ { \ /* Endpoint: 1, Cluster: Switch (server) */ \ .clusterId = 0x0000003B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(285), \ + .attributes = ZAP_ATTRIBUTE_INDEX(269), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3303,7 +3264,7 @@ { \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ .clusterId = 0x00000040, \ - .attributes = ZAP_ATTRIBUTE_INDEX(290), \ + .attributes = ZAP_ATTRIBUTE_INDEX(274), \ .attributeCount = 2, \ .clusterSize = 256, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3314,7 +3275,7 @@ { \ /* Endpoint: 1, Cluster: User Label (server) */ \ .clusterId = 0x00000041, \ - .attributes = ZAP_ATTRIBUTE_INDEX(292), \ + .attributes = ZAP_ATTRIBUTE_INDEX(276), \ .attributeCount = 2, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3325,7 +3286,7 @@ { \ /* Endpoint: 1, Cluster: Boolean State (server) */ \ .clusterId = 0x00000045, \ - .attributes = ZAP_ATTRIBUTE_INDEX(294), \ + .attributes = ZAP_ATTRIBUTE_INDEX(278), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3336,7 +3297,7 @@ { \ /* Endpoint: 1, Cluster: Mode Select (server) */ \ .clusterId = 0x00000050, \ - .attributes = ZAP_ATTRIBUTE_INDEX(296), \ + .attributes = ZAP_ATTRIBUTE_INDEX(280), \ .attributeCount = 6, \ .clusterSize = 38, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3347,7 +3308,7 @@ { \ /* Endpoint: 1, Cluster: Door Lock (server) */ \ .clusterId = 0x00000101, \ - .attributes = ZAP_ATTRIBUTE_INDEX(302), \ + .attributes = ZAP_ATTRIBUTE_INDEX(286), \ .attributeCount = 32, \ .clusterSize = 54, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -3358,7 +3319,7 @@ { \ /* Endpoint: 1, Cluster: Window Covering (server) */ \ .clusterId = 0x00000102, \ - .attributes = ZAP_ATTRIBUTE_INDEX(334), \ + .attributes = ZAP_ATTRIBUTE_INDEX(318), \ .attributeCount = 20, \ .clusterSize = 35, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3369,7 +3330,7 @@ { \ /* Endpoint: 1, Cluster: Barrier Control (server) */ \ .clusterId = 0x00000103, \ - .attributes = ZAP_ATTRIBUTE_INDEX(354), \ + .attributes = ZAP_ATTRIBUTE_INDEX(338), \ .attributeCount = 5, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3380,7 +3341,7 @@ { \ /* Endpoint: 1, Cluster: Pump Configuration and Control (server) */ \ .clusterId = 0x00000200, \ - .attributes = ZAP_ATTRIBUTE_INDEX(359), \ + .attributes = ZAP_ATTRIBUTE_INDEX(343), \ .attributeCount = 26, \ .clusterSize = 54, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \ @@ -3391,7 +3352,7 @@ { \ /* Endpoint: 1, Cluster: Thermostat (server) */ \ .clusterId = 0x00000201, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 19, \ .clusterSize = 34, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -3402,7 +3363,7 @@ { \ /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \ .clusterId = 0x00000204, \ - .attributes = ZAP_ATTRIBUTE_INDEX(404), \ + .attributes = ZAP_ATTRIBUTE_INDEX(388), \ .attributeCount = 4, \ .clusterSize = 5, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -3413,7 +3374,7 @@ { \ /* Endpoint: 1, Cluster: Color Control (server) */ \ .clusterId = 0x00000300, \ - .attributes = ZAP_ATTRIBUTE_INDEX(408), \ + .attributes = ZAP_ATTRIBUTE_INDEX(392), \ .attributeCount = 53, \ .clusterSize = 341, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -3424,7 +3385,7 @@ { \ /* Endpoint: 1, Cluster: Illuminance Measurement (server) */ \ .clusterId = 0x00000400, \ - .attributes = ZAP_ATTRIBUTE_INDEX(461), \ + .attributes = ZAP_ATTRIBUTE_INDEX(445), \ .attributeCount = 6, \ .clusterSize = 11, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3435,7 +3396,7 @@ { \ /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(467), \ + .attributes = ZAP_ATTRIBUTE_INDEX(451), \ .attributeCount = 5, \ .clusterSize = 10, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3446,7 +3407,7 @@ { \ /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \ .clusterId = 0x00000403, \ - .attributes = ZAP_ATTRIBUTE_INDEX(472), \ + .attributes = ZAP_ATTRIBUTE_INDEX(456), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3457,7 +3418,7 @@ { \ /* Endpoint: 1, Cluster: Flow Measurement (server) */ \ .clusterId = 0x00000404, \ - .attributes = ZAP_ATTRIBUTE_INDEX(476), \ + .attributes = ZAP_ATTRIBUTE_INDEX(460), \ .attributeCount = 5, \ .clusterSize = 10, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3468,7 +3429,7 @@ { \ /* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(481), \ + .attributes = ZAP_ATTRIBUTE_INDEX(465), \ .attributeCount = 5, \ .clusterSize = 10, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3479,7 +3440,7 @@ { \ /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \ .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(486), \ + .attributes = ZAP_ATTRIBUTE_INDEX(470), \ .attributeCount = 4, \ .clusterSize = 5, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -3490,7 +3451,7 @@ { \ /* Endpoint: 1, Cluster: IAS Zone (server) */ \ .clusterId = 0x00000500, \ - .attributes = ZAP_ATTRIBUTE_INDEX(490), \ + .attributes = ZAP_ATTRIBUTE_INDEX(474), \ .attributeCount = 6, \ .clusterSize = 16, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \ @@ -3501,7 +3462,7 @@ { \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ .clusterId = 0x00000503, \ - .attributes = ZAP_ATTRIBUTE_INDEX(496), \ + .attributes = ZAP_ATTRIBUTE_INDEX(480), \ .attributeCount = 2, \ .clusterSize = 35, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3512,7 +3473,7 @@ { \ /* Endpoint: 1, Cluster: Channel (server) */ \ .clusterId = 0x00000504, \ - .attributes = ZAP_ATTRIBUTE_INDEX(498), \ + .attributes = ZAP_ATTRIBUTE_INDEX(482), \ .attributeCount = 2, \ .clusterSize = 256, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3523,7 +3484,7 @@ { \ /* Endpoint: 1, Cluster: Target Navigator (server) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(500), \ + .attributes = ZAP_ATTRIBUTE_INDEX(484), \ .attributeCount = 3, \ .clusterSize = 257, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3534,7 +3495,7 @@ { \ /* Endpoint: 1, Cluster: Media Playback (server) */ \ .clusterId = 0x00000506, \ - .attributes = ZAP_ATTRIBUTE_INDEX(503), \ + .attributes = ZAP_ATTRIBUTE_INDEX(487), \ .attributeCount = 7, \ .clusterSize = 39, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3545,7 +3506,7 @@ { \ /* Endpoint: 1, Cluster: Media Input (server) */ \ .clusterId = 0x00000507, \ - .attributes = ZAP_ATTRIBUTE_INDEX(510), \ + .attributes = ZAP_ATTRIBUTE_INDEX(494), \ .attributeCount = 3, \ .clusterSize = 257, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3556,7 +3517,7 @@ { \ /* Endpoint: 1, Cluster: Low Power (server) */ \ .clusterId = 0x00000508, \ - .attributes = ZAP_ATTRIBUTE_INDEX(513), \ + .attributes = ZAP_ATTRIBUTE_INDEX(497), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3567,7 +3528,7 @@ { \ /* Endpoint: 1, Cluster: Keypad Input (server) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(514), \ + .attributes = ZAP_ATTRIBUTE_INDEX(498), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3578,7 +3539,7 @@ { \ /* Endpoint: 1, Cluster: Content Launcher (server) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(515), \ + .attributes = ZAP_ATTRIBUTE_INDEX(499), \ .attributeCount = 3, \ .clusterSize = 260, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3589,7 +3550,7 @@ { \ /* Endpoint: 1, Cluster: Audio Output (server) */ \ .clusterId = 0x0000050B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(518), \ + .attributes = ZAP_ATTRIBUTE_INDEX(502), \ .attributeCount = 3, \ .clusterSize = 257, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3600,7 +3561,7 @@ { \ /* Endpoint: 1, Cluster: Application Launcher (server) */ \ .clusterId = 0x0000050C, \ - .attributes = ZAP_ATTRIBUTE_INDEX(521), \ + .attributes = ZAP_ATTRIBUTE_INDEX(505), \ .attributeCount = 2, \ .clusterSize = 256, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3611,7 +3572,7 @@ { \ /* Endpoint: 1, Cluster: Application Basic (server) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(523), \ + .attributes = ZAP_ATTRIBUTE_INDEX(507), \ .attributeCount = 8, \ .clusterSize = 138, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3622,7 +3583,7 @@ { \ /* Endpoint: 1, Cluster: Account Login (server) */ \ .clusterId = 0x0000050E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(531), \ + .attributes = ZAP_ATTRIBUTE_INDEX(515), \ .attributeCount = 1, \ .clusterSize = 2, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3633,7 +3594,7 @@ { \ /* Endpoint: 1, Cluster: Test Cluster (server) */ \ .clusterId = 0x0000050F, \ - .attributes = ZAP_ATTRIBUTE_INDEX(532), \ + .attributes = ZAP_ATTRIBUTE_INDEX(516), \ .attributeCount = 81, \ .clusterSize = 3285, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3644,7 +3605,7 @@ { \ /* Endpoint: 1, Cluster: Electrical Measurement (server) */ \ .clusterId = 0x00000B04, \ - .attributes = ZAP_ATTRIBUTE_INDEX(613), \ + .attributes = ZAP_ATTRIBUTE_INDEX(597), \ .attributeCount = 12, \ .clusterSize = 28, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3655,7 +3616,7 @@ { \ /* Endpoint: 2, Cluster: Groups (server) */ \ .clusterId = 0x00000004, \ - .attributes = ZAP_ATTRIBUTE_INDEX(625), \ + .attributes = ZAP_ATTRIBUTE_INDEX(609), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -3666,7 +3627,7 @@ { \ /* Endpoint: 2, Cluster: On/Off (server) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(627), \ + .attributes = ZAP_ATTRIBUTE_INDEX(611), \ .attributeCount = 7, \ .clusterSize = 13, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -3677,7 +3638,7 @@ { \ /* Endpoint: 2, Cluster: Descriptor (server) */ \ .clusterId = 0x0000001D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(634), \ + .attributes = ZAP_ATTRIBUTE_INDEX(618), \ .attributeCount = 5, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -3688,7 +3649,7 @@ { \ /* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \ .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(639), \ + .attributes = ZAP_ATTRIBUTE_INDEX(623), \ .attributeCount = 4, \ .clusterSize = 5, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -3702,12 +3663,12 @@ #define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index]) -#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 75 +#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 74 // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 26, 864 }, { ZAP_CLUSTER_INDEX(26), 46, 6233 }, { ZAP_CLUSTER_INDEX(72), 4, 21 }, \ + { ZAP_CLUSTER_INDEX(0), 26, 864 }, { ZAP_CLUSTER_INDEX(26), 45, 6197 }, { ZAP_CLUSTER_INDEX(71), 4, 21 }, \ } // Largest attribute size is needed for various buffers @@ -3719,7 +3680,7 @@ static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, #define ATTRIBUTE_SINGLETONS_SIZE (39) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (7118) +#define ATTRIBUTE_MAX_SIZE (7082) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3) diff --git a/zzz_generated/all-clusters-app/zap-generated/gen_config.h b/zzz_generated/all-clusters-app/zap-generated/gen_config.h index 9c06dc51c91814..cbb196857ff013 100644 --- a/zzz_generated/all-clusters-app/zap-generated/gen_config.h +++ b/zzz_generated/all-clusters-app/zap-generated/gen_config.h @@ -41,7 +41,6 @@ #define EMBER_AF_BINDING_CLUSTER_SERVER_ENDPOINT_COUNT (2) #define EMBER_AF_BOOLEAN_STATE_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_BRIDGED_ACTIONS_CLUSTER_SERVER_ENDPOINT_COUNT (1) -#define EMBER_AF_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_CHANNEL_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_CONTENT_LAUNCH_CLUSTER_SERVER_ENDPOINT_COUNT (1) @@ -156,11 +155,6 @@ #define EMBER_AF_PLUGIN_BRIDGED_ACTIONS_SERVER #define EMBER_AF_PLUGIN_BRIDGED_ACTIONS -// Use this macro to check if the server side of the Bridged Device Basic cluster is included -#define ZCL_USING_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER -#define EMBER_AF_PLUGIN_BRIDGED_DEVICE_BASIC_SERVER -#define EMBER_AF_PLUGIN_BRIDGED_DEVICE_BASIC - // Use this macro to check if the server side of the Channel cluster is included #define ZCL_USING_CHANNEL_CLUSTER_SERVER #define EMBER_AF_PLUGIN_CHANNEL_SERVER diff --git a/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h index 163e2ff1b01608..54bdd962cede6c 100644 --- a/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h +++ b/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h @@ -32,7 +32,6 @@ MatterBasicPluginServerInitCallback(); \ MatterBinaryInputBasicPluginServerInitCallback(); \ MatterBindingPluginServerInitCallback(); \ - MatterBridgedDeviceBasicPluginServerInitCallback(); \ MatterChannelPluginClientInitCallback(); \ MatterColorControlPluginServerInitCallback(); \ MatterContentLauncherPluginClientInitCallback(); \ diff --git a/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp b/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp index 524ea09fec1a97..a7d2567d80cdc5 100644 --- a/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp +++ b/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp @@ -59,9 +59,6 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId) case ZCL_BINDING_CLUSTER_ID: emberAfBindingClusterInitCallback(endpoint); break; - case ZCL_BRIDGED_DEVICE_BASIC_CLUSTER_ID: - emberAfBridgedDeviceBasicClusterInitCallback(endpoint); - break; case ZCL_CHANNEL_CLUSTER_ID: emberAfChannelClusterInitCallback(endpoint); break; @@ -241,11 +238,6 @@ void __attribute__((weak)) emberAfBindingClusterInitCallback(EndpointId endpoint // To prevent warning (void) endpoint; } -void __attribute__((weak)) emberAfBridgedDeviceBasicClusterInitCallback(EndpointId endpoint) -{ - // To prevent warning - (void) endpoint; -} void __attribute__((weak)) emberAfChannelClusterInitCallback(EndpointId endpoint) { // To prevent warning diff --git a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h index 00f266c31041e8..1537e2db755c60 100644 --- a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h +++ b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h @@ -843,7 +843,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 417 +#define GENERATED_ATTRIBUTE_COUNT 401 #define GENERATED_ATTRIBUTES \ { \ \ @@ -1179,31 +1179,6 @@ /* Endpoint: 1, Cluster: Binding (server) */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \ \ - /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - { 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorName */ \ - { 0x00000002, ZAP_TYPE(VENDOR_ID), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* VendorID */ \ - { 0x00000003, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \ - { 0x00000005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ - ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \ - { 0x00000007, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */ \ - { 0x00000008, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* HardwareVersionString */ \ - { 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */ \ - { 0x0000000A, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* SoftwareVersionString */ \ - { 0x0000000B, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */ \ - { 0x0000000C, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \ - { 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ProductURL */ \ - { 0x0000000E, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \ - { 0x0000000F, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \ - ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \ - { 0x00000011, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \ - { 0x00000012, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \ - { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \ - \ /* Endpoint: 1, Cluster: Switch (server) */ \ { 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(2) }, /* number of positions */ \ { 0x00000001, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* current position */ \ @@ -1482,9 +1457,6 @@ const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \ (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \ }; \ - const EmberAfGenericClusterFunction chipFuncArrayBridgedDeviceBasicServer[] = { \ - (EmberAfGenericClusterFunction) emberAfBridgedDeviceBasicClusterServerInitCallback, \ - }; \ const EmberAfGenericClusterFunction chipFuncArrayDoorLockServer[] = { \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerAttributeChangedCallback, \ (EmberAfGenericClusterFunction) MatterDoorLockClusterServerPreAttributeChangedCallback, \ @@ -1716,7 +1688,7 @@ // clang-format on #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask -#define GENERATED_CLUSTER_COUNT 58 +#define GENERATED_CLUSTER_COUNT 57 // clang-format off #define GENERATED_CLUSTERS { \ @@ -2050,21 +2022,10 @@ .clientGeneratedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 98 ) ,\ .serverGeneratedCommandList = nullptr ,\ },\ - { \ - /* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \ - .clusterId = 0x00000039, \ - .attributes = ZAP_ATTRIBUTE_INDEX(227), \ - .attributeCount = 16, \ - .clusterSize = 36, \ - .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ - .functions = chipFuncArrayBridgedDeviceBasicServer, \ - .clientGeneratedCommandList = nullptr ,\ - .serverGeneratedCommandList = nullptr ,\ - },\ { \ /* Endpoint: 1, Cluster: Switch (server) */ \ .clusterId = 0x0000003B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(243), \ + .attributes = ZAP_ATTRIBUTE_INDEX(227), \ .attributeCount = 3, \ .clusterSize = 4, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2075,7 +2036,7 @@ { \ /* Endpoint: 1, Cluster: Fixed Label (server) */ \ .clusterId = 0x00000040, \ - .attributes = ZAP_ATTRIBUTE_INDEX(246), \ + .attributes = ZAP_ATTRIBUTE_INDEX(230), \ .attributeCount = 2, \ .clusterSize = 256, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2086,7 +2047,7 @@ { \ /* Endpoint: 1, Cluster: Door Lock (server) */ \ .clusterId = 0x00000101, \ - .attributes = ZAP_ATTRIBUTE_INDEX(248), \ + .attributes = ZAP_ATTRIBUTE_INDEX(232), \ .attributeCount = 28, \ .clusterSize = 46, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -2097,7 +2058,7 @@ { \ /* Endpoint: 1, Cluster: Window Covering (server) */ \ .clusterId = 0x00000102, \ - .attributes = ZAP_ATTRIBUTE_INDEX(276), \ + .attributes = ZAP_ATTRIBUTE_INDEX(260), \ .attributeCount = 19, \ .clusterSize = 31, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2108,7 +2069,7 @@ { \ /* Endpoint: 1, Cluster: Barrier Control (server) */ \ .clusterId = 0x00000103, \ - .attributes = ZAP_ATTRIBUTE_INDEX(295), \ + .attributes = ZAP_ATTRIBUTE_INDEX(279), \ .attributeCount = 5, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2119,7 +2080,7 @@ { \ /* Endpoint: 1, Cluster: Thermostat (server) */ \ .clusterId = 0x00000201, \ - .attributes = ZAP_ATTRIBUTE_INDEX(300), \ + .attributes = ZAP_ATTRIBUTE_INDEX(284), \ .attributeCount = 10, \ .clusterSize = 17, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2130,7 +2091,7 @@ { \ /* Endpoint: 1, Cluster: Color Control (server) */ \ .clusterId = 0x00000300, \ - .attributes = ZAP_ATTRIBUTE_INDEX(310), \ + .attributes = ZAP_ATTRIBUTE_INDEX(294), \ .attributeCount = 51, \ .clusterSize = 337, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2141,7 +2102,7 @@ { \ /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(361), \ + .attributes = ZAP_ATTRIBUTE_INDEX(345), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2152,7 +2113,7 @@ { \ /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \ .clusterId = 0x00000403, \ - .attributes = ZAP_ATTRIBUTE_INDEX(365), \ + .attributes = ZAP_ATTRIBUTE_INDEX(349), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2163,7 +2124,7 @@ { \ /* Endpoint: 1, Cluster: Flow Measurement (server) */ \ .clusterId = 0x00000404, \ - .attributes = ZAP_ATTRIBUTE_INDEX(369), \ + .attributes = ZAP_ATTRIBUTE_INDEX(353), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2174,7 +2135,7 @@ { \ /* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(373), \ + .attributes = ZAP_ATTRIBUTE_INDEX(357), \ .attributeCount = 4, \ .clusterSize = 8, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2185,7 +2146,7 @@ { \ /* Endpoint: 1, Cluster: IAS Zone (server) */ \ .clusterId = 0x00000500, \ - .attributes = ZAP_ATTRIBUTE_INDEX(377), \ + .attributes = ZAP_ATTRIBUTE_INDEX(361), \ .attributeCount = 6, \ .clusterSize = 16, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \ @@ -2196,7 +2157,7 @@ { \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ .clusterId = 0x00000503, \ - .attributes = ZAP_ATTRIBUTE_INDEX(383), \ + .attributes = ZAP_ATTRIBUTE_INDEX(367), \ .attributeCount = 2, \ .clusterSize = 35, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2207,7 +2168,7 @@ { \ /* Endpoint: 1, Cluster: Channel (client) */ \ .clusterId = 0x00000504, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2218,7 +2179,7 @@ { \ /* Endpoint: 1, Cluster: Target Navigator (client) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2229,7 +2190,7 @@ { \ /* Endpoint: 1, Cluster: Media Playback (client) */ \ .clusterId = 0x00000506, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2240,7 +2201,7 @@ { \ /* Endpoint: 1, Cluster: Media Input (client) */ \ .clusterId = 0x00000507, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2251,7 +2212,7 @@ { \ /* Endpoint: 1, Cluster: Keypad Input (client) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2262,7 +2223,7 @@ { \ /* Endpoint: 1, Cluster: Content Launcher (client) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2273,7 +2234,7 @@ { \ /* Endpoint: 1, Cluster: Audio Output (client) */ \ .clusterId = 0x0000050B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2284,7 +2245,7 @@ { \ /* Endpoint: 1, Cluster: Application Launcher (client) */ \ .clusterId = 0x0000050C, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2295,7 +2256,7 @@ { \ /* Endpoint: 1, Cluster: Application Basic (client) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2306,7 +2267,7 @@ { \ /* Endpoint: 1, Cluster: Account Login (client) */ \ .clusterId = 0x0000050E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 0, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(CLIENT), \ @@ -2317,7 +2278,7 @@ { \ /* Endpoint: 1, Cluster: Test Cluster (server) */ \ .clusterId = 0x0000050F, \ - .attributes = ZAP_ATTRIBUTE_INDEX(385), \ + .attributes = ZAP_ATTRIBUTE_INDEX(369), \ .attributeCount = 21, \ .clusterSize = 1582, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2328,7 +2289,7 @@ { \ /* Endpoint: 2, Cluster: On/Off (server) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(406), \ + .attributes = ZAP_ATTRIBUTE_INDEX(390), \ .attributeCount = 2, \ .clusterSize = 3, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2339,7 +2300,7 @@ { \ /* Endpoint: 2, Cluster: Descriptor (server) */ \ .clusterId = 0x0000001D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(408), \ + .attributes = ZAP_ATTRIBUTE_INDEX(392), \ .attributeCount = 5, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2350,7 +2311,7 @@ { \ /* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \ .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(413), \ + .attributes = ZAP_ATTRIBUTE_INDEX(397), \ .attributeCount = 4, \ .clusterSize = 5, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2364,12 +2325,12 @@ #define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index]) -#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 48 +#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 47 // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 22, 1107 }, { ZAP_CLUSTER_INDEX(22), 33, 2457 }, { ZAP_CLUSTER_INDEX(55), 3, 8 }, \ + { ZAP_CLUSTER_INDEX(0), 22, 1107 }, { ZAP_CLUSTER_INDEX(22), 32, 2421 }, { ZAP_CLUSTER_INDEX(54), 3, 8 }, \ } // Largest attribute size is needed for various buffers @@ -2381,7 +2342,7 @@ static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, #define ATTRIBUTE_SINGLETONS_SIZE (39) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (3572) +#define ATTRIBUTE_MAX_SIZE (3536) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (3) diff --git a/zzz_generated/tv-casting-app/zap-generated/gen_config.h b/zzz_generated/tv-casting-app/zap-generated/gen_config.h index d3b21926d96e7c..bed8fcb541c401 100644 --- a/zzz_generated/tv-casting-app/zap-generated/gen_config.h +++ b/zzz_generated/tv-casting-app/zap-generated/gen_config.h @@ -39,7 +39,6 @@ #define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_BINARY_INPUT_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_BINDING_CLUSTER_SERVER_ENDPOINT_COUNT (2) -#define EMBER_AF_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_CHANNEL_CLUSTER_CLIENT_ENDPOINT_COUNT (1) #define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1) #define EMBER_AF_CONTENT_LAUNCH_CLUSTER_CLIENT_ENDPOINT_COUNT (1) @@ -130,11 +129,6 @@ #define EMBER_AF_PLUGIN_BINDING_SERVER #define EMBER_AF_PLUGIN_BINDING -// Use this macro to check if the server side of the Bridged Device Basic cluster is included -#define ZCL_USING_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER -#define EMBER_AF_PLUGIN_BRIDGED_DEVICE_BASIC_SERVER -#define EMBER_AF_PLUGIN_BRIDGED_DEVICE_BASIC - // Use this macro to check if the client side of the Channel cluster is included #define ZCL_USING_CHANNEL_CLUSTER_CLIENT #define EMBER_AF_PLUGIN_CHANNEL_CLIENT From 6c92cc4352aca53c0c0bb62aaa22495c4f82a59b Mon Sep 17 00:00:00 2001 From: Leonard Zgrablic <32855262+lzgrablic02@users.noreply.github.com> Date: Mon, 7 Feb 2022 16:14:05 -0500 Subject: [PATCH 16/16] Bridged Basic ReachableChanged event --- ...ridged-device-basic-information-server.cpp | 259 ++---------------- .../bridged-device-basic-information-server.h | 29 -- src/app/zap-templates/templates/app/helper.js | 2 +- 3 files changed, 22 insertions(+), 268 deletions(-) delete mode 100644 src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.h diff --git a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp index 5d8a9f9a071616..a569c87d29153d 100644 --- a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp +++ b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.cpp @@ -16,265 +16,48 @@ * */ -#include "bridged-device-basic-information-server.h" - #include +#include #include +#include #include -#include -#include -#include -#include - -#include -#include +#include +#include +#include +#include using namespace chip; using namespace chip::app; -using namespace chip::app::Clusters; using namespace chip::app::Clusters::BridgedDeviceBasic; -using namespace chip::app::Clusters::BridgedDeviceBasic::Attributes; -using namespace chip::DeviceLayer; namespace { -class BridgedDeviceBasicInformationAttrAccess : public AttributeAccessInterface -{ -public: - // Register for the Bridged Device Basic Information cluster on all endpoints. - BridgedDeviceBasicInformationAttrAccess() : AttributeAccessInterface(Optional::Missing(), BridgedDeviceBasic::Id) {} - - CHIP_ERROR Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder) override; -}; - -BridgedDeviceBasicInformationAttrAccess gAttrAccess; - -CHIP_ERROR EncodeStringOnSuccess(CHIP_ERROR status, AttributeValueEncoder & encoder, const char * buf, size_t maxBufSize) +void ReachableChanged(EndpointId endpointId) { - ReturnErrorOnFailure(status); - return encoder.Encode(CharSpan(buf, strnlen(buf, maxBufSize))); -} - -CHIP_ERROR BridgedDeviceBasicInformationAttrAccess::Read(const ConcreteReadAttributePath & aPath, AttributeValueEncoder & aEncoder) -{ - if (aPath.mClusterId != BridgedDeviceBasic::Id) + bool reachable = false; + if (EMBER_ZCL_STATUS_SUCCESS != Attributes::Reachable::Get(endpointId, &reachable)) { - // We shouldn't have been called at all. - return CHIP_ERROR_INVALID_ARGUMENT; + ChipLogError(Zcl, "ReachabledChanged: Failed to get Reachable value"); } - CHIP_ERROR status = CHIP_NO_ERROR; - - switch (aPath.mAttributeId) + Events::ReachableChanged::Type event{ reachable }; + EventNumber eventNumber; + if (CHIP_NO_ERROR != LogEvent(event, endpointId, eventNumber)) { - case VendorName::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxVendorNameLength; - char vendorName[kMaxLen + 1] = { 0 }; - status = - DeviceLayer::PlatformMgr().GetBridgedVendorName(aPath.mEndpointId, vendorName, sizeof(vendorName)); - status = EncodeStringOnSuccess(status, aEncoder, vendorName, kMaxLen); - break; - } - - case VendorID::Id: { - uint16_t vendorId = 0; - status = DeviceLayer::PlatformMgr().GetBridgedVendorId(aPath.mEndpointId, vendorId); - if (status == CHIP_NO_ERROR) - { - status = aEncoder.Encode(vendorId); - } - break; - } - - case ProductName::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxProductNameLength; - char productName[kMaxLen + 1] = { 0 }; - status = - DeviceLayer::PlatformMgr().GetBridgedProductName(aPath.mEndpointId, productName, sizeof(productName)); - status = EncodeStringOnSuccess(status, aEncoder, productName, kMaxLen); - break; - } - - case HardwareVersion::Id: { - uint16_t hardwareVersion = 0; - status = DeviceLayer::PlatformMgr().GetBridgedHardwareVersion(aPath.mEndpointId, hardwareVersion); - if (status == CHIP_NO_ERROR) - { - status = aEncoder.Encode(hardwareVersion); - } - break; - } - - case HardwareVersionString::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxHardwareVersionStringLength; - char hardwareVersionString[kMaxLen + 1] = { 0 }; - status = DeviceLayer::PlatformMgr().GetBridgedHardwareVersionString( - aPath.mEndpointId, hardwareVersionString, sizeof(hardwareVersionString)); - status = EncodeStringOnSuccess(status, aEncoder, hardwareVersionString, kMaxLen); - break; - } - - case SoftwareVersion::Id: { - uint32_t softwareVersion = 0; - status = DeviceLayer::PlatformMgr().GetBridgedSoftwareVersion(aPath.mEndpointId, softwareVersion); - if (status == CHIP_NO_ERROR) - { - status = aEncoder.Encode(softwareVersion); - } - break; - } - - case SoftwareVersionString::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxSoftwareVersionStringLength; - char softwareVersionString[kMaxLen + 1] = { 0 }; - status = DeviceLayer::PlatformMgr().GetBridgedSoftwareVersionString( - aPath.mEndpointId, softwareVersionString, sizeof(softwareVersionString)); - status = EncodeStringOnSuccess(status, aEncoder, softwareVersionString, kMaxLen); - break; - } - - case ManufacturingDate::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxManufacturingDateLength; - char manufacturingDateString[kMaxLen + 1] = { 0 }; - uint16_t manufacturingYear; - uint8_t manufacturingMonth; - uint8_t manufacturingDayOfMonth; - status = DeviceLayer::PlatformMgr().GetBridgedManufacturingDate( - aPath.mEndpointId, manufacturingYear, manufacturingMonth, manufacturingDayOfMonth); - - // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done - if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) - { - manufacturingYear = 2020; - manufacturingMonth = 1; - manufacturingDayOfMonth = 1; - status = CHIP_NO_ERROR; - } - - if (status == CHIP_NO_ERROR) - { - // Format is YYYYMMDD - snprintf(manufacturingDateString, sizeof(manufacturingDateString), "%04" PRIu16 "%02" PRIu8 "%02" PRIu8, - manufacturingYear, manufacturingMonth, manufacturingDayOfMonth); - status = aEncoder.Encode(CharSpan(manufacturingDateString, strnlen(manufacturingDateString, kMaxLen))); - } - break; - } - - case PartNumber::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxPartNumberLength; - char partNumber[kMaxLen + 1] = { 0 }; - status = - DeviceLayer::PlatformMgr().GetBridgedPartNumber(aPath.mEndpointId, partNumber, sizeof(partNumber)); - - // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done - if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) - { - partNumber[0] = '\0'; - status = CHIP_NO_ERROR; - } - - status = EncodeStringOnSuccess(status, aEncoder, partNumber, kMaxLen); - break; - } - - case ProductURL::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxProductURLLength; - char productUrl[kMaxLen + 1] = { 0 }; - status = - DeviceLayer::PlatformMgr().GetBridgedProductURL(aPath.mEndpointId, productUrl, sizeof(productUrl)); - - // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done - if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) - { - productUrl[0] = '\0'; - status = CHIP_NO_ERROR; - } - - status = EncodeStringOnSuccess(status, aEncoder, productUrl, kMaxLen); - break; + ChipLogError(Zcl, "ReachableChanged: Failed to record ReachableChanged event"); } - - case ProductLabel::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxProductLabelLength; - char productLabel[kMaxLen + 1] = { 0 }; - status = - DeviceLayer::PlatformMgr().GetBridgedProductLabel(aPath.mEndpointId, productLabel, sizeof(productLabel)); - - // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done - if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) - { - productLabel[0] = '\0'; - status = CHIP_NO_ERROR; - } - - status = EncodeStringOnSuccess(status, aEncoder, productLabel, kMaxLen); - break; - } - - case SerialNumber::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxSerialNumberLength; - char serialNumberString[kMaxLen + 1] = { 0 }; - status = - DeviceLayer::PlatformMgr().GetBridgedSerialNumber(aPath.mEndpointId, serialNumberString, sizeof(serialNumberString)); - - // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done - if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) - { - serialNumberString[0] = '\0'; - status = CHIP_NO_ERROR; - } - - status = EncodeStringOnSuccess(status, aEncoder, serialNumberString, kMaxLen); - break; - } - - case UniqueID::Id: { - constexpr size_t kMaxLen = DeviceLayer::ConfigurationManager::kMaxUniqueIDLength; - char uniqueId[kMaxLen + 1] = { 0 }; - status = DeviceLayer::PlatformMgr().GetBridgedUniqueId(aPath.mEndpointId, uniqueId, sizeof(uniqueId)); - - // TODO: Remove defaulting once proper runtime defaulting of unimplemented factory data is done - if (status == CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND || status == CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE) - { - uniqueId[0] = '\0'; - status = CHIP_NO_ERROR; - } - - status = EncodeStringOnSuccess(status, aEncoder, uniqueId, kMaxLen); - break; - } - - default: - // We did not find a processing path, the caller will delegate elsewhere. - break; - } - - return status; } } // anonymous namespace -void emberAfBridgedDeviceBasicClusterServerInitCallback(EndpointId endpoint) +void MatterBridgedDeviceBasicClusterServerAttributeChangedCallback(const ConcreteAttributePath & attributePath) { - EmberAfStatus status; - - char nodeLabel[DeviceLayer::ConfigurationManager::kMaxNodeLabelLength + 1]; - if (DeviceLayer::PlatformMgr().GetBridgedNodeLabel(endpoint, nodeLabel, sizeof(nodeLabel)) == CHIP_NO_ERROR) + switch (attributePath.mAttributeId) { - status = Attributes::NodeLabel::Set(endpoint, CharSpan::fromCharString(nodeLabel)); - VerifyOrdo(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Error setting Bridged Node Label: 0x%02x", status)); - } - - bool reachable; - if (DeviceLayer::PlatformMgr().GetBridgedReachable(endpoint, reachable) == CHIP_NO_ERROR) - { - status = Attributes::Reachable::Set(endpoint, reachable); - VerifyOrdo(EMBER_ZCL_STATUS_SUCCESS == status, ChipLogError(Zcl, "Error setting Bridged Reachable: 0x%02x", status)); + case Attributes::Reachable::Id: + ReachableChanged(attributePath.mEndpointId); + break; + default: + break; } } - -void MatterBridgedDeviceBasicPluginServerInitCallback() -{ - registerAttributeAccessOverride(&gAttrAccess); -} diff --git a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.h b/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.h deleted file mode 100644 index 5884f806e7c943..00000000000000 --- a/src/app/clusters/bridged-device-basic-information-server/bridged-device-basic-information-server.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * - * Copyright (c) 2022 Project CHIP Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include - -/** @brief Bridged Device Basic Information Cluster Server Init - * - * This function is called at startup for a given endpoint to initialize - * attributes of the Bridged Device Basic Information Cluster. - * - * @param endpoint Endpoint that is being initialized Ver.: always - */ -void emberAfBridgedDeviceBasicClusterServerInitCallback(chip::EndpointId endpoint); diff --git a/src/app/zap-templates/templates/app/helper.js b/src/app/zap-templates/templates/app/helper.js index c3535878e8586a..cd0b782a5bf818 100644 --- a/src/app/zap-templates/templates/app/helper.js +++ b/src/app/zap-templates/templates/app/helper.js @@ -121,7 +121,7 @@ var endpointClusterWithInit = [ 'Time Format Localization', 'Thermostat', ]; -var endpointClusterWithAttributeChanged = [ 'Identify', 'Door Lock', 'Pump Configuration and Control' ]; +var endpointClusterWithAttributeChanged = [ 'Bridged Device Basic', 'Door Lock', 'Identify', 'Pump Configuration and Control' ]; var endpointClusterWithPreAttribute = [ 'IAS Zone', 'Door Lock', 'Thermostat User Interface Configuration', 'Time Format Localization', 'Localization Configuration' ];