Add Application Basic Cluster (#4972)
Problem
We do not have application basic cluster which is needed for Chip to get information about the apps running on TV
Summary of Changes
- Added application basic cluster.xml file
- Updated example chip-tool so you can use application basic cluster
- Updated example tv-app so you can use it a TV server for application basic cluster
- Updated example all-cluster-app so you can use it as a server for application basic cluster
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 d05fed5..fef5e45 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
@@ -1,5 +1,5 @@
{
- "writeTime": "Sun Feb 21 2021 11:42:31 GMT+0100 (Central European Standard Time)",
+ "writeTime": "Mon Mar 01 2021 10:57:37 GMT+0100 (Central European Standard Time)",
"featureLevel": 11,
"creator": "zap",
"keyValuePairs": [
@@ -79,6 +79,2795 @@
"define": "BASIC_CLUSTER",
"side": "server",
"enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "ZCL version",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x08",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "power source",
+ "code": 7,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Identify",
+ "code": 3,
+ "mfgCode": null,
+ "define": "IDENTIFY_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": [
+ {
+ "name": "Identify",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "IdentifyQuery",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ]
+ },
+ {
+ "name": "Identify",
+ "code": 3,
+ "mfgCode": null,
+ "define": "IDENTIFY_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "IdentifyQueryResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "identify time",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Groups",
+ "code": 4,
+ "mfgCode": null,
+ "define": "GROUPS_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": [
+ {
+ "name": "AddGroup",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ViewGroup",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetGroupMembership",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RemoveGroup",
+ "code": 3,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RemoveAllGroups",
+ "code": 4,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "AddGroupIfIdentifying",
+ "code": 5,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ]
+ },
+ {
+ "name": "Groups",
+ "code": 4,
+ "mfgCode": null,
+ "define": "GROUPS_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "AddGroupResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ViewGroupResponse",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetGroupMembershipResponse",
+ "code": 2,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RemoveGroupResponse",
+ "code": 3,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "name support",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Scenes",
+ "code": 5,
+ "mfgCode": null,
+ "define": "SCENES_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "AddScene",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ViewScene",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RemoveScene",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RemoveAllScenes",
+ "code": 3,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StoreScene",
+ "code": 4,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RecallScene",
+ "code": 5,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetSceneMembership",
+ "code": 6,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Scenes",
+ "code": 5,
+ "mfgCode": null,
+ "define": "SCENES_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "AddSceneResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ViewSceneResponse",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RemoveSceneResponse",
+ "code": 2,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "RemoveAllScenesResponse",
+ "code": 3,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StoreSceneResponse",
+ "code": 4,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetSceneMembershipResponse",
+ "code": 6,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "scene count",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current scene",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current group",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "scene valid",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "name support",
+ "code": 4,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "On/off",
+ "code": 6,
+ "mfgCode": null,
+ "define": "ON_OFF_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": [
+ {
+ "name": "Off",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "On",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "Toggle",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ]
+ },
+ {
+ "name": "On/off",
+ "code": 6,
+ "mfgCode": null,
+ "define": "ON_OFF_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "on/off",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": []
+ },
+ {
+ "name": "Level Control",
+ "code": 8,
+ "mfgCode": null,
+ "define": "LEVEL_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "MoveToLevel",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "Move",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "Step",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "Stop",
+ "code": 3,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveToLevelWithOnOff",
+ "code": 4,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveWithOnOff",
+ "code": 5,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StepWithOnOff",
+ "code": 6,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StopWithOnOff",
+ "code": 7,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Level Control",
+ "code": 8,
+ "mfgCode": null,
+ "define": "LEVEL_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current level",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Door Lock",
+ "code": 257,
+ "mfgCode": null,
+ "define": "DOOR_LOCK_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "LockDoor",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "UnlockDoor",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "UnlockWithTimeout",
+ "code": 3,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetLogRecord",
+ "code": 4,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "SetPin",
+ "code": 5,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetPin",
+ "code": 6,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ClearPin",
+ "code": 7,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ClearAllPins",
+ "code": 8,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "SetWeekdaySchedule",
+ "code": 11,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetWeekdaySchedule",
+ "code": 12,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ClearWeekdaySchedule",
+ "code": 13,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "SetYeardaySchedule",
+ "code": 14,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetYeardaySchedule",
+ "code": 15,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ClearYeardaySchedule",
+ "code": 16,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "SetHolidaySchedule",
+ "code": 17,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetHolidaySchedule",
+ "code": 18,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ClearHolidaySchedule",
+ "code": 19,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "SetUserType",
+ "code": 20,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetUserType",
+ "code": 21,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "SetRfid",
+ "code": 22,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "GetRfid",
+ "code": 23,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ClearRfid",
+ "code": 24,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ClearAllRfids",
+ "code": 25,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Door Lock",
+ "code": 257,
+ "mfgCode": null,
+ "define": "DOOR_LOCK_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "LockDoorResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "UnlockDoorResponse",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "lock state",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "lock type",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "actuator enabled",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "door state",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "enable logging",
+ "code": 32,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "language",
+ "code": 33,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "led settings",
+ "code": 34,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "auto relock time",
+ "code": 35,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "sound volume",
+ "code": 36,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "operating mode",
+ "code": 37,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "default configuration register",
+ "code": 39,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "enable local programming",
+ "code": 40,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x01",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "enable one touch locking",
+ "code": 41,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "enable inside status led",
+ "code": 42,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "enable privacy mode button",
+ "code": 43,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "wrong code entry limit",
+ "code": 48,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "user code temporary disable time",
+ "code": 49,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "send pin over the air",
+ "code": 50,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "require pin for rf operation",
+ "code": 51,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "zigbee security level",
+ "code": 52,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "alarm mask",
+ "code": 64,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "keypad operation event mask",
+ "code": 65,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "RF operation event mask",
+ "code": 66,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "manual operation event mask",
+ "code": 67,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "rfid operation event mask",
+ "code": 68,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "keypad programming event mask",
+ "code": 69,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "rf programming event mask",
+ "code": 70,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "rfid programming event mask",
+ "code": 71,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Barrier Control",
+ "code": 259,
+ "mfgCode": null,
+ "define": "BARRIER_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "BarrierControlGoToPercent",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "BarrierControlStop",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Barrier Control",
+ "code": 259,
+ "mfgCode": null,
+ "define": "BARRIER_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "barrier moving state",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "barrier safety status",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "barrier capabilities",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "barrier position",
+ "code": 10,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": []
+ },
+ {
+ "name": "Color Control",
+ "code": 768,
+ "mfgCode": null,
+ "define": "COLOR_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "MoveToHue",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveHue",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StepHue",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveToSaturation",
+ "code": 3,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveSaturation",
+ "code": 4,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StepSaturation",
+ "code": 5,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveToHueAndSaturation",
+ "code": 6,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveToColor",
+ "code": 7,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveColor",
+ "code": 8,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StepColor",
+ "code": 9,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveToColorTemperature",
+ "code": 10,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StopMoveStep",
+ "code": 71,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MoveColorTemperature",
+ "code": 75,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "StepColorTemperature",
+ "code": 76,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Color Control",
+ "code": 768,
+ "mfgCode": null,
+ "define": "COLOR_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current hue",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current saturation",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "remaining time",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current x",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x616B",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current y",
+ "code": 4,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x607D",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "drift compensation",
+ "code": 5,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "compensation text",
+ "code": 6,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color temperature",
+ "code": 7,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00FA",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color mode",
+ "code": 8,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x01",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color control options",
+ "code": 15,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "number of primaries",
+ "code": 16,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 1 x",
+ "code": 17,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 1 y",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 1 intensity",
+ "code": 19,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 2 x",
+ "code": 21,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 2 y",
+ "code": 22,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 2 intensity",
+ "code": 23,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 3 x",
+ "code": 25,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 3 y",
+ "code": 26,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 3 intensity",
+ "code": 27,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 4 x",
+ "code": 32,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 4 y",
+ "code": 33,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 4 intensity",
+ "code": 34,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 5 x",
+ "code": 36,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 5 y",
+ "code": 37,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 5 intensity",
+ "code": 38,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 6 x",
+ "code": 40,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 6 y",
+ "code": 41,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "primary 6 intensity",
+ "code": 42,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "white point x",
+ "code": 48,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "white point y",
+ "code": 49,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point r x",
+ "code": 50,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point r y",
+ "code": 51,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point r intensity",
+ "code": 52,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point g x",
+ "code": 54,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point g y",
+ "code": 55,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point g intensity",
+ "code": 56,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point b x",
+ "code": 58,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point b y",
+ "code": 59,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color point b intensity",
+ "code": 60,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "couple color temp to level min-mireds",
+ "code": 16397,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "start up color temperature mireds",
+ "code": 16400,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "enhanced current hue",
+ "code": 16384,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "enhanced color mode",
+ "code": 16385,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x01",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color loop active",
+ "code": 16386,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color loop direction",
+ "code": 16387,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color loop time",
+ "code": 16388,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0019",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color capabilities",
+ "code": 16394,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color temp physical min",
+ "code": 16395,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "color temp physical max",
+ "code": 16396,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0xFEFF",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Temperature Measurement",
+ "code": 1026,
+ "mfgCode": null,
+ "define": "TEMP_MEASUREMENT_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Temperature Measurement",
+ "code": 1026,
+ "mfgCode": null,
+ "define": "TEMP_MEASUREMENT_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "measured value",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x8000",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "min measured value",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x8000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "max measured value",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x8000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "tolerance",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 0,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": []
+ },
+ {
+ "name": "IAS Zone",
+ "code": 1280,
+ "mfgCode": null,
+ "define": "IAS_ZONE_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "ZoneEnrollResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "IAS Zone",
+ "code": 1280,
+ "mfgCode": null,
+ "define": "IAS_ZONE_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "zone state",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x00",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "zone type",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "zone status",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "IAS CIE address",
+ "code": 16,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "Zone ID",
+ "code": 17,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0xff",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": [
+ {
+ "name": "ZoneStatusChangeNotification",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ZoneEnrollRequest",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Anonymous Endpoint Type",
+ "deviceTypeName": "CHIP-All-Clusters-Server",
+ "deviceTypeCode": 0,
+ "deviceTypeProfileId": 259,
+ "clusters": [
+ {
+ "name": "Basic",
+ "code": 0,
+ "mfgCode": null,
+ "define": "BASIC_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "ResetToFactoryDefaults",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "MfgSpecificPing",
+ "code": 0,
+ "mfgCode": "4098",
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 0
+ }
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Basic",
+ "code": 0,
+ "mfgCode": null,
+ "define": "BASIC_CLUSTER",
+ "side": "server",
+ "enabled": 1,
"attributes": [
{
"name": "cluster revision",
@@ -135,6 +2924,23 @@
"define": "IDENTIFY_CLUSTER",
"side": "client",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "Identify",
@@ -152,23 +2958,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -177,7 +2966,7 @@
"mfgCode": null,
"define": "IDENTIFY_CLUSTER",
"side": "server",
- "enabled": 0,
+ "enabled": 1,
"attributes": [
{
"name": "cluster revision",
@@ -302,7 +3091,7 @@
"mfgCode": null,
"define": "GROUPS_CLUSTER",
"side": "server",
- "enabled": 0,
+ "enabled": 1,
"commands": [
{
"name": "AddGroupResponse",
@@ -377,6 +3166,23 @@
"define": "SCENES_CLUSTER",
"side": "client",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "AddScene",
@@ -434,23 +3240,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -459,7 +3248,7 @@
"mfgCode": null,
"define": "SCENES_CLUSTER",
"side": "server",
- "enabled": 0,
+ "enabled": 1,
"commands": [
{
"name": "AddSceneResponse",
@@ -792,8 +3581,7 @@
"mfgCode": null,
"define": "LEVEL_CONTROL_CLUSTER",
"side": "server",
- "enabled": 0,
- "commands": [],
+ "enabled": 1,
"attributes": [
{
"name": "cluster revision",
@@ -825,2796 +3613,8 @@
"maxInterval": 65344,
"reportableChange": 0
}
- ]
- },
- {
- "name": "Door Lock",
- "code": 257,
- "mfgCode": null,
- "define": "DOOR_LOCK_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [
- {
- "name": "LockDoor",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "UnlockDoor",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "UnlockWithTimeout",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetLogRecord",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetPin",
- "code": 5,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetPin",
- "code": 6,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearPin",
- "code": 7,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearAllPins",
- "code": 8,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetWeekdaySchedule",
- "code": 11,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetWeekdaySchedule",
- "code": 12,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearWeekdaySchedule",
- "code": 13,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetYeardaySchedule",
- "code": 14,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetYeardaySchedule",
- "code": 15,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearYeardaySchedule",
- "code": 16,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetHolidaySchedule",
- "code": 17,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetHolidaySchedule",
- "code": 18,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearHolidaySchedule",
- "code": 19,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetUserType",
- "code": 20,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetUserType",
- "code": 21,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetRfid",
- "code": 22,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetRfid",
- "code": 23,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearRfid",
- "code": 24,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearAllRfids",
- "code": 25,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Door Lock",
- "code": 257,
- "mfgCode": null,
- "define": "DOOR_LOCK_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "LockDoorResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "UnlockDoorResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "lock state",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "lock type",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "actuator enabled",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "door state",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enable logging",
- "code": 32,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "language",
- "code": 33,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "led settings",
- "code": 34,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "auto relock time",
- "code": 35,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "sound volume",
- "code": 36,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "operating mode",
- "code": 37,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "default configuration register",
- "code": 39,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enable local programming",
- "code": 40,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x01",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enable one touch locking",
- "code": 41,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enable inside status led",
- "code": 42,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enable privacy mode button",
- "code": 43,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "wrong code entry limit",
- "code": 48,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "user code temporary disable time",
- "code": 49,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "send pin over the air",
- "code": 50,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "require pin for rf operation",
- "code": 51,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "zigbee security level",
- "code": 52,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "alarm mask",
- "code": 64,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "keypad operation event mask",
- "code": 65,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RF operation event mask",
- "code": 66,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "manual operation event mask",
- "code": 67,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "rfid operation event mask",
- "code": 68,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "keypad programming event mask",
- "code": 69,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "rf programming event mask",
- "code": 70,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "rfid programming event mask",
- "code": 71,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Barrier Control",
- "code": 259,
- "mfgCode": null,
- "define": "BARRIER_CONTROL_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [
- {
- "name": "BarrierControlGoToPercent",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "BarrierControlStop",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Barrier Control",
- "code": 259,
- "mfgCode": null,
- "define": "BARRIER_CONTROL_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "barrier moving state",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "barrier safety status",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "barrier capabilities",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "barrier position",
- "code": 10,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Color Control",
- "code": 768,
- "mfgCode": null,
- "define": "COLOR_CONTROL_CLUSTER",
- "side": "client",
- "enabled": 0,
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ],
- "commands": [
- {
- "name": "MoveToHue",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveHue",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StepHue",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveToSaturation",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveSaturation",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StepSaturation",
- "code": 5,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveToHueAndSaturation",
- "code": 6,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveToColor",
- "code": 7,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveColor",
- "code": 8,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StepColor",
- "code": 9,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveToColorTemperature",
- "code": 10,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StopMoveStep",
- "code": 71,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveColorTemperature",
- "code": 75,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StepColorTemperature",
- "code": 76,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ]
- },
- {
- "name": "Color Control",
- "code": 768,
- "mfgCode": null,
- "define": "COLOR_CONTROL_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current hue",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current saturation",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "remaining time",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current x",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x616B",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current y",
- "code": 4,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x607D",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "drift compensation",
- "code": 5,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "compensation text",
- "code": 6,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color temperature",
- "code": 7,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00FA",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color mode",
- "code": 8,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x01",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color control options",
- "code": 15,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "number of primaries",
- "code": 16,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 1 x",
- "code": 17,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 1 y",
- "code": 18,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 1 intensity",
- "code": 19,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 2 x",
- "code": 21,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 2 y",
- "code": 22,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 2 intensity",
- "code": 23,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 3 x",
- "code": 25,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 3 y",
- "code": 26,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 3 intensity",
- "code": 27,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 4 x",
- "code": 32,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 4 y",
- "code": 33,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 4 intensity",
- "code": 34,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 5 x",
- "code": 36,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 5 y",
- "code": 37,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 5 intensity",
- "code": 38,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 6 x",
- "code": 40,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 6 y",
- "code": 41,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "primary 6 intensity",
- "code": 42,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "white point x",
- "code": 48,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "white point y",
- "code": 49,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point r x",
- "code": 50,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point r y",
- "code": 51,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point r intensity",
- "code": 52,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point g x",
- "code": 54,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point g y",
- "code": 55,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point g intensity",
- "code": 56,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point b x",
- "code": 58,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point b y",
- "code": 59,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color point b intensity",
- "code": 60,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "couple color temp to level min-mireds",
- "code": 16397,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "start up color temperature mireds",
- "code": 16400,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enhanced current hue",
- "code": 16384,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enhanced color mode",
- "code": 16385,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x01",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color loop active",
- "code": 16386,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color loop direction",
- "code": 16387,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color loop time",
- "code": 16388,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0019",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color capabilities",
- "code": 16394,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color temp physical min",
- "code": 16395,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "color temp physical max",
- "code": 16396,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0xFEFF",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Temperature Measurement",
- "code": 1026,
- "mfgCode": null,
- "define": "TEMP_MEASUREMENT_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Temperature Measurement",
- "code": 1026,
- "mfgCode": null,
- "define": "TEMP_MEASUREMENT_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "measured value",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x8000",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "min measured value",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x8000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "max measured value",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x8000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "tolerance",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "IAS Zone",
- "code": 1280,
- "mfgCode": null,
- "define": "IAS_ZONE_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [
- {
- "name": "ZoneEnrollResponse",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "IAS Zone",
- "code": 1280,
- "mfgCode": null,
- "define": "IAS_ZONE_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "ZoneStatusChangeNotification",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ZoneEnrollRequest",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "zone state",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "zone type",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "zone status",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "IAS CIE address",
- "code": 16,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "Zone ID",
- "code": 17,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0xff",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- }
- ]
- },
- {
- "name": "Anonymous Endpoint Type",
- "deviceTypeName": "CHIP-All-Clusters-Server",
- "deviceTypeCode": 0,
- "deviceTypeProfileId": 259,
- "clusters": [
- {
- "name": "Basic",
- "code": 0,
- "mfgCode": null,
- "define": "BASIC_CLUSTER",
- "side": "client",
- "enabled": 0,
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ],
- "commands": [
- {
- "name": "ResetToFactoryDefaults",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MfgSpecificPing",
- "code": 0,
- "mfgCode": "4098",
- "source": "client",
- "incoming": 1,
- "outgoing": 0
- }
- ]
- },
- {
- "name": "Basic",
- "code": 0,
- "mfgCode": null,
- "define": "BASIC_CLUSTER",
- "side": "server",
- "enabled": 1,
- "commands": [],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ZCL version",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x08",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "power source",
- "code": 7,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Identify",
- "code": 3,
- "mfgCode": null,
- "define": "IDENTIFY_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [
- {
- "name": "Identify",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "IdentifyQuery",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Identify",
- "code": 3,
- "mfgCode": null,
- "define": "IDENTIFY_CLUSTER",
- "side": "server",
- "enabled": 1,
- "commands": [
- {
- "name": "IdentifyQueryResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "identify time",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Groups",
- "code": 4,
- "mfgCode": null,
- "define": "GROUPS_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [
- {
- "name": "AddGroup",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ViewGroup",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetGroupMembership",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveGroup",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveAllGroups",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "AddGroupIfIdentifying",
- "code": 5,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Groups",
- "code": 4,
- "mfgCode": null,
- "define": "GROUPS_CLUSTER",
- "side": "server",
- "enabled": 1,
- "commands": [
- {
- "name": "AddGroupResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ViewGroupResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetGroupMembershipResponse",
- "code": 2,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveGroupResponse",
- "code": 3,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "name support",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Scenes",
- "code": 5,
- "mfgCode": null,
- "define": "SCENES_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [
- {
- "name": "AddScene",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ViewScene",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveScene",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveAllScenes",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StoreScene",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RecallScene",
- "code": 5,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetSceneMembership",
- "code": 6,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Scenes",
- "code": 5,
- "mfgCode": null,
- "define": "SCENES_CLUSTER",
- "side": "server",
- "enabled": 1,
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "scene count",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current scene",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current group",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "scene valid",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "name support",
- "code": 4,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ],
- "commands": [
- {
- "name": "AddSceneResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ViewSceneResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveSceneResponse",
- "code": 2,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveAllScenesResponse",
- "code": 3,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StoreSceneResponse",
- "code": 4,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetSceneMembershipResponse",
- "code": 6,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ]
- },
- {
- "name": "On/off",
- "code": 6,
- "mfgCode": null,
- "define": "ON_OFF_CLUSTER",
- "side": "client",
- "enabled": 0,
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ],
- "commands": [
- {
- "name": "Off",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "On",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "Toggle",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ]
- },
- {
- "name": "On/off",
- "code": 6,
- "mfgCode": null,
- "define": "ON_OFF_CLUSTER",
- "side": "server",
- "enabled": 1,
- "commands": [],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "on/off",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Level Control",
- "code": 8,
- "mfgCode": null,
- "define": "LEVEL_CONTROL_CLUSTER",
- "side": "client",
- "enabled": 0,
- "commands": [
- {
- "name": "MoveToLevel",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "Move",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "Step",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "Stop",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveToLevelWithOnOff",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "MoveWithOnOff",
- "code": 5,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StepWithOnOff",
- "code": 6,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "StopWithOnOff",
- "code": 7,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Level Control",
- "code": 8,
- "mfgCode": null,
- "define": "LEVEL_CONTROL_CLUSTER",
- "side": "server",
- "enabled": 1,
- "commands": [],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current level",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
+ "commands": []
},
{
"name": "Door Lock",
@@ -4426,6 +4426,23 @@
"define": "COLOR_CONTROL_CLUSTER",
"side": "client",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "MoveToHue",
@@ -4539,23 +4556,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -5488,6 +5488,24 @@
"define": "IAS_ZONE_CLUSTER",
"side": "server",
"enabled": 1,
+ "commands": [
+ {
+ "name": "ZoneStatusChangeNotification",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ },
+ {
+ "name": "ZoneEnrollRequest",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ }
+ ],
"attributes": [
{
"name": "cluster revision",
@@ -5579,33 +5597,189 @@
"maxInterval": 65344,
"reportableChange": 0
}
- ],
- "commands": [
+ ]
+ },
+ {
+ "name": "Application Basic",
+ "code": 1293,
+ "mfgCode": null,
+ "define": "APPLICATION_BASIC_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": [
{
- "name": "ZoneStatusChangeNotification",
- "code": 0,
+ "name": "cluster revision",
+ "code": 65533,
"mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ZoneEnrollRequest",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
}
]
},
{
+ "name": "Application Basic",
+ "code": 1293,
+ "mfgCode": null,
+ "define": "APPLICATION_BASIC_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "vendor name",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "vendor id",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application name",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "product id",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application id",
+ "code": 5,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "catalog vendor id",
+ "code": 6,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application satus",
+ "code": 7,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x01",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": []
+ },
+ {
"name": "Binding",
"code": 61440,
"mfgCode": null,
"define": "BINDING_CLUSTER",
"side": "client",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "Bind",
@@ -5623,23 +5797,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -5782,16 +5939,6 @@
"define": "MEDIA_PLAYBACK_CLUSTER",
"side": "server",
"enabled": 1,
- "commands": [
- {
- "name": "Playback",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
"attributes": [
{
"name": "cluster revision",
@@ -5823,6 +5970,16 @@
"maxInterval": 65344,
"reportableChange": 0
}
+ ],
+ "commands": [
+ {
+ "name": "Playback",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 1
+ }
]
},
{
diff --git a/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.h b/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.h
index 9b19344..7d229fc 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.h
@@ -43,6 +43,23 @@
@end
/**
+ * Cluster Application Basic
+ *
+ */
+@interface CHIPApplicationBasic : CHIPCluster
+
+- (void)readAttributeVendorName:(ResponseHandler)completionHandler;
+- (void)readAttributeVendorId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationName:(ResponseHandler)completionHandler;
+- (void)readAttributeProductId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationId:(ResponseHandler)completionHandler;
+- (void)readAttributeCatalogVendorId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationSatus:(ResponseHandler)completionHandler;
+- (void)readAttributeClusterRevision:(ResponseHandler)completionHandler;
+
+@end
+
+/**
* Cluster Barrier Control
*
*/
diff --git a/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.mm b/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.mm
index 3700a48..bab9c76 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.mm
+++ b/examples/all-clusters-app/all-clusters-common/gen/CHIPClustersObjc.mm
@@ -307,6 +307,206 @@
}
@end
+@interface CHIPApplicationBasic ()
+@property (readonly) Controller::ApplicationBasicCluster cppCluster;
+@end
+
+@implementation CHIPApplicationBasic
+
+- (Controller::ClusterBase *)getCluster
+{
+ return &_cppCluster;
+}
+
+- (void)readAttributeVendorName:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeVendorId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationName:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationName(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeProductId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeProductId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationId:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeCatalogVendorId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeCatalogVendorId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationSatus:(ResponseHandler)completionHandler
+{
+ CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationSatus(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeClusterRevision:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+@end
+
@interface CHIPBarrierControl ()
@property (readonly) Controller::BarrierControlCluster cppCluster;
@end
diff --git a/examples/all-clusters-app/all-clusters-common/gen/attribute-id.h b/examples/all-clusters-app/all-clusters-common/gen/attribute-id.h
index 42b1923..1768d7e 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/attribute-id.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/attribute-id.h
@@ -1085,6 +1085,19 @@
// Server attributes
#define ZCL_MAX_DURATION_ATTRIBUTE_ID (0x0000)
+// Attribute ids for cluster: Application Basic
+
+// Client attributes
+
+// Server attributes
+#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
+#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0001)
+#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
+#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0003)
+#define ZCL_APPLICATION_ID_ATTRIBUTE_ID (0x0005)
+#define ZCL_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0006)
+#define ZCL_APPLICATION_STATUS_ATTRIBUTE_ID (0x0007)
+
// Attribute ids for cluster: Generic Tunnel
// Client attributes
diff --git a/examples/all-clusters-app/all-clusters-common/gen/call-command-handler.cpp b/examples/all-clusters-app/all-clusters-common/gen/call-command-handler.cpp
index 78e88a5..29ec846 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/call-command-handler.cpp
+++ b/examples/all-clusters-app/all-clusters-common/gen/call-command-handler.cpp
@@ -28,6 +28,7 @@
using namespace chip;
+EmberAfStatus emberAfApplicationBasicClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBarrierControlClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBasicClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBindingClusterServerCommandParse(EmberAfClusterCommand * cmd);
@@ -82,6 +83,10 @@
{
switch (cmd->apsFrame->clusterId)
{
+ case ZCL_APPLICATION_BASIC_CLUSTER_ID:
+ // No commands are enabled for cluster Application Basic
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
result = emberAfBarrierControlClusterServerCommandParse(cmd);
break;
diff --git a/examples/all-clusters-app/all-clusters-common/gen/callback-stub.cpp b/examples/all-clusters-app/all-clusters-common/gen/callback-stub.cpp
index f1195a5..8df6083 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/callback-stub.cpp
+++ b/examples/all-clusters-app/all-clusters-common/gen/callback-stub.cpp
@@ -27,6 +27,9 @@
{
switch (clusterId)
{
+ case ZCL_APPLICATION_BASIC_CLUSTER_ID:
+ emberAfApplicationBasicClusterInitCallback(endpoint);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
emberAfBarrierControlClusterInitCallback(endpoint);
break;
@@ -75,6 +78,11 @@
}
}
+void __attribute__((weak)) emberAfApplicationBasicClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfBarrierControlClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/examples/all-clusters-app/all-clusters-common/gen/callback.h b/examples/all-clusters-app/all-clusters-common/gen/callback.h
index 13f01bc..1ac8b2c 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/callback.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/callback.h
@@ -37,6 +37,14 @@
// Cluster Init Functions
+/** @brief Application Basic Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationBasicClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Barrier Control Cluster Init
*
* Cluster Init
@@ -152,6 +160,77 @@
// Cluster Server/Client Init Functions
//
+// Application Basic Cluster server
+//
+
+/** @brief Application Basic Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationBasicClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Application Basic Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfApplicationBasicClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Application Basic Cluster Server Manufacturer Specific Attribute Changed
+ *
+ * Server Manufacturer Specific Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ * @param manufacturerCode Manufacturer Code of the attribute that changed
+ */
+void emberAfApplicationBasicClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Application Basic Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param indexOrDestination The destination or address to which the message was sent
+ * @param apsFrame The APS frame for the message
+ * @param msgLen The length of the message
+ * @param message The message that was sent
+ * @param status The status of the sent message
+ */
+void emberAfApplicationBasicClusterServerMessageSentCallback(EmberOutgoingMessageType type, uint64_t indexOrDestination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Application Basic Cluster Server Pre Attribute Changed
+ *
+ * server Pre Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute to be changed
+ * @param attributeType Attribute type
+ * @param size Attribute size
+ * @param value Attribute value
+ */
+EmberAfStatus emberAfApplicationBasicClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint8_t size,
+ uint8_t * value);
+
+/** @brief Application Basic Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfApplicationBasicClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Barrier Control Cluster server
//
diff --git a/examples/all-clusters-app/all-clusters-common/gen/cluster-id.h b/examples/all-clusters-app/all-clusters-common/gen/cluster-id.h
index b6b8954..c95bf86 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/cluster-id.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/cluster-id.h
@@ -236,6 +236,9 @@
// Definitions for cluster: IAS WD
#define ZCL_IAS_WD_CLUSTER_ID (0x0502)
+// Definitions for cluster: Application Basic
+#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0x050D)
+
// Definitions for cluster: Generic Tunnel
#define ZCL_GENERIC_TUNNEL_CLUSTER_ID (0x0600)
diff --git a/examples/all-clusters-app/all-clusters-common/gen/endpoint_config.h b/examples/all-clusters-app/all-clusters-common/gen/endpoint_config.h
index 550c118..a911440 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/endpoint_config.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/endpoint_config.h
@@ -41,8 +41,17 @@
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
/* Default for cluster: "Color Control", attribute: "compensation text". side: server, big-endian */ /* 254 */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, big-endian */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, big-endian */ /* 262 */ 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "Application Basic", attribute: "vendor name". side: server, big-endian */ /* 294 */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application name". side: server, big-endian */ \
+ /* 326 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application id". side: server, big-endian */ \
}
#else // !BIGENDIAN_CPU
@@ -63,13 +72,22 @@
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, /* Default for cluster: "Color Control", attribute: "compensation text". side: server, little-endian */ \
- /* 254 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, little-endian */ \
+ /* 254 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, little-endian */ /* 262 */ 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "Application Basic", attribute: "vendor name". side: server, little-endian */ /* 294 */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application name". side: server, little-endian */ \
+ /* 326 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application id". side: server, little-endian */ \
}
#endif // BIGENDIAN_CPU
-#define GENERATED_DEFAULTS_COUNT (2)
+#define GENERATED_DEFAULTS_COUNT (5)
#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
#define ZAP_LONG_DEFAULTS_INDEX(index) \
@@ -89,7 +107,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 96
+#define GENERATED_ATTRIBUTE_COUNT 104
#define GENERATED_ATTRIBUTES \
{ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 3 } }, /* Basic (server): cluster revision */ \
@@ -211,8 +229,22 @@
{ 0x0002, ZAP_TYPE(BITMAP16), 2, 0, { (uint8_t *) 0x0000 } }, /* IAS Zone (server): zone status */ \
{ \
0x0010, ZAP_TYPE(IEEE_ADDRESS), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(254) } \
- }, /* IAS Zone (server): IAS CIE address */ \
- { 0x0011, ZAP_TYPE(INT8U), 1, 0, { (uint8_t *) 0xff } }, /* IAS Zone (server): Zone ID */ \
+ }, /* IAS Zone (server): IAS CIE address */ \
+ { 0x0011, ZAP_TYPE(INT8U), 1, 0, { (uint8_t *) 0xff } }, /* IAS Zone (server): Zone ID */ \
+ { \
+ 0x0000, ZAP_TYPE(OCTET_STRING), 32, 0, { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(262) } \
+ }, /* Application Basic (server): vendor name */ \
+ { 0x0001, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Application Basic (server): vendor id */ \
+ { \
+ 0x0002, ZAP_TYPE(OCTET_STRING), 32, 0, { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(294) } \
+ }, /* Application Basic (server): application name */ \
+ { 0x0003, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Application Basic (server): product id */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0x0001 } }, /* Application Basic (server): cluster revision */ \
+ { \
+ 0x0005, ZAP_TYPE(OCTET_STRING), 32, 0, { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(326) } \
+ }, /* Application Basic (server): application id */ \
+ { 0x0006, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Application Basic (server): catalog vendor id */ \
+ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, { (uint8_t *) 0x01 } }, /* Application Basic (server): application satus */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0x0001 } }, /* Binding (server): cluster revision */ \
{ 0x0000, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Media Playback (server): current state */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0x0001 } }, /* Media Playback (server): cluster revision */ \
@@ -258,7 +290,7 @@
};
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 16
+#define GENERATED_CLUSTER_COUNT 17
#define GENERATED_CLUSTERS \
{ \
{ 0x0000, ZAP_ATTRIBUTE_INDEX(0), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 1, Cluster: Basic (server) */ \
@@ -318,17 +350,20 @@
ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \
chipFuncArrayIasZoneServer }, /* Endpoint: 1, Cluster: IAS Zone (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(87), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(87), 8, 105, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Application Basic (server) */ \
+ { \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(95), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Binding (server) */ \
{ \
- 0xF001, ZAP_ATTRIBUTE_INDEX(88), 2, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF001, ZAP_ATTRIBUTE_INDEX(96), 2, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Media Playback (server) */ \
{ \
- 0xF002, ZAP_ATTRIBUTE_INDEX(90), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF002, ZAP_ATTRIBUTE_INDEX(98), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Content Launch (server) */ \
- { 0x0000, ZAP_ATTRIBUTE_INDEX(91), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 2, Cluster: Basic (server) */ \
+ { 0x0000, ZAP_ATTRIBUTE_INDEX(99), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 2, Cluster: Basic (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(94), \
+ ZAP_ATTRIBUTE_INDEX(102), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -340,7 +375,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 14, 405 }, { ZAP_CLUSTER_INDEX(14), 2, 7 }, \
+ { ZAP_CLUSTER_INDEX(0), 15, 510 }, { ZAP_CLUSTER_INDEX(15), 2, 7 }, \
}
// Largest attribute size is needed for various buffers
@@ -350,7 +385,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (0)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (412)
+#define ATTRIBUTE_MAX_SIZE (517)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/examples/all-clusters-app/all-clusters-common/gen/enums.h b/examples/all-clusters-app/all-clusters-common/gen/enums.h
index 2020075..1dd17bf 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/enums.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/enums.h
@@ -223,6 +223,14 @@
EMBER_ZCL_APPLIANCE_STATUS_SUPERHEATING = 15,
} EmberAfApplianceStatus;
+// Enum for ApplicationBasicStatus
+typedef enum
+{
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_STOPPED = 0,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_RUNNING = 1,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_BACKGROUND = 2,
+} EmberAfApplicationBasicStatus;
+
// Enum for AttributeReportingStatus
typedef enum
{
diff --git a/examples/all-clusters-app/all-clusters-common/gen/gen_config.h b/examples/all-clusters-app/all-clusters-common/gen/gen_config.h
index 450d75f..52148c5 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/gen_config.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_APPLICATION_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BARRIER_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (2)
#define EMBER_AF_BINDING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -46,6 +47,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Application Basic cluster is included
+#define ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_APPLICATION_BASIC_SERVER
+#define EMBER_AF_PLUGIN_APPLICATION_BASIC
+
// Use this macro to check if the server side of the Barrier Control cluster is included
#define ZCL_USING_BARRIER_CONTROL_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_BARRIER_CONTROL_SERVER
diff --git a/examples/all-clusters-app/all-clusters-common/gen/print-cluster.h b/examples/all-clusters-app/all-clusters-common/gen/print-cluster.h
index 75d66bd..ed02ad0 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/print-cluster.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/print-cluster.h
@@ -520,6 +520,12 @@
#define CHIP_PRINTCLUSTER_IAS_WD_CLUSTER
#endif
+#if defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT)
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER { ZCL_APPLICATION_BASIC_CLUSTER_ID, 1293, "Application Basic" },
+#else
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER
+#endif
+
#if defined(ZCL_USING_GENERIC_TUNNEL_CLUSTER_SERVER) || defined(ZCL_USING_GENERIC_TUNNEL_CLUSTER_CLIENT)
#define CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER { ZCL_GENERIC_TUNNEL_CLUSTER_ID, 1536, "Generic Tunnel" },
#else
@@ -844,6 +850,7 @@
CHIP_PRINTCLUSTER_IAS_ZONE_CLUSTER \
CHIP_PRINTCLUSTER_IAS_ACE_CLUSTER \
CHIP_PRINTCLUSTER_IAS_WD_CLUSTER \
+ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER \
CHIP_PRINTCLUSTER_BACNET_PROTOCOL_TUNNEL_CLUSTER \
CHIP_PRINTCLUSTER_11073_PROTOCOL_TUNNEL_CLUSTER \
diff --git a/examples/bridge-app/bridge-common/gen/attribute-id.h b/examples/bridge-app/bridge-common/gen/attribute-id.h
index 42b1923..31faa16 100644
--- a/examples/bridge-app/bridge-common/gen/attribute-id.h
+++ b/examples/bridge-app/bridge-common/gen/attribute-id.h
@@ -4083,6 +4083,19 @@
// Server attributes
+// Attribute ids for cluster: Application Basic
+
+// Client attributes
+
+// Server attributes
+#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
+#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0001)
+#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
+#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0003)
+#define ZCL_APPLICATION_ID_ATTRIBUTE_ID (0x0005)
+#define ZCL_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0006)
+#define ZCL_APPLICATION_STATUS_ATTRIBUTE_ID (0x0007)
+
// Attribute ids for cluster: Sample Mfg Specific Cluster
// Client attributes
diff --git a/examples/bridge-app/bridge-common/gen/cluster-id.h b/examples/bridge-app/bridge-common/gen/cluster-id.h
index b6b8954..8db9fde 100644
--- a/examples/bridge-app/bridge-common/gen/cluster-id.h
+++ b/examples/bridge-app/bridge-common/gen/cluster-id.h
@@ -344,6 +344,9 @@
// Definitions for cluster: Content Launch
#define ZCL_CONTENT_LAUNCH_CLUSTER_ID (0xF002)
+// Definitions for cluster: Application Basic
+#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0xF003)
+
// Definitions for cluster: Sample Mfg Specific Cluster
#define ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID (0xFC00)
diff --git a/examples/bridge-app/bridge-common/gen/enums.h b/examples/bridge-app/bridge-common/gen/enums.h
index 2020075..1dd17bf 100644
--- a/examples/bridge-app/bridge-common/gen/enums.h
+++ b/examples/bridge-app/bridge-common/gen/enums.h
@@ -223,6 +223,14 @@
EMBER_ZCL_APPLIANCE_STATUS_SUPERHEATING = 15,
} EmberAfApplianceStatus;
+// Enum for ApplicationBasicStatus
+typedef enum
+{
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_STOPPED = 0,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_RUNNING = 1,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_BACKGROUND = 2,
+} EmberAfApplicationBasicStatus;
+
// Enum for AttributeReportingStatus
typedef enum
{
diff --git a/examples/bridge-app/bridge-common/gen/print-cluster.h b/examples/bridge-app/bridge-common/gen/print-cluster.h
index 75d66bd..a276137 100644
--- a/examples/bridge-app/bridge-common/gen/print-cluster.h
+++ b/examples/bridge-app/bridge-common/gen/print-cluster.h
@@ -740,6 +740,12 @@
#define CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER
#endif
+#if defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT)
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER { ZCL_APPLICATION_BASIC_CLUSTER_ID, 61443, "Application Basic" },
+#else
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER
+#endif
+
#if defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_SERVER) || defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_CLIENT)
#define CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER { ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID, 64512, "Sample Mfg Specific Cluster" },
#else
@@ -880,6 +886,7 @@
CHIP_PRINTCLUSTER_BINDING_CLUSTER \
CHIP_PRINTCLUSTER_MEDIA_PLAYBACK_CLUSTER \
CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER \
+ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER_2 \
CHIP_PRINTCLUSTER_OTA_CONFIGURATION_CLUSTER \
diff --git a/examples/chip-tool/chip-tool.zap b/examples/chip-tool/chip-tool.zap
index 099a0b9..b9a4565 100644
--- a/examples/chip-tool/chip-tool.zap
+++ b/examples/chip-tool/chip-tool.zap
@@ -1,5 +1,5 @@
{
- "writeTime": "Fri Feb 19 2021 18:39:55 GMT+0100 (Central European Standard Time)",
+ "writeTime": "Mon Mar 01 2021 10:57:31 GMT+0100 (Central European Standard Time)",
"featureLevel": 11,
"creator": "zap",
"keyValuePairs": [
@@ -143,23 +143,6 @@
"define": "IDENTIFY_CLUSTER",
"side": "client",
"enabled": 1,
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ],
"commands": [
{
"name": "Identify",
@@ -177,6 +160,23 @@
"incoming": 1,
"outgoing": 1
}
+ ],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
]
},
{
@@ -311,6 +311,38 @@
"define": "GROUPS_CLUSTER",
"side": "server",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "name support",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "AddGroupResponse",
@@ -344,38 +376,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "name support",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -385,6 +385,23 @@
"define": "SCENES_CLUSTER",
"side": "client",
"enabled": 1,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "AddScene",
@@ -442,23 +459,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -710,6 +710,23 @@
"define": "LEVEL_CONTROL_CLUSTER",
"side": "client",
"enabled": 1,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "MoveToLevel",
@@ -775,23 +792,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -3003,6 +3003,163 @@
]
},
{
+ "name": "Application Basic",
+ "code": 1293,
+ "mfgCode": null,
+ "define": "APPLICATION_BASIC_CLUSTER",
+ "side": "client",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Application Basic",
+ "code": 1293,
+ "mfgCode": null,
+ "define": "APPLICATION_BASIC_CLUSTER",
+ "side": "server",
+ "enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "vendor name",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "vendor id",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application name",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "product id",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application id",
+ "code": 5,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "catalog vendor id",
+ "code": 6,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application satus",
+ "code": 7,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x01",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
+ "commands": []
+ },
+ {
"name": "Binding",
"code": 61440,
"mfgCode": null,
@@ -3052,7 +3209,6 @@
"define": "BINDING_CLUSTER",
"side": "server",
"enabled": 0,
- "commands": [],
"attributes": [
{
"name": "cluster revision",
@@ -3069,7 +3225,8 @@
"maxInterval": 65344,
"reportableChange": 0
}
- ]
+ ],
+ "commands": []
},
{
"name": "Media Playback",
@@ -3078,6 +3235,23 @@
"define": "MEDIA_PLAYBACK_CLUSTER",
"side": "client",
"enabled": 1,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "PlayRequest",
@@ -3159,23 +3333,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -3278,6 +3435,23 @@
"define": "CONTENT_LAUNCH_CLUSTER",
"side": "server",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "LaunchContentResponse",
@@ -3295,23 +3469,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
}
]
diff --git a/examples/chip-tool/commands/clusters/Commands.h b/examples/chip-tool/commands/clusters/Commands.h
index 5445236..8bfbfed 100644
--- a/examples/chip-tool/commands/clusters/Commands.h
+++ b/examples/chip-tool/commands/clusters/Commands.h
@@ -376,6 +376,7 @@
/*----------------------------------------------------------------------------*\
| Cluster Name | ID |
|---------------------------------------------------------------------+--------|
+| ApplicationBasic | 0x050D |
| BarrierControl | 0x0103 |
| Basic | 0x0000 |
| Binding | 0xF000 |
@@ -391,6 +392,7 @@
| TemperatureMeasurement | 0x0402 |
\*----------------------------------------------------------------------------*/
+constexpr chip::ClusterId kApplicationBasicClusterId = 0x050D;
constexpr chip::ClusterId kBarrierControlClusterId = 0x0103;
constexpr chip::ClusterId kBasicClusterId = 0x0000;
constexpr chip::ClusterId kBindingClusterId = 0xF000;
@@ -406,6 +408,270 @@
constexpr chip::ClusterId kTemperatureMeasurementClusterId = 0x0402;
/*----------------------------------------------------------------------------*\
+| Cluster ApplicationBasic | 0x050D |
+|------------------------------------------------------------------------------|
+| Commands: | |
+|------------------------------------------------------------------------------|
+| Attributes: | |
+| * VendorName | 0x0000 |
+| * VendorId | 0x0001 |
+| * ApplicationName | 0x0002 |
+| * ProductId | 0x0003 |
+| * ApplicationId | 0x0005 |
+| * CatalogVendorId | 0x0006 |
+| * ApplicationSatus | 0x0007 |
+| * ClusterRevision | 0xFFFD |
+\*----------------------------------------------------------------------------*/
+
+/*
+ * Discover Attributes
+ */
+class DiscoverApplicationBasicAttributes : public ModelCommand
+{
+public:
+ DiscoverApplicationBasicAttributes() : ModelCommand("discover") { ModelCommand::AddArguments(); }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0000) command (0x0C) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.DiscoverAttributes(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<DefaultSuccessCallback> * onSuccessCallback =
+ new chip::Callback::Callback<DefaultSuccessCallback>(OnDefaultSuccessResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute VendorName
+ */
+class ReadApplicationBasicVendorName : public ModelCommand
+{
+public:
+ ReadApplicationBasicVendorName() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "vendor-name");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeVendorName(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<UnsupportedAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<UnsupportedAttributeCallback>(OnUnsupportedAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute VendorId
+ */
+class ReadApplicationBasicVendorId : public ModelCommand
+{
+public:
+ ReadApplicationBasicVendorId() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "vendor-id");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeVendorId(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<Int16uAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute ApplicationName
+ */
+class ReadApplicationBasicApplicationName : public ModelCommand
+{
+public:
+ ReadApplicationBasicApplicationName() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "application-name");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeApplicationName(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<UnsupportedAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<UnsupportedAttributeCallback>(OnUnsupportedAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute ProductId
+ */
+class ReadApplicationBasicProductId : public ModelCommand
+{
+public:
+ ReadApplicationBasicProductId() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "product-id");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeProductId(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<Int16uAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute ApplicationId
+ */
+class ReadApplicationBasicApplicationId : public ModelCommand
+{
+public:
+ ReadApplicationBasicApplicationId() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "application-id");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeApplicationId(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<UnsupportedAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<UnsupportedAttributeCallback>(OnUnsupportedAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute CatalogVendorId
+ */
+class ReadApplicationBasicCatalogVendorId : public ModelCommand
+{
+public:
+ ReadApplicationBasicCatalogVendorId() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "catalog-vendor-id");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeCatalogVendorId(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<Int16uAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute ApplicationSatus
+ */
+class ReadApplicationBasicApplicationSatus : public ModelCommand
+{
+public:
+ ReadApplicationBasicApplicationSatus() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "application-satus");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeApplicationSatus(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<Int8uAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<Int8uAttributeCallback>(OnInt8uAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*
+ * Attribute ClusterRevision
+ */
+class ReadApplicationBasicClusterRevision : public ModelCommand
+{
+public:
+ ReadApplicationBasicClusterRevision() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "cluster-revision");
+ ModelCommand::AddArguments();
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x050D) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::ApplicationBasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeClusterRevision(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback<Int16uAttributeCallback> * onSuccessCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ chip::Callback::Callback<DefaultFailureCallback> * onFailureCallback =
+ new chip::Callback::Callback<DefaultFailureCallback>(OnDefaultFailureResponse, this);
+};
+
+/*----------------------------------------------------------------------------*\
| Cluster BarrierControl | 0x0103 |
|------------------------------------------------------------------------------|
| Commands: | |
@@ -6603,6 +6869,20 @@
/*----------------------------------------------------------------------------*\
| Register all Clusters commands |
\*----------------------------------------------------------------------------*/
+void registerClusterApplicationBasic(Commands & commands)
+{
+ const char * clusterName = "ApplicationBasic";
+
+ commands_list clusterCommands = {
+ make_unique<DiscoverApplicationBasicAttributes>(), make_unique<ReadApplicationBasicVendorName>(),
+ make_unique<ReadApplicationBasicVendorId>(), make_unique<ReadApplicationBasicApplicationName>(),
+ make_unique<ReadApplicationBasicProductId>(), make_unique<ReadApplicationBasicApplicationId>(),
+ make_unique<ReadApplicationBasicCatalogVendorId>(), make_unique<ReadApplicationBasicApplicationSatus>(),
+ make_unique<ReadApplicationBasicClusterRevision>(),
+ };
+
+ commands.Register(clusterName, clusterCommands);
+}
void registerClusterBarrierControl(Commands & commands)
{
const char * clusterName = "BarrierControl";
@@ -6896,6 +7176,7 @@
void registerClusters(Commands & commands)
{
+ registerClusterApplicationBasic(commands);
registerClusterBarrierControl(commands);
registerClusterBasic(commands);
registerClusterBinding(commands);
diff --git a/examples/chip-tool/gen/CHIPClustersObjc.h b/examples/chip-tool/gen/CHIPClustersObjc.h
index 42753c5..ab002ff 100644
--- a/examples/chip-tool/gen/CHIPClustersObjc.h
+++ b/examples/chip-tool/gen/CHIPClustersObjc.h
@@ -43,6 +43,23 @@
@end
/**
+ * Cluster Application Basic
+ *
+ */
+@interface CHIPApplicationBasic : CHIPCluster
+
+- (void)readAttributeVendorName:(ResponseHandler)completionHandler;
+- (void)readAttributeVendorId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationName:(ResponseHandler)completionHandler;
+- (void)readAttributeProductId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationId:(ResponseHandler)completionHandler;
+- (void)readAttributeCatalogVendorId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationSatus:(ResponseHandler)completionHandler;
+- (void)readAttributeClusterRevision:(ResponseHandler)completionHandler;
+
+@end
+
+/**
* Cluster Barrier Control
*
*/
diff --git a/examples/chip-tool/gen/CHIPClustersObjc.mm b/examples/chip-tool/gen/CHIPClustersObjc.mm
index b8562e8..75fb17f 100644
--- a/examples/chip-tool/gen/CHIPClustersObjc.mm
+++ b/examples/chip-tool/gen/CHIPClustersObjc.mm
@@ -1486,6 +1486,206 @@
}
@end
+@interface CHIPApplicationBasic ()
+@property (readonly) Controller::ApplicationBasicCluster cppCluster;
+@end
+
+@implementation CHIPApplicationBasic
+
+- (Controller::ClusterBase *)getCluster
+{
+ return &_cppCluster;
+}
+
+- (void)readAttributeVendorName:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeVendorId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationName:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationName(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeProductId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeProductId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationId:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeCatalogVendorId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeCatalogVendorId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationSatus:(ResponseHandler)completionHandler
+{
+ CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationSatus(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeClusterRevision:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+@end
+
@interface CHIPBarrierControl ()
@property (readonly) Controller::BarrierControlCluster cppCluster;
@end
diff --git a/examples/chip-tool/gen/attribute-id.h b/examples/chip-tool/gen/attribute-id.h
index 42b1923..1768d7e 100644
--- a/examples/chip-tool/gen/attribute-id.h
+++ b/examples/chip-tool/gen/attribute-id.h
@@ -1085,6 +1085,19 @@
// Server attributes
#define ZCL_MAX_DURATION_ATTRIBUTE_ID (0x0000)
+// Attribute ids for cluster: Application Basic
+
+// Client attributes
+
+// Server attributes
+#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
+#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0001)
+#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
+#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0003)
+#define ZCL_APPLICATION_ID_ATTRIBUTE_ID (0x0005)
+#define ZCL_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0006)
+#define ZCL_APPLICATION_STATUS_ATTRIBUTE_ID (0x0007)
+
// Attribute ids for cluster: Generic Tunnel
// Client attributes
diff --git a/examples/chip-tool/gen/call-command-handler.cpp b/examples/chip-tool/gen/call-command-handler.cpp
index febfaa7..2fc61da 100644
--- a/examples/chip-tool/gen/call-command-handler.cpp
+++ b/examples/chip-tool/gen/call-command-handler.cpp
@@ -28,6 +28,7 @@
using namespace chip;
+EmberAfStatus emberAfApplicationBasicClusterClientCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBarrierControlClusterClientCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBasicClusterClientCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBindingClusterClientCommandParse(EmberAfClusterCommand * cmd);
@@ -71,6 +72,10 @@
{
switch (cmd->apsFrame->clusterId)
{
+ case ZCL_APPLICATION_BASIC_CLUSTER_ID:
+ // No commands are enabled for cluster Application Basic
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
// No commands are enabled for cluster Barrier Control
result = status(false, true, cmd->mfgSpecific);
diff --git a/examples/chip-tool/gen/callback-stub.cpp b/examples/chip-tool/gen/callback-stub.cpp
index 80bbf1e..1282c96 100644
--- a/examples/chip-tool/gen/callback-stub.cpp
+++ b/examples/chip-tool/gen/callback-stub.cpp
@@ -27,6 +27,9 @@
{
switch (clusterId)
{
+ case ZCL_APPLICATION_BASIC_CLUSTER_ID:
+ emberAfApplicationBasicClusterInitCallback(endpoint);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
emberAfBarrierControlClusterInitCallback(endpoint);
break;
@@ -72,6 +75,11 @@
}
}
+void __attribute__((weak)) emberAfApplicationBasicClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfBarrierControlClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/examples/chip-tool/gen/callback.h b/examples/chip-tool/gen/callback.h
index 89d3ca4..415c45e 100644
--- a/examples/chip-tool/gen/callback.h
+++ b/examples/chip-tool/gen/callback.h
@@ -37,6 +37,14 @@
// Cluster Init Functions
+/** @brief Application Basic Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationBasicClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Barrier Control Cluster Init
*
* Cluster Init
@@ -144,6 +152,77 @@
// Cluster Server/Client Init Functions
//
+// Application Basic Cluster client
+//
+
+/** @brief Application Basic Cluster Client Init
+ *
+ * Client Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationBasicClusterClientInitCallback(chip::EndpointId endpoint);
+
+/** @brief Application Basic Cluster Client Attribute Changed
+ *
+ * Client Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfApplicationBasicClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Application Basic Cluster Client Manufacturer Specific Attribute Changed
+ *
+ * Client Manufacturer Specific Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ * @param manufacturerCode Manufacturer Code of the attribute that changed
+ */
+void emberAfApplicationBasicClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Application Basic Cluster Client Message Sent
+ *
+ * Client Message Sent
+ *
+ * @param type The type of message sent
+ * @param indexOrDestination The destination or address to which the message was sent
+ * @param apsFrame The APS frame for the message
+ * @param msgLen The length of the message
+ * @param message The message that was sent
+ * @param status The status of the sent message
+ */
+void emberAfApplicationBasicClusterClientMessageSentCallback(EmberOutgoingMessageType type, uint64_t indexOrDestination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Application Basic Cluster Client Pre Attribute Changed
+ *
+ * client Pre Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute to be changed
+ * @param attributeType Attribute type
+ * @param size Attribute size
+ * @param value Attribute value
+ */
+EmberAfStatus emberAfApplicationBasicClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint8_t size,
+ uint8_t * value);
+
+/** @brief Application Basic Cluster Client Tick
+ *
+ * client Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfApplicationBasicClusterClientTickCallback(chip::EndpointId endpoint);
+
+//
// Barrier Control Cluster client
//
diff --git a/examples/chip-tool/gen/cluster-id.h b/examples/chip-tool/gen/cluster-id.h
index b6b8954..c95bf86 100644
--- a/examples/chip-tool/gen/cluster-id.h
+++ b/examples/chip-tool/gen/cluster-id.h
@@ -236,6 +236,9 @@
// Definitions for cluster: IAS WD
#define ZCL_IAS_WD_CLUSTER_ID (0x0502)
+// Definitions for cluster: Application Basic
+#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0x050D)
+
// Definitions for cluster: Generic Tunnel
#define ZCL_GENERIC_TUNNEL_CLUSTER_ID (0x0600)
diff --git a/examples/chip-tool/gen/endpoint_config.h b/examples/chip-tool/gen/endpoint_config.h
index 9b4ef52..7f29ff6 100644
--- a/examples/chip-tool/gen/endpoint_config.h
+++ b/examples/chip-tool/gen/endpoint_config.h
@@ -55,7 +55,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 13
+#define GENERATED_ATTRIBUTE_COUNT 14
#define GENERATED_ATTRIBUTES \
{ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), { (uint8_t *) 3 } }, /* Basic (client): cluster revision */ \
@@ -88,6 +88,9 @@
}, /* Temperature Measurement (client): cluster revision */ \
{ \
0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), { (uint8_t *) 0x0001 } \
+ }, /* Application Basic (client): cluster revision */ \
+ { \
+ 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), { (uint8_t *) 0x0001 } \
}, /* Binding (client): cluster revision */ \
{ \
0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), { (uint8_t *) 0x0001 } \
@@ -104,7 +107,7 @@
#define GENERATED_FUNCTION_ARRAYS
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 13
+#define GENERATED_CLUSTER_COUNT 14
#define GENERATED_CLUSTERS \
{ \
{ 0x0000, ZAP_ATTRIBUTE_INDEX(0), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Basic (client) */ \
@@ -130,13 +133,16 @@
0x0402, ZAP_ATTRIBUTE_INDEX(9), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(10), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(10), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ }, /* Endpoint: 1, Cluster: Application Basic (client) */ \
+ { \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(11), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 1, Cluster: Binding (client) */ \
{ \
- 0xF001, ZAP_ATTRIBUTE_INDEX(11), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0xF001, ZAP_ATTRIBUTE_INDEX(12), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 1, Cluster: Media Playback (client) */ \
{ \
- 0xF002, ZAP_ATTRIBUTE_INDEX(12), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0xF002, ZAP_ATTRIBUTE_INDEX(13), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 1, Cluster: Content Launch (client) */ \
}
@@ -145,7 +151,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 13, 26 }, \
+ { ZAP_CLUSTER_INDEX(0), 14, 28 }, \
}
// Largest attribute size is needed for various buffers
@@ -155,7 +161,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (0)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (26)
+#define ATTRIBUTE_MAX_SIZE (28)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (1)
diff --git a/examples/chip-tool/gen/enums.h b/examples/chip-tool/gen/enums.h
index 2020075..1dd17bf 100644
--- a/examples/chip-tool/gen/enums.h
+++ b/examples/chip-tool/gen/enums.h
@@ -223,6 +223,14 @@
EMBER_ZCL_APPLIANCE_STATUS_SUPERHEATING = 15,
} EmberAfApplianceStatus;
+// Enum for ApplicationBasicStatus
+typedef enum
+{
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_STOPPED = 0,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_RUNNING = 1,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_BACKGROUND = 2,
+} EmberAfApplicationBasicStatus;
+
// Enum for AttributeReportingStatus
typedef enum
{
diff --git a/examples/chip-tool/gen/gen_config.h b/examples/chip-tool/gen/gen_config.h
index eb40bb1..d02ec64 100644
--- a/examples/chip-tool/gen/gen_config.h
+++ b/examples/chip-tool/gen/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_APPLICATION_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
#define EMBER_AF_BARRIER_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
#define EMBER_AF_BINDING_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
@@ -45,6 +46,10 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the client side of the Application Basic cluster is included
+#define ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT
+#define EMBER_AF_PLUGIN_APPLICATION_BASIC_CLIENT
+
// Use this macro to check if the client side of the Barrier Control cluster is included
#define ZCL_USING_BARRIER_CONTROL_CLUSTER_CLIENT
#define EMBER_AF_PLUGIN_BARRIER_CONTROL_CLIENT
diff --git a/examples/chip-tool/gen/print-cluster.h b/examples/chip-tool/gen/print-cluster.h
index 75d66bd..ed02ad0 100644
--- a/examples/chip-tool/gen/print-cluster.h
+++ b/examples/chip-tool/gen/print-cluster.h
@@ -520,6 +520,12 @@
#define CHIP_PRINTCLUSTER_IAS_WD_CLUSTER
#endif
+#if defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT)
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER { ZCL_APPLICATION_BASIC_CLUSTER_ID, 1293, "Application Basic" },
+#else
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER
+#endif
+
#if defined(ZCL_USING_GENERIC_TUNNEL_CLUSTER_SERVER) || defined(ZCL_USING_GENERIC_TUNNEL_CLUSTER_CLIENT)
#define CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER { ZCL_GENERIC_TUNNEL_CLUSTER_ID, 1536, "Generic Tunnel" },
#else
@@ -844,6 +850,7 @@
CHIP_PRINTCLUSTER_IAS_ZONE_CLUSTER \
CHIP_PRINTCLUSTER_IAS_ACE_CLUSTER \
CHIP_PRINTCLUSTER_IAS_WD_CLUSTER \
+ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER \
CHIP_PRINTCLUSTER_BACNET_PROTOCOL_TUNNEL_CLUSTER \
CHIP_PRINTCLUSTER_11073_PROTOCOL_TUNNEL_CLUSTER \
diff --git a/examples/lighting-app/lighting-common/gen/attribute-id.h b/examples/lighting-app/lighting-common/gen/attribute-id.h
index 42b1923..31faa16 100644
--- a/examples/lighting-app/lighting-common/gen/attribute-id.h
+++ b/examples/lighting-app/lighting-common/gen/attribute-id.h
@@ -4083,6 +4083,19 @@
// Server attributes
+// Attribute ids for cluster: Application Basic
+
+// Client attributes
+
+// Server attributes
+#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
+#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0001)
+#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
+#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0003)
+#define ZCL_APPLICATION_ID_ATTRIBUTE_ID (0x0005)
+#define ZCL_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0006)
+#define ZCL_APPLICATION_STATUS_ATTRIBUTE_ID (0x0007)
+
// Attribute ids for cluster: Sample Mfg Specific Cluster
// Client attributes
diff --git a/examples/lighting-app/lighting-common/gen/cluster-id.h b/examples/lighting-app/lighting-common/gen/cluster-id.h
index b6b8954..8db9fde 100644
--- a/examples/lighting-app/lighting-common/gen/cluster-id.h
+++ b/examples/lighting-app/lighting-common/gen/cluster-id.h
@@ -344,6 +344,9 @@
// Definitions for cluster: Content Launch
#define ZCL_CONTENT_LAUNCH_CLUSTER_ID (0xF002)
+// Definitions for cluster: Application Basic
+#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0xF003)
+
// Definitions for cluster: Sample Mfg Specific Cluster
#define ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID (0xFC00)
diff --git a/examples/lighting-app/lighting-common/gen/enums.h b/examples/lighting-app/lighting-common/gen/enums.h
index 2020075..1dd17bf 100644
--- a/examples/lighting-app/lighting-common/gen/enums.h
+++ b/examples/lighting-app/lighting-common/gen/enums.h
@@ -223,6 +223,14 @@
EMBER_ZCL_APPLIANCE_STATUS_SUPERHEATING = 15,
} EmberAfApplianceStatus;
+// Enum for ApplicationBasicStatus
+typedef enum
+{
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_STOPPED = 0,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_RUNNING = 1,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_BACKGROUND = 2,
+} EmberAfApplicationBasicStatus;
+
// Enum for AttributeReportingStatus
typedef enum
{
diff --git a/examples/lighting-app/lighting-common/gen/print-cluster.h b/examples/lighting-app/lighting-common/gen/print-cluster.h
index 75d66bd..a276137 100644
--- a/examples/lighting-app/lighting-common/gen/print-cluster.h
+++ b/examples/lighting-app/lighting-common/gen/print-cluster.h
@@ -740,6 +740,12 @@
#define CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER
#endif
+#if defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT)
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER { ZCL_APPLICATION_BASIC_CLUSTER_ID, 61443, "Application Basic" },
+#else
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER
+#endif
+
#if defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_SERVER) || defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_CLIENT)
#define CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER { ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID, 64512, "Sample Mfg Specific Cluster" },
#else
@@ -880,6 +886,7 @@
CHIP_PRINTCLUSTER_BINDING_CLUSTER \
CHIP_PRINTCLUSTER_MEDIA_PLAYBACK_CLUSTER \
CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER \
+ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER_2 \
CHIP_PRINTCLUSTER_OTA_CONFIGURATION_CLUSTER \
diff --git a/examples/lock-app/lock-common/gen/attribute-id.h b/examples/lock-app/lock-common/gen/attribute-id.h
index 42b1923..31faa16 100644
--- a/examples/lock-app/lock-common/gen/attribute-id.h
+++ b/examples/lock-app/lock-common/gen/attribute-id.h
@@ -4083,6 +4083,19 @@
// Server attributes
+// Attribute ids for cluster: Application Basic
+
+// Client attributes
+
+// Server attributes
+#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
+#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0001)
+#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
+#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0003)
+#define ZCL_APPLICATION_ID_ATTRIBUTE_ID (0x0005)
+#define ZCL_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0006)
+#define ZCL_APPLICATION_STATUS_ATTRIBUTE_ID (0x0007)
+
// Attribute ids for cluster: Sample Mfg Specific Cluster
// Client attributes
diff --git a/examples/lock-app/lock-common/gen/cluster-id.h b/examples/lock-app/lock-common/gen/cluster-id.h
index b6b8954..8db9fde 100644
--- a/examples/lock-app/lock-common/gen/cluster-id.h
+++ b/examples/lock-app/lock-common/gen/cluster-id.h
@@ -344,6 +344,9 @@
// Definitions for cluster: Content Launch
#define ZCL_CONTENT_LAUNCH_CLUSTER_ID (0xF002)
+// Definitions for cluster: Application Basic
+#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0xF003)
+
// Definitions for cluster: Sample Mfg Specific Cluster
#define ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID (0xFC00)
diff --git a/examples/lock-app/lock-common/gen/enums.h b/examples/lock-app/lock-common/gen/enums.h
index 2020075..1dd17bf 100644
--- a/examples/lock-app/lock-common/gen/enums.h
+++ b/examples/lock-app/lock-common/gen/enums.h
@@ -223,6 +223,14 @@
EMBER_ZCL_APPLIANCE_STATUS_SUPERHEATING = 15,
} EmberAfApplianceStatus;
+// Enum for ApplicationBasicStatus
+typedef enum
+{
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_STOPPED = 0,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_RUNNING = 1,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_BACKGROUND = 2,
+} EmberAfApplicationBasicStatus;
+
// Enum for AttributeReportingStatus
typedef enum
{
diff --git a/examples/lock-app/lock-common/gen/print-cluster.h b/examples/lock-app/lock-common/gen/print-cluster.h
index 75d66bd..a276137 100644
--- a/examples/lock-app/lock-common/gen/print-cluster.h
+++ b/examples/lock-app/lock-common/gen/print-cluster.h
@@ -740,6 +740,12 @@
#define CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER
#endif
+#if defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT)
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER { ZCL_APPLICATION_BASIC_CLUSTER_ID, 61443, "Application Basic" },
+#else
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER
+#endif
+
#if defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_SERVER) || defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_CLIENT)
#define CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER { ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID, 64512, "Sample Mfg Specific Cluster" },
#else
@@ -880,6 +886,7 @@
CHIP_PRINTCLUSTER_BINDING_CLUSTER \
CHIP_PRINTCLUSTER_MEDIA_PLAYBACK_CLUSTER \
CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER \
+ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER_2 \
CHIP_PRINTCLUSTER_OTA_CONFIGURATION_CLUSTER \
diff --git a/examples/temperature-measurement-app/esp32/main/gen/attribute-id.h b/examples/temperature-measurement-app/esp32/main/gen/attribute-id.h
index 42b1923..31faa16 100644
--- a/examples/temperature-measurement-app/esp32/main/gen/attribute-id.h
+++ b/examples/temperature-measurement-app/esp32/main/gen/attribute-id.h
@@ -4083,6 +4083,19 @@
// Server attributes
+// Attribute ids for cluster: Application Basic
+
+// Client attributes
+
+// Server attributes
+#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
+#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0001)
+#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
+#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0003)
+#define ZCL_APPLICATION_ID_ATTRIBUTE_ID (0x0005)
+#define ZCL_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0006)
+#define ZCL_APPLICATION_STATUS_ATTRIBUTE_ID (0x0007)
+
// Attribute ids for cluster: Sample Mfg Specific Cluster
// Client attributes
diff --git a/examples/temperature-measurement-app/esp32/main/gen/cluster-id.h b/examples/temperature-measurement-app/esp32/main/gen/cluster-id.h
index b6b8954..8db9fde 100644
--- a/examples/temperature-measurement-app/esp32/main/gen/cluster-id.h
+++ b/examples/temperature-measurement-app/esp32/main/gen/cluster-id.h
@@ -344,6 +344,9 @@
// Definitions for cluster: Content Launch
#define ZCL_CONTENT_LAUNCH_CLUSTER_ID (0xF002)
+// Definitions for cluster: Application Basic
+#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0xF003)
+
// Definitions for cluster: Sample Mfg Specific Cluster
#define ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID (0xFC00)
diff --git a/examples/temperature-measurement-app/esp32/main/gen/enums.h b/examples/temperature-measurement-app/esp32/main/gen/enums.h
index 2020075..1dd17bf 100644
--- a/examples/temperature-measurement-app/esp32/main/gen/enums.h
+++ b/examples/temperature-measurement-app/esp32/main/gen/enums.h
@@ -223,6 +223,14 @@
EMBER_ZCL_APPLIANCE_STATUS_SUPERHEATING = 15,
} EmberAfApplianceStatus;
+// Enum for ApplicationBasicStatus
+typedef enum
+{
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_STOPPED = 0,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_RUNNING = 1,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_BACKGROUND = 2,
+} EmberAfApplicationBasicStatus;
+
// Enum for AttributeReportingStatus
typedef enum
{
diff --git a/examples/temperature-measurement-app/esp32/main/gen/print-cluster.h b/examples/temperature-measurement-app/esp32/main/gen/print-cluster.h
index 75d66bd..a276137 100644
--- a/examples/temperature-measurement-app/esp32/main/gen/print-cluster.h
+++ b/examples/temperature-measurement-app/esp32/main/gen/print-cluster.h
@@ -740,6 +740,12 @@
#define CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER
#endif
+#if defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT)
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER { ZCL_APPLICATION_BASIC_CLUSTER_ID, 61443, "Application Basic" },
+#else
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER
+#endif
+
#if defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_SERVER) || defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_CLIENT)
#define CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER { ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID, 64512, "Sample Mfg Specific Cluster" },
#else
@@ -880,6 +886,7 @@
CHIP_PRINTCLUSTER_BINDING_CLUSTER \
CHIP_PRINTCLUSTER_MEDIA_PLAYBACK_CLUSTER \
CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER \
+ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER \
CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER_2 \
CHIP_PRINTCLUSTER_OTA_CONFIGURATION_CLUSTER \
diff --git a/examples/tv-app/tv-common/gen/CHIPClustersObjc.h b/examples/tv-app/tv-common/gen/CHIPClustersObjc.h
index 81970f4..dc75380 100644
--- a/examples/tv-app/tv-common/gen/CHIPClustersObjc.h
+++ b/examples/tv-app/tv-common/gen/CHIPClustersObjc.h
@@ -43,6 +43,23 @@
@end
/**
+ * Cluster Application Basic
+ *
+ */
+@interface CHIPApplicationBasic : CHIPCluster
+
+- (void)readAttributeVendorName:(ResponseHandler)completionHandler;
+- (void)readAttributeVendorId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationName:(ResponseHandler)completionHandler;
+- (void)readAttributeProductId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationId:(ResponseHandler)completionHandler;
+- (void)readAttributeCatalogVendorId:(ResponseHandler)completionHandler;
+- (void)readAttributeApplicationSatus:(ResponseHandler)completionHandler;
+- (void)readAttributeClusterRevision:(ResponseHandler)completionHandler;
+
+@end
+
+/**
* Cluster Barrier Control
*
*/
diff --git a/examples/tv-app/tv-common/gen/CHIPClustersObjc.mm b/examples/tv-app/tv-common/gen/CHIPClustersObjc.mm
index 3327da8..63bf7c6 100644
--- a/examples/tv-app/tv-common/gen/CHIPClustersObjc.mm
+++ b/examples/tv-app/tv-common/gen/CHIPClustersObjc.mm
@@ -365,6 +365,206 @@
}
@end
+@interface CHIPApplicationBasic ()
+@property (readonly) Controller::ApplicationBasicCluster cppCluster;
+@end
+
+@implementation CHIPApplicationBasic
+
+- (Controller::ClusterBase *)getCluster
+{
+ return &_cppCluster;
+}
+
+- (void)readAttributeVendorName:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeVendorName(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeVendorId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeVendorId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationName:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationName(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeProductId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeProductId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationId:(ResponseHandler)completionHandler
+{
+ CHIPUnsupportedAttributeCallbackBridge * onSuccess
+ = new CHIPUnsupportedAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeCatalogVendorId:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeCatalogVendorId(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeApplicationSatus:(ResponseHandler)completionHandler
+{
+ CHIPInt8uAttributeCallbackBridge * onSuccess = new CHIPInt8uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeApplicationSatus(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+- (void)readAttributeClusterRevision:(ResponseHandler)completionHandler
+{
+ CHIPInt16uAttributeCallbackBridge * onSuccess = new CHIPInt16uAttributeCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onSuccess) {
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIPDefaultFailureCallbackBridge * onFailure = new CHIPDefaultFailureCallbackBridge(completionHandler, [self callbackQueue]);
+ if (!onFailure) {
+ delete onSuccess;
+ completionHandler([CHIPError errorForCHIPErrorCode:CHIP_ERROR_INCORRECT_STATE], nil);
+ return;
+ }
+
+ CHIP_ERROR err = self.cppCluster.ReadAttributeClusterRevision(onSuccess->Cancel(), onFailure->Cancel());
+ if (err != CHIP_NO_ERROR) {
+ delete onSuccess;
+ delete onFailure;
+ completionHandler([CHIPError errorForCHIPErrorCode:err], nil);
+ }
+}
+
+@end
+
@interface CHIPBarrierControl ()
@property (readonly) Controller::BarrierControlCluster cppCluster;
@end
diff --git a/examples/tv-app/tv-common/gen/attribute-id.h b/examples/tv-app/tv-common/gen/attribute-id.h
index 42b1923..1768d7e 100644
--- a/examples/tv-app/tv-common/gen/attribute-id.h
+++ b/examples/tv-app/tv-common/gen/attribute-id.h
@@ -1085,6 +1085,19 @@
// Server attributes
#define ZCL_MAX_DURATION_ATTRIBUTE_ID (0x0000)
+// Attribute ids for cluster: Application Basic
+
+// Client attributes
+
+// Server attributes
+#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
+#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0001)
+#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
+#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0003)
+#define ZCL_APPLICATION_ID_ATTRIBUTE_ID (0x0005)
+#define ZCL_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0006)
+#define ZCL_APPLICATION_STATUS_ATTRIBUTE_ID (0x0007)
+
// Attribute ids for cluster: Generic Tunnel
// Client attributes
diff --git a/examples/tv-app/tv-common/gen/call-command-handler.cpp b/examples/tv-app/tv-common/gen/call-command-handler.cpp
index 30406f0..c912f2f 100644
--- a/examples/tv-app/tv-common/gen/call-command-handler.cpp
+++ b/examples/tv-app/tv-common/gen/call-command-handler.cpp
@@ -28,6 +28,7 @@
using namespace chip;
+EmberAfStatus emberAfApplicationBasicClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBarrierControlClusterClientCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBarrierControlClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBasicClusterServerCommandParse(EmberAfClusterCommand * cmd);
@@ -95,6 +96,10 @@
{
switch (cmd->apsFrame->clusterId)
{
+ case ZCL_APPLICATION_BASIC_CLUSTER_ID:
+ // No commands are enabled for cluster Application Basic
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
result = emberAfBarrierControlClusterServerCommandParse(cmd);
break;
diff --git a/examples/tv-app/tv-common/gen/callback-stub.cpp b/examples/tv-app/tv-common/gen/callback-stub.cpp
index 6debefb..eb9cd9e 100644
--- a/examples/tv-app/tv-common/gen/callback-stub.cpp
+++ b/examples/tv-app/tv-common/gen/callback-stub.cpp
@@ -27,6 +27,9 @@
{
switch (clusterId)
{
+ case ZCL_APPLICATION_BASIC_CLUSTER_ID:
+ emberAfApplicationBasicClusterInitCallback(endpoint);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
emberAfBarrierControlClusterInitCallback(endpoint);
break;
@@ -72,6 +75,11 @@
}
}
+void __attribute__((weak)) emberAfApplicationBasicClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfBarrierControlClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/examples/tv-app/tv-common/gen/callback.h b/examples/tv-app/tv-common/gen/callback.h
index 4be4890..c3ed420 100644
--- a/examples/tv-app/tv-common/gen/callback.h
+++ b/examples/tv-app/tv-common/gen/callback.h
@@ -37,6 +37,14 @@
// Cluster Init Functions
+/** @brief Application Basic Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationBasicClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Barrier Control Cluster Init
*
* Cluster Init
@@ -144,6 +152,77 @@
// Cluster Server/Client Init Functions
//
+// Application Basic Cluster server
+//
+
+/** @brief Application Basic Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationBasicClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Application Basic Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfApplicationBasicClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Application Basic Cluster Server Manufacturer Specific Attribute Changed
+ *
+ * Server Manufacturer Specific Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ * @param manufacturerCode Manufacturer Code of the attribute that changed
+ */
+void emberAfApplicationBasicClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Application Basic Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param indexOrDestination The destination or address to which the message was sent
+ * @param apsFrame The APS frame for the message
+ * @param msgLen The length of the message
+ * @param message The message that was sent
+ * @param status The status of the sent message
+ */
+void emberAfApplicationBasicClusterServerMessageSentCallback(EmberOutgoingMessageType type, uint64_t indexOrDestination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Application Basic Cluster Server Pre Attribute Changed
+ *
+ * server Pre Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute to be changed
+ * @param attributeType Attribute type
+ * @param size Attribute size
+ * @param value Attribute value
+ */
+EmberAfStatus emberAfApplicationBasicClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint8_t size,
+ uint8_t * value);
+
+/** @brief Application Basic Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfApplicationBasicClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Barrier Control Cluster client
//
diff --git a/examples/tv-app/tv-common/gen/cluster-id.h b/examples/tv-app/tv-common/gen/cluster-id.h
index b6b8954..c95bf86 100644
--- a/examples/tv-app/tv-common/gen/cluster-id.h
+++ b/examples/tv-app/tv-common/gen/cluster-id.h
@@ -236,6 +236,9 @@
// Definitions for cluster: IAS WD
#define ZCL_IAS_WD_CLUSTER_ID (0x0502)
+// Definitions for cluster: Application Basic
+#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0x050D)
+
// Definitions for cluster: Generic Tunnel
#define ZCL_GENERIC_TUNNEL_CLUSTER_ID (0x0600)
diff --git a/examples/tv-app/tv-common/gen/endpoint_config.h b/examples/tv-app/tv-common/gen/endpoint_config.h
index b8191b8..ba09c3a 100644
--- a/examples/tv-app/tv-common/gen/endpoint_config.h
+++ b/examples/tv-app/tv-common/gen/endpoint_config.h
@@ -41,8 +41,17 @@
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
/* Default for cluster: "Color Control", attribute: "compensation text". side: server, big-endian */ /* 254 */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, big-endian */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, big-endian */ /* 262 */ 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "Application Basic", attribute: "vendor name". side: server, big-endian */ /* 294 */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application name". side: server, big-endian */ \
+ /* 326 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application id". side: server, big-endian */ \
}
#else // !BIGENDIAN_CPU
@@ -63,13 +72,22 @@
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, /* Default for cluster: "Color Control", attribute: "compensation text". side: server, little-endian */ \
- /* 254 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, little-endian */ \
+ /* 254 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "IAS Zone", attribute: "IAS CIE address". side: server, little-endian */ /* 262 */ 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Default for cluster: "Application Basic", attribute: "vendor name". side: server, little-endian */ /* 294 */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application name". side: server, little-endian */ \
+ /* 326 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, /* Default for cluster: "Application Basic", attribute: "application id". side: server, little-endian */ \
}
#endif // BIGENDIAN_CPU
-#define GENERATED_DEFAULTS_COUNT (2)
+#define GENERATED_DEFAULTS_COUNT (5)
#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
#define ZAP_LONG_DEFAULTS_INDEX(index) \
@@ -89,7 +107,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 93
+#define GENERATED_ATTRIBUTE_COUNT 101
#define GENERATED_ATTRIBUTES \
{ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) 3 } }, /* Basic (server): cluster revision */ \
@@ -222,8 +240,22 @@
{ 0x0002, ZAP_TYPE(BITMAP16), 2, 0, { (uint8_t *) 0x0000 } }, /* IAS Zone (server): zone status */ \
{ \
0x0010, ZAP_TYPE(IEEE_ADDRESS), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(254) } \
- }, /* IAS Zone (server): IAS CIE address */ \
- { 0x0011, ZAP_TYPE(INT8U), 1, 0, { (uint8_t *) 0xff } }, /* IAS Zone (server): Zone ID */ \
+ }, /* IAS Zone (server): IAS CIE address */ \
+ { 0x0011, ZAP_TYPE(INT8U), 1, 0, { (uint8_t *) 0xff } }, /* IAS Zone (server): Zone ID */ \
+ { \
+ 0x0000, ZAP_TYPE(OCTET_STRING), 32, 0, { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(262) } \
+ }, /* Application Basic (server): vendor name */ \
+ { 0x0001, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Application Basic (server): vendor id */ \
+ { \
+ 0x0002, ZAP_TYPE(OCTET_STRING), 32, 0, { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(294) } \
+ }, /* Application Basic (server): application name */ \
+ { 0x0003, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Application Basic (server): product id */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0x0001 } }, /* Application Basic (server): cluster revision */ \
+ { \
+ 0x0005, ZAP_TYPE(OCTET_STRING), 32, 0, { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(326) } \
+ }, /* Application Basic (server): application id */ \
+ { 0x0006, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Application Basic (server): catalog vendor id */ \
+ { 0x0007, ZAP_TYPE(ENUM8), 1, 0, { (uint8_t *) 0x01 } }, /* Application Basic (server): application satus */ \
{ 0x0000, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0 } }, /* Media Playback (server): current state */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0x0001 } }, /* Media Playback (server): cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0x0001 } }, /* Content Launch (server): cluster revision */ \
@@ -263,7 +295,7 @@
};
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 16
+#define GENERATED_CLUSTER_COUNT 17
#define GENERATED_CLUSTERS \
{ \
{ 0x0000, ZAP_ATTRIBUTE_INDEX(0), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 1, Cluster: Basic (server) */ \
@@ -332,10 +364,13 @@
ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \
chipFuncArrayIasZoneServer }, /* Endpoint: 1, Cluster: IAS Zone (server) */ \
{ \
- 0xF001, ZAP_ATTRIBUTE_INDEX(90), 2, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(90), 8, 105, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Application Basic (server) */ \
+ { \
+ 0xF001, ZAP_ATTRIBUTE_INDEX(98), 2, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Media Playback (server) */ \
{ \
- 0xF002, ZAP_ATTRIBUTE_INDEX(92), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF002, ZAP_ATTRIBUTE_INDEX(100), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Content Launch (server) */ \
}
@@ -344,7 +379,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 16, 409 }, \
+ { ZAP_CLUSTER_INDEX(0), 17, 514 }, \
}
// Largest attribute size is needed for various buffers
@@ -354,7 +389,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (4)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (409)
+#define ATTRIBUTE_MAX_SIZE (514)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (1)
diff --git a/examples/tv-app/tv-common/gen/enums.h b/examples/tv-app/tv-common/gen/enums.h
index 2020075..1dd17bf 100644
--- a/examples/tv-app/tv-common/gen/enums.h
+++ b/examples/tv-app/tv-common/gen/enums.h
@@ -223,6 +223,14 @@
EMBER_ZCL_APPLIANCE_STATUS_SUPERHEATING = 15,
} EmberAfApplianceStatus;
+// Enum for ApplicationBasicStatus
+typedef enum
+{
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_STOPPED = 0,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_RUNNING = 1,
+ EMBER_ZCL_APPLICATION_BASIC_STATUS_BACKGROUND = 2,
+} EmberAfApplicationBasicStatus;
+
// Enum for AttributeReportingStatus
typedef enum
{
diff --git a/examples/tv-app/tv-common/gen/gen_config.h b/examples/tv-app/tv-common/gen/gen_config.h
index ebbcab0..23a52e4 100644
--- a/examples/tv-app/tv-common/gen/gen_config.h
+++ b/examples/tv-app/tv-common/gen/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_APPLICATION_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BARRIER_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
#define EMBER_AF_BARRIER_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -48,6 +49,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Application Basic cluster is included
+#define ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_APPLICATION_BASIC_SERVER
+#define EMBER_AF_PLUGIN_APPLICATION_BASIC
+
// Use this macro to check if the client side of the Barrier Control cluster is included
#define ZCL_USING_BARRIER_CONTROL_CLUSTER_CLIENT
#define EMBER_AF_PLUGIN_BARRIER_CONTROL_CLIENT
diff --git a/examples/tv-app/tv-common/gen/print-cluster.h b/examples/tv-app/tv-common/gen/print-cluster.h
index 75d66bd..ed02ad0 100644
--- a/examples/tv-app/tv-common/gen/print-cluster.h
+++ b/examples/tv-app/tv-common/gen/print-cluster.h
@@ -520,6 +520,12 @@
#define CHIP_PRINTCLUSTER_IAS_WD_CLUSTER
#endif
+#if defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_BASIC_CLUSTER_CLIENT)
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER { ZCL_APPLICATION_BASIC_CLUSTER_ID, 1293, "Application Basic" },
+#else
+#define CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER
+#endif
+
#if defined(ZCL_USING_GENERIC_TUNNEL_CLUSTER_SERVER) || defined(ZCL_USING_GENERIC_TUNNEL_CLUSTER_CLIENT)
#define CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER { ZCL_GENERIC_TUNNEL_CLUSTER_ID, 1536, "Generic Tunnel" },
#else
@@ -844,6 +850,7 @@
CHIP_PRINTCLUSTER_IAS_ZONE_CLUSTER \
CHIP_PRINTCLUSTER_IAS_ACE_CLUSTER \
CHIP_PRINTCLUSTER_IAS_WD_CLUSTER \
+ CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER \
CHIP_PRINTCLUSTER_BACNET_PROTOCOL_TUNNEL_CLUSTER \
CHIP_PRINTCLUSTER_11073_PROTOCOL_TUNNEL_CLUSTER \
diff --git a/examples/tv-app/tv-common/tv-app.zap b/examples/tv-app/tv-common/tv-app.zap
index f86319e..c7987e9 100644
--- a/examples/tv-app/tv-common/tv-app.zap
+++ b/examples/tv-app/tv-common/tv-app.zap
@@ -1,5 +1,5 @@
{
- "writeTime": "Fri Feb 19 2021 22:42:17 GMT+0100 (Central European Standard Time)",
+ "writeTime": "Mon Mar 01 2021 10:57:44 GMT+0100 (Central European Standard Time)",
"featureLevel": 11,
"creator": "zap",
"keyValuePairs": [
@@ -79,6 +79,7 @@
"define": "BASIC_CLUSTER",
"side": "server",
"enabled": 1,
+ "commands": [],
"attributes": [
{
"name": "cluster revision",
@@ -125,8 +126,7 @@
"maxInterval": 65344,
"reportableChange": 0
}
- ],
- "commands": []
+ ]
},
{
"name": "Identify",
@@ -135,6 +135,23 @@
"define": "IDENTIFY_CLUSTER",
"side": "client",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "Identify",
@@ -152,23 +169,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -377,6 +377,23 @@
"define": "SCENES_CLUSTER",
"side": "client",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "3",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "AddScene",
@@ -434,23 +451,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -610,6 +610,23 @@
"define": "ON_OFF_CLUSTER",
"side": "client",
"enabled": 0,
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ],
"commands": [
{
"name": "Off",
@@ -635,23 +652,6 @@
"incoming": 1,
"outgoing": 1
}
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
]
},
{
@@ -2664,16 +2664,6 @@
"define": "IAS_ZONE_CLUSTER",
"side": "client",
"enabled": 0,
- "commands": [
- {
- "name": "ZoneEnrollResponse",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 0
- }
- ],
"attributes": [
{
"name": "cluster revision",
@@ -2690,6 +2680,16 @@
"maxInterval": 65344,
"reportableChange": 0
}
+ ],
+ "commands": [
+ {
+ "name": "ZoneEnrollResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 1,
+ "outgoing": 0
+ }
]
},
{
@@ -2699,6 +2699,24 @@
"define": "IAS_ZONE_CLUSTER",
"side": "server",
"enabled": 1,
+ "commands": [
+ {
+ "name": "ZoneStatusChangeNotification",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "ZoneEnrollRequest",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 0,
+ "outgoing": 1
+ }
+ ],
"attributes": [
{
"name": "cluster revision",
@@ -2790,23 +2808,162 @@
"maxInterval": 65344,
"reportableChange": 0
}
- ],
- "commands": [
+ ]
+ },
+ {
+ "name": "Application Basic",
+ "code": 1293,
+ "mfgCode": null,
+ "define": "APPLICATION_BASIC_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": [
{
- "name": "ZoneStatusChangeNotification",
- "code": 0,
+ "name": "cluster revision",
+ "code": 65533,
"mfgCode": null,
- "source": "server",
- "incoming": 0,
- "outgoing": 1
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Application Basic",
+ "code": 1293,
+ "mfgCode": null,
+ "define": "APPLICATION_BASIC_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "cluster revision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
},
{
- "name": "ZoneEnrollRequest",
+ "name": "vendor name",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "vendor id",
"code": 1,
"mfgCode": null,
- "source": "server",
- "incoming": 0,
- "outgoing": 1
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application name",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "product id",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application id",
+ "code": 5,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "catalog vendor id",
+ "code": 6,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "application satus",
+ "code": 7,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x01",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
}
]
},