Use controller clusters as a gen file for src controller (#6941)
* Move chip-zcl-zpro-codec-api.h and encoder.cpp into the gen/ folder
* Update the configuration of the controller-clusters.zap and all-clusters-app files
* Update various BUILD.gn to use a single zap source for the controller clusters
* Update gen/ folders
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 4566461..d0df4c8 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
@@ -7926,6 +7926,218 @@
]
},
{
+ "name": "Window Covering",
+ "code": 258,
+ "mfgCode": null,
+ "define": "WINDOW_COVERING_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "WindowCoveringUpOpen",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "WindowCoveringDownClose",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "WindowCoveringStop",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Window Covering",
+ "code": 258,
+ "mfgCode": null,
+ "define": "WINDOW_COVERING_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "window covering type",
+ "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 position - lift",
+ "code": 3,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current position - tilt",
+ "code": 4,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "config status",
+ "code": 7,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x03",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "installed open limit - lift",
+ "code": 16,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "installed closed limit - lift",
+ "code": 17,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0xFFFF",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "installed open limit - tilt",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x0000",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "installed closed limit - tilt",
+ "code": 19,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0xFFFF",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "mode",
+ "code": 23,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x14",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "Barrier Control",
"code": 259,
"mfgCode": null,
@@ -9622,6 +9834,619 @@
]
},
{
+ "name": "Wake on LAN",
+ "code": 1283,
+ "mfgCode": null,
+ "define": "WAKE_ON_LAN_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": "0x0001",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Wake on LAN",
+ "code": 1283,
+ "mfgCode": null,
+ "define": "WAKE_ON_LAN_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "wake on lan mac address",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "TV Channel",
+ "code": 1284,
+ "mfgCode": null,
+ "define": "TV_CHANNEL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "ChangeChannel",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "ChangeChannelByNumber",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "SkipChannel",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "TV Channel",
+ "code": 1284,
+ "mfgCode": null,
+ "define": "TV_CHANNEL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [
+ {
+ "name": "ChangeChannelResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ }
+ ],
+ "attributes": [
+ {
+ "name": "tv channel list",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "tv channel lineup",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "current tv channel",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "Target Navigator",
+ "code": 1285,
+ "mfgCode": null,
+ "define": "TARGET_NAVIGATOR_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "NavigateTarget",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Target Navigator",
+ "code": 1285,
+ "mfgCode": null,
+ "define": "TARGET_NAVIGATOR_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [
+ {
+ "name": "NavigateTargetResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ }
+ ],
+ "attributes": [
+ {
+ "name": "target navigator list",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "Media Playback",
+ "code": 1286,
+ "mfgCode": null,
+ "define": "MEDIA_PLAYBACK_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "MediaPlay",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaPause",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaStop",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaStartOver",
+ "code": 3,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaPrevious",
+ "code": 4,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaNext",
+ "code": 5,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaRewind",
+ "code": 6,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaFastForward",
+ "code": 7,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaSkipForward",
+ "code": 8,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaSkipBackward",
+ "code": 9,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "MediaSkipSeek",
+ "code": 10,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Media Playback",
+ "code": 1286,
+ "mfgCode": null,
+ "define": "MEDIA_PLAYBACK_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [
+ {
+ "name": "MediaPlayResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaPauseResponse",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaStopResponse",
+ "code": 2,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaStartOverResponse",
+ "code": 3,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaPreviousResponse",
+ "code": 4,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaNextResponse",
+ "code": 5,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaRewindResponse",
+ "code": 6,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaFastForwardResponse",
+ "code": 7,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaSkipForwardResponse",
+ "code": 8,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaSkipBackwardResponse",
+ "code": 9,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "MediaSkipSeekResponse",
+ "code": 10,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 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": "Media Input",
+ "code": 1287,
+ "mfgCode": null,
+ "define": "MEDIA_INPUT_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "SelectInput",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "ShowInputStatus",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "HideInputStatus",
+ "code": 2,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "RenameInput",
+ "code": 3,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Media Input",
+ "code": 1287,
+ "mfgCode": null,
+ "define": "MEDIA_INPUT_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "media input list",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "Low Power",
"code": 1288,
"mfgCode": null,
@@ -9683,6 +10508,361 @@
]
},
{
+ "name": "Keypad Input",
+ "code": 1289,
+ "mfgCode": null,
+ "define": "KEYPAD_INPUT_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "SendKey",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Keypad Input",
+ "code": 1289,
+ "mfgCode": null,
+ "define": "KEYPAD_INPUT_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [
+ {
+ "name": "SendKeyResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 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": "Content Launch",
+ "code": 1290,
+ "mfgCode": null,
+ "define": "CONTENT_LAUNCH_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "LaunchContent",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "LaunchURL",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Content Launch",
+ "code": 1290,
+ "mfgCode": null,
+ "define": "CONTENT_LAUNCH_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [
+ {
+ "name": "LaunchContentResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ },
+ {
+ "name": "LaunchURLResponse",
+ "code": 1,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ }
+ ],
+ "attributes": [
+ {
+ "name": "acceptsHeaderList",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "supported streaming types",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "Audio Output",
+ "code": 1291,
+ "mfgCode": null,
+ "define": "AUDIO_OUTPUT_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "SelectOutput",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "RenameOutput",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Audio Output",
+ "code": 1291,
+ "mfgCode": null,
+ "define": "AUDIO_OUTPUT_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "audio output list",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "Application Launcher",
+ "code": 1292,
+ "mfgCode": null,
+ "define": "APPLICATION_LAUNCHER_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "LaunchApp",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Application Launcher",
+ "code": 1292,
+ "mfgCode": null,
+ "define": "APPLICATION_LAUNCHER_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [
+ {
+ "name": "LaunchAppResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 0
+ }
+ ],
+ "attributes": [
+ {
+ "name": "application launcher list",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "Application Basic",
"code": 1293,
"mfgCode": null,
@@ -9840,6 +11020,84 @@
]
},
{
+ "name": "Account Login",
+ "code": 1294,
+ "mfgCode": null,
+ "define": "ACCOUNT_LOGIN_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [
+ {
+ "name": "GetSetupPIN",
+ "code": 0,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "outgoing": 1
+ },
+ {
+ "name": "Login",
+ "code": 1,
+ "mfgCode": null,
+ "source": "client",
+ "incoming": 0,
+ "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": "Account Login",
+ "code": 1294,
+ "mfgCode": null,
+ "define": "ACCOUNT_LOGIN_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [
+ {
+ "name": "GetSetupPINResponse",
+ "code": 0,
+ "mfgCode": null,
+ "source": "server",
+ "incoming": 1,
+ "outgoing": 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": "Test Cluster",
"code": 1295,
"mfgCode": null,
@@ -13021,103 +14279,6 @@
]
},
{
- "name": "Occupancy Sensing",
- "code": 1030,
- "mfgCode": null,
- "define": "OCCUPANCY_SENSING_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": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Occupancy Sensing",
- "code": 1030,
- "mfgCode": null,
- "define": "OCCUPANCY_SENSING_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": "occupancy",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "occupancy sensor 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": "occupancy sensor type bitmap",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
"name": "Temperature Measurement",
"code": 1026,
"mfgCode": null,
@@ -13230,6 +14391,103 @@
]
},
{
+ "name": "Occupancy Sensing",
+ "code": 1030,
+ "mfgCode": null,
+ "define": "OCCUPANCY_SENSING_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": "2",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Occupancy Sensing",
+ "code": 1030,
+ "mfgCode": null,
+ "define": "OCCUPANCY_SENSING_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "occupancy",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "name": "occupancy sensor 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": "occupancy sensor type bitmap",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
+ {
+ "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": "IAS Zone",
"code": 1280,
"mfgCode": null,
diff --git a/examples/all-clusters-app/all-clusters-common/gen/CHIPClusters.cpp b/examples/all-clusters-app/all-clusters-common/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/CHIPClusters.cpp
+++ b/examples/all-clusters-app/all-clusters-common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/all-clusters-app/all-clusters-common/gen/attribute-size.cpp b/examples/all-clusters-app/all-clusters-common/gen/attribute-size.cpp
index 7f74667..d153e20 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/attribute-size.cpp
+++ b/examples/all-clusters-app/all-clusters-common/gen/attribute-size.cpp
@@ -79,6 +79,101 @@
uint16_t entryLength = 0;
switch (clusterId)
{
+ case 0x050C: // Application Launcher Cluster
+ {
+ uint16_t entryOffset = kSizeLengthInBytes;
+ switch (am->attributeId)
+ {
+ case 0x0000: // application launcher list
+ {
+ entryLength = 2;
+ if (((index - 1) * entryLength) > (am->size - entryLength))
+ {
+ ChipLogError(Zcl, "Index %l is invalid.", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
+ copyListMember(dest, src, write, &entryOffset, entryLength); // INT16U
+ break;
+ }
+ }
+ break;
+ }
+ case 0x050B: // Audio Output Cluster
+ {
+ uint16_t entryOffset = kSizeLengthInBytes;
+ switch (am->attributeId)
+ {
+ case 0x0000: // audio output list
+ {
+ entryLength = 36;
+ if (((index - 1) * entryLength) > (am->size - entryLength))
+ {
+ ChipLogError(Zcl, "Index %l is invalid.", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
+ // Struct _AudioOutputInfo
+ _AudioOutputInfo * entry = reinterpret_cast<_AudioOutputInfo *>(write ? src : dest);
+ copyListMember(write ? dest : (uint8_t *) &entry->index, write ? (uint8_t *) &entry->index : src, write, &entryOffset,
+ sizeof(entry->index)); // INT8U
+ copyListMember(write ? dest : (uint8_t *) &entry->outputType, write ? (uint8_t *) &entry->outputType : src, write,
+ &entryOffset, sizeof(entry->outputType)); // AudioOutputType
+ chip::ByteSpan * nameSpan = &entry->name; // OCTET_STRING
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, 34, nameSpan) : ReadByteSpan(src + entryOffset, 34, nameSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + 34);
+ break;
+ }
+ }
+ break;
+ }
+ case 0x050A: // Content Launch Cluster
+ {
+ uint16_t entryOffset = kSizeLengthInBytes;
+ switch (am->attributeId)
+ {
+ case 0x0000: // accepts header list
+ {
+ entryOffset = GetByteSpanOffsetFromIndex(write ? dest : src, am->size, index - 1);
+ if (entryOffset == 0)
+ {
+ ChipLogError(Zcl, "Index %l is invalid.", index);
+ return 0;
+ }
+
+ chip::ByteSpan * acceptsHeaderListSpan = reinterpret_cast<chip::ByteSpan *>(write ? src : dest); // OCTET_STRING
+ uint16_t acceptsHeaderListRemainingSpace = static_cast<uint16_t>(am->size - entryOffset);
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, acceptsHeaderListRemainingSpace, acceptsHeaderListSpan)
+ : ReadByteSpan(src + entryOffset, acceptsHeaderListRemainingSpace, acceptsHeaderListSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+
+ entryLength = acceptsHeaderListSpan->size();
+ break;
+ }
+ case 0x0001: // supported streaming types
+ {
+ entryLength = 1;
+ if (((index - 1) * entryLength) > (am->size - entryLength))
+ {
+ ChipLogError(Zcl, "Index %l is invalid.", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
+ copyListMember(dest, src, write, &entryOffset, entryLength); // ContentLaunchStreamingType
+ break;
+ }
+ }
+ break;
+ }
case 0x001D: // Descriptor Cluster
{
uint16_t entryOffset = kSizeLengthInBytes;
@@ -240,6 +335,48 @@
}
break;
}
+ case 0x0507: // Media Input Cluster
+ {
+ uint16_t entryOffset = kSizeLengthInBytes;
+ switch (am->attributeId)
+ {
+ case 0x0000: // media input list
+ {
+ entryLength = 70;
+ if (((index - 1) * entryLength) > (am->size - entryLength))
+ {
+ ChipLogError(Zcl, "Index %l is invalid.", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
+ // Struct _MediaInputInfo
+ _MediaInputInfo * entry = reinterpret_cast<_MediaInputInfo *>(write ? src : dest);
+ copyListMember(write ? dest : (uint8_t *) &entry->index, write ? (uint8_t *) &entry->index : src, write, &entryOffset,
+ sizeof(entry->index)); // INT8U
+ copyListMember(write ? dest : (uint8_t *) &entry->inputType, write ? (uint8_t *) &entry->inputType : src, write,
+ &entryOffset, sizeof(entry->inputType)); // MediaInputType
+ chip::ByteSpan * nameSpan = &entry->name; // OCTET_STRING
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, 34, nameSpan) : ReadByteSpan(src + entryOffset, 34, nameSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + 34);
+ chip::ByteSpan * descriptionSpan = &entry->description; // OCTET_STRING
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, 34, descriptionSpan)
+ : ReadByteSpan(src + entryOffset, 34, descriptionSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + 34);
+ break;
+ }
+ }
+ break;
+ }
case 0x003E: // Operational Credentials Cluster
{
uint16_t entryOffset = kSizeLengthInBytes;
@@ -267,6 +404,87 @@
}
break;
}
+ case 0x0504: // TV Channel Cluster
+ {
+ uint16_t entryOffset = kSizeLengthInBytes;
+ switch (am->attributeId)
+ {
+ case 0x0000: // tv channel list
+ {
+ entryLength = 106;
+ if (((index - 1) * entryLength) > (am->size - entryLength))
+ {
+ ChipLogError(Zcl, "Index %l is invalid.", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
+ // Struct _TvChannelInfo
+ _TvChannelInfo * entry = reinterpret_cast<_TvChannelInfo *>(write ? src : dest);
+ copyListMember(write ? dest : (uint8_t *) &entry->majorNumber, write ? (uint8_t *) &entry->majorNumber : src, write,
+ &entryOffset, sizeof(entry->majorNumber)); // INT16U
+ copyListMember(write ? dest : (uint8_t *) &entry->minorNumber, write ? (uint8_t *) &entry->minorNumber : src, write,
+ &entryOffset, sizeof(entry->minorNumber)); // INT16U
+ chip::ByteSpan * nameSpan = &entry->name; // OCTET_STRING
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, 34, nameSpan) : ReadByteSpan(src + entryOffset, 34, nameSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + 34);
+ chip::ByteSpan * callSignSpan = &entry->callSign; // OCTET_STRING
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, 34, callSignSpan) : ReadByteSpan(src + entryOffset, 34, callSignSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + 34);
+ chip::ByteSpan * affiliateCallSignSpan = &entry->affiliateCallSign; // OCTET_STRING
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, 34, affiliateCallSignSpan)
+ : ReadByteSpan(src + entryOffset, 34, affiliateCallSignSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + 34);
+ break;
+ }
+ }
+ break;
+ }
+ case 0x0505: // Target Navigator Cluster
+ {
+ uint16_t entryOffset = kSizeLengthInBytes;
+ switch (am->attributeId)
+ {
+ case 0x0000: // target navigator list
+ {
+ entryLength = 35;
+ if (((index - 1) * entryLength) > (am->size - entryLength))
+ {
+ ChipLogError(Zcl, "Index %l is invalid.", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
+ // Struct _NavigateTargetTargetInfo
+ _NavigateTargetTargetInfo * entry = reinterpret_cast<_NavigateTargetTargetInfo *>(write ? src : dest);
+ copyListMember(write ? dest : (uint8_t *) &entry->identifier, write ? (uint8_t *) &entry->identifier : src, write,
+ &entryOffset, sizeof(entry->identifier)); // INT8U
+ chip::ByteSpan * nameSpan = &entry->name; // OCTET_STRING
+ if (CHIP_NO_ERROR !=
+ (write ? WriteByteSpan(dest + entryOffset, 34, nameSpan) : ReadByteSpan(src + entryOffset, 34, nameSpan)))
+ {
+ ChipLogError(Zcl, "Index %l is invalid. Not enough remaining space", index);
+ return 0;
+ }
+ entryOffset = static_cast<uint16_t>(entryOffset + 34);
+ break;
+ }
+ }
+ break;
+ }
case 0x050F: // Test Cluster Cluster
{
uint16_t entryOffset = kSizeLengthInBytes;
@@ -507,6 +725,37 @@
uint16_t entryLength = 0;
switch (clusterId)
{
+ case 0x050C: // Application Launcher Cluster
+ switch (attributeId)
+ {
+ case 0x0000: // application launcher list
+ // uint16_t
+ entryLength = 2;
+ break;
+ }
+ break;
+ case 0x050B: // Audio Output Cluster
+ switch (attributeId)
+ {
+ case 0x0000: // audio output list
+ // Struct _AudioOutputInfo
+ entryLength = 36;
+ break;
+ }
+ break;
+ case 0x050A: // Content Launch Cluster
+ switch (attributeId)
+ {
+ case 0x0000: // accepts header list
+ // chip::ByteSpan
+ return GetByteSpanOffsetFromIndex(buffer, 256, entryCount);
+ break;
+ case 0x0001: // supported streaming types
+ // uint8_t
+ entryLength = 1;
+ break;
+ }
+ break;
case 0x001D: // Descriptor Cluster
switch (attributeId)
{
@@ -550,6 +799,15 @@
break;
}
break;
+ case 0x0507: // Media Input Cluster
+ switch (attributeId)
+ {
+ case 0x0000: // media input list
+ // Struct _MediaInputInfo
+ entryLength = 70;
+ break;
+ }
+ break;
case 0x003E: // Operational Credentials Cluster
switch (attributeId)
{
@@ -559,6 +817,24 @@
break;
}
break;
+ case 0x0504: // TV Channel Cluster
+ switch (attributeId)
+ {
+ case 0x0000: // tv channel list
+ // Struct _TvChannelInfo
+ entryLength = 106;
+ break;
+ }
+ break;
+ case 0x0505: // Target Navigator Cluster
+ switch (attributeId)
+ {
+ case 0x0000: // target navigator list
+ // Struct _NavigateTargetTargetInfo
+ entryLength = 35;
+ break;
+ }
+ break;
case 0x050F: // Test Cluster Cluster
switch (attributeId)
{
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 80edb08..2816787 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,11 +28,15 @@
using namespace chip;
+EmberAfStatus emberAfAccountLoginClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfApplicationBasicClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfApplicationLauncherClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfAudioOutputClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBarrierControlClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBasicClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfBindingClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfColorControlClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfContentLaunchClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfDescriptorClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfDoorLockClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfEthernetNetworkDiagnosticsClusterServerCommandParse(EmberAfClusterCommand * cmd);
@@ -42,8 +46,11 @@
EmberAfStatus emberAfGroupsClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfIasZoneClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfIdentifyClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfKeypadInputClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfLevelControlClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfLowPowerClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfMediaInputClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfMediaPlaybackClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfNetworkCommissioningClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfOtaSoftwareUpdateClientClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfOtaSoftwareUpdateServerClusterServerCommandParse(EmberAfClusterCommand * cmd);
@@ -53,12 +60,16 @@
EmberAfStatus emberAfPumpConfigurationAndControlClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfScenesClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfSwitchClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfTvChannelClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfTargetNavigatorClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfTemperatureMeasurementClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfTestClusterClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfThermostatClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfThreadNetworkDiagnosticsClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfTrustedRootCertificatesClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfWakeOnLanClusterServerCommandParse(EmberAfClusterCommand * cmd);
EmberAfStatus emberAfWiFiNetworkDiagnosticsClusterServerCommandParse(EmberAfClusterCommand * cmd);
+EmberAfStatus emberAfWindowCoveringClusterServerCommandParse(EmberAfClusterCommand * cmd);
static EmberAfStatus status(bool wasHandled, bool clusterExists, bool mfgSpecific)
{
@@ -99,10 +110,22 @@
{
switch (cmd->apsFrame->clusterId)
{
+ case ZCL_ACCOUNT_LOGIN_CLUSTER_ID:
+ // No commands are enabled for cluster Account Login
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_APPLICATION_BASIC_CLUSTER_ID:
// No commands are enabled for cluster Application Basic
result = status(false, true, cmd->mfgSpecific);
break;
+ case ZCL_APPLICATION_LAUNCHER_CLUSTER_ID:
+ // No commands are enabled for cluster Application Launcher
+ result = status(false, true, cmd->mfgSpecific);
+ break;
+ case ZCL_AUDIO_OUTPUT_CLUSTER_ID:
+ // No commands are enabled for cluster Audio Output
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
result = emberAfBarrierControlClusterServerCommandParse(cmd);
break;
@@ -115,6 +138,10 @@
case ZCL_COLOR_CONTROL_CLUSTER_ID:
result = emberAfColorControlClusterServerCommandParse(cmd);
break;
+ case ZCL_CONTENT_LAUNCH_CLUSTER_ID:
+ // No commands are enabled for cluster Content Launch
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_DESCRIPTOR_CLUSTER_ID:
// No commands are enabled for cluster Descriptor
result = status(false, true, cmd->mfgSpecific);
@@ -146,12 +173,24 @@
case ZCL_IDENTIFY_CLUSTER_ID:
result = emberAfIdentifyClusterServerCommandParse(cmd);
break;
+ case ZCL_KEYPAD_INPUT_CLUSTER_ID:
+ // No commands are enabled for cluster Keypad Input
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_LEVEL_CONTROL_CLUSTER_ID:
result = emberAfLevelControlClusterServerCommandParse(cmd);
break;
case ZCL_LOW_POWER_CLUSTER_ID:
result = emberAfLowPowerClusterServerCommandParse(cmd);
break;
+ case ZCL_MEDIA_INPUT_CLUSTER_ID:
+ // No commands are enabled for cluster Media Input
+ result = status(false, true, cmd->mfgSpecific);
+ break;
+ case ZCL_MEDIA_PLAYBACK_CLUSTER_ID:
+ // No commands are enabled for cluster Media Playback
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_NETWORK_COMMISSIONING_CLUSTER_ID:
result = emberAfNetworkCommissioningClusterServerCommandParse(cmd);
break;
@@ -183,6 +222,14 @@
// No commands are enabled for cluster Switch
result = status(false, true, cmd->mfgSpecific);
break;
+ case ZCL_TV_CHANNEL_CLUSTER_ID:
+ // No commands are enabled for cluster TV Channel
+ result = status(false, true, cmd->mfgSpecific);
+ break;
+ case ZCL_TARGET_NAVIGATOR_CLUSTER_ID:
+ // No commands are enabled for cluster Target Navigator
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_TEMP_MEASUREMENT_CLUSTER_ID:
// No commands are enabled for cluster Temperature Measurement
result = status(false, true, cmd->mfgSpecific);
@@ -201,10 +248,18 @@
case ZCL_TRUSTED_ROOT_CERTIFICATES_CLUSTER_ID:
result = emberAfTrustedRootCertificatesClusterServerCommandParse(cmd);
break;
+ case ZCL_WAKE_ON_LAN_CLUSTER_ID:
+ // No commands are enabled for cluster Wake on LAN
+ result = status(false, true, cmd->mfgSpecific);
+ break;
case ZCL_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_ID:
// No commands are enabled for cluster WiFi Network Diagnostics
result = status(false, true, cmd->mfgSpecific);
break;
+ case ZCL_WINDOW_COVERING_CLUSTER_ID:
+ // No commands are enabled for cluster Window Covering
+ result = status(false, true, cmd->mfgSpecific);
+ break;
default:
// Unrecognized cluster ID, error status will apply.
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 b58383c..6dcbc82 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
@@ -29,9 +29,18 @@
{
switch (clusterId)
{
+ case ZCL_ACCOUNT_LOGIN_CLUSTER_ID:
+ emberAfAccountLoginClusterInitCallback(endpoint);
+ break;
case ZCL_APPLICATION_BASIC_CLUSTER_ID:
emberAfApplicationBasicClusterInitCallback(endpoint);
break;
+ case ZCL_APPLICATION_LAUNCHER_CLUSTER_ID:
+ emberAfApplicationLauncherClusterInitCallback(endpoint);
+ break;
+ case ZCL_AUDIO_OUTPUT_CLUSTER_ID:
+ emberAfAudioOutputClusterInitCallback(endpoint);
+ break;
case ZCL_BARRIER_CONTROL_CLUSTER_ID:
emberAfBarrierControlClusterInitCallback(endpoint);
break;
@@ -44,6 +53,9 @@
case ZCL_COLOR_CONTROL_CLUSTER_ID:
emberAfColorControlClusterInitCallback(endpoint);
break;
+ case ZCL_CONTENT_LAUNCH_CLUSTER_ID:
+ emberAfContentLaunchClusterInitCallback(endpoint);
+ break;
case ZCL_DESCRIPTOR_CLUSTER_ID:
emberAfDescriptorClusterInitCallback(endpoint);
break;
@@ -71,12 +83,21 @@
case ZCL_IDENTIFY_CLUSTER_ID:
emberAfIdentifyClusterInitCallback(endpoint);
break;
+ case ZCL_KEYPAD_INPUT_CLUSTER_ID:
+ emberAfKeypadInputClusterInitCallback(endpoint);
+ break;
case ZCL_LEVEL_CONTROL_CLUSTER_ID:
emberAfLevelControlClusterInitCallback(endpoint);
break;
case ZCL_LOW_POWER_CLUSTER_ID:
emberAfLowPowerClusterInitCallback(endpoint);
break;
+ case ZCL_MEDIA_INPUT_CLUSTER_ID:
+ emberAfMediaInputClusterInitCallback(endpoint);
+ break;
+ case ZCL_MEDIA_PLAYBACK_CLUSTER_ID:
+ emberAfMediaPlaybackClusterInitCallback(endpoint);
+ break;
case ZCL_NETWORK_COMMISSIONING_CLUSTER_ID:
emberAfNetworkCommissioningClusterInitCallback(endpoint);
break;
@@ -104,6 +125,12 @@
case ZCL_SWITCH_CLUSTER_ID:
emberAfSwitchClusterInitCallback(endpoint);
break;
+ case ZCL_TV_CHANNEL_CLUSTER_ID:
+ emberAfTvChannelClusterInitCallback(endpoint);
+ break;
+ case ZCL_TARGET_NAVIGATOR_CLUSTER_ID:
+ emberAfTargetNavigatorClusterInitCallback(endpoint);
+ break;
case ZCL_TEMP_MEASUREMENT_CLUSTER_ID:
emberAfTemperatureMeasurementClusterInitCallback(endpoint);
break;
@@ -119,20 +146,41 @@
case ZCL_TRUSTED_ROOT_CERTIFICATES_CLUSTER_ID:
emberAfTrustedRootCertificatesClusterInitCallback(endpoint);
break;
+ case ZCL_WAKE_ON_LAN_CLUSTER_ID:
+ emberAfWakeOnLanClusterInitCallback(endpoint);
+ break;
case ZCL_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_ID:
emberAfWiFiNetworkDiagnosticsClusterInitCallback(endpoint);
break;
+ case ZCL_WINDOW_COVERING_CLUSTER_ID:
+ emberAfWindowCoveringClusterInitCallback(endpoint);
+ break;
default:
// Unrecognized cluster ID
break;
}
}
+void __attribute__((weak)) emberAfAccountLoginClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfApplicationBasicClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
+void __attribute__((weak)) emberAfApplicationLauncherClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
+void __attribute__((weak)) emberAfAudioOutputClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfBarrierControlClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
@@ -153,6 +201,11 @@
// To prevent warning
(void) endpoint;
}
+void __attribute__((weak)) emberAfContentLaunchClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfDescriptorClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
@@ -198,6 +251,11 @@
// To prevent warning
(void) endpoint;
}
+void __attribute__((weak)) emberAfKeypadInputClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfLevelControlClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
@@ -208,6 +266,16 @@
// To prevent warning
(void) endpoint;
}
+void __attribute__((weak)) emberAfMediaInputClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
+void __attribute__((weak)) emberAfMediaPlaybackClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfNetworkCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
@@ -253,6 +321,16 @@
// To prevent warning
(void) endpoint;
}
+void __attribute__((weak)) emberAfTvChannelClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
+void __attribute__((weak)) emberAfTargetNavigatorClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfTemperatureMeasurementClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
@@ -278,11 +356,21 @@
// To prevent warning
(void) endpoint;
}
+void __attribute__((weak)) emberAfWakeOnLanClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfWiFiNetworkDiagnosticsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
+void __attribute__((weak)) emberAfWindowCoveringClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
//
// Non-Cluster Related Callbacks
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 3dbae3f..8b43819 100644
--- a/examples/all-clusters-app/all-clusters-common/gen/callback.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/callback.h
@@ -40,6 +40,14 @@
// Cluster Init Functions
+/** @brief Account Login Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfAccountLoginClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Application Basic Cluster Init
*
* Cluster Init
@@ -48,6 +56,22 @@
*/
void emberAfApplicationBasicClusterInitCallback(chip::EndpointId endpoint);
+/** @brief Application Launcher Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationLauncherClusterInitCallback(chip::EndpointId endpoint);
+
+/** @brief Audio Output Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfAudioOutputClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Barrier Control Cluster Init
*
* Cluster Init
@@ -80,6 +104,14 @@
*/
void emberAfColorControlClusterInitCallback(chip::EndpointId endpoint);
+/** @brief Content Launch Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfContentLaunchClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Descriptor Cluster Init
*
* Cluster Init
@@ -152,6 +184,14 @@
*/
void emberAfIdentifyClusterInitCallback(chip::EndpointId endpoint);
+/** @brief Keypad Input Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfKeypadInputClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Level Control Cluster Init
*
* Cluster Init
@@ -168,6 +208,22 @@
*/
void emberAfLowPowerClusterInitCallback(chip::EndpointId endpoint);
+/** @brief Media Input Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfMediaInputClusterInitCallback(chip::EndpointId endpoint);
+
+/** @brief Media Playback Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfMediaPlaybackClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Network Commissioning Cluster Init
*
* Cluster Init
@@ -240,6 +296,22 @@
*/
void emberAfSwitchClusterInitCallback(chip::EndpointId endpoint);
+/** @brief TV Channel Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfTvChannelClusterInitCallback(chip::EndpointId endpoint);
+
+/** @brief Target Navigator Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfTargetNavigatorClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief Temperature Measurement Cluster Init
*
* Cluster Init
@@ -280,6 +352,14 @@
*/
void emberAfTrustedRootCertificatesClusterInitCallback(chip::EndpointId endpoint);
+/** @brief Wake on LAN Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfWakeOnLanClusterInitCallback(chip::EndpointId endpoint);
+
/** @brief WiFi Network Diagnostics Cluster Init
*
* Cluster Init
@@ -288,9 +368,87 @@
*/
void emberAfWiFiNetworkDiagnosticsClusterInitCallback(chip::EndpointId endpoint);
+/** @brief Window Covering Cluster Init
+ *
+ * Cluster Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfWindowCoveringClusterInitCallback(chip::EndpointId endpoint);
+
// Cluster Server/Client Init Functions
//
+// Account Login Cluster server
+//
+
+/** @brief Account Login Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfAccountLoginClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Account Login Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfAccountLoginClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Account Login 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 emberAfAccountLoginClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Account Login Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfAccountLoginClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Account Login 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 emberAfAccountLoginClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Account Login Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfAccountLoginClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Application Basic Cluster server
//
@@ -362,6 +520,147 @@
void emberAfApplicationBasicClusterServerTickCallback(chip::EndpointId endpoint);
//
+// Application Launcher Cluster server
+//
+
+/** @brief Application Launcher Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfApplicationLauncherClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Application Launcher Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfApplicationLauncherClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Application Launcher 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 emberAfApplicationLauncherClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Application Launcher Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfApplicationLauncherClusterServerMessageSentCallback(EmberOutgoingMessageType type,
+ chip::MessageSendDestination destination, EmberApsFrame * apsFrame,
+ uint16_t msgLen, uint8_t * message, EmberStatus status);
+
+/** @brief Application Launcher 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 emberAfApplicationLauncherClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Application Launcher Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfApplicationLauncherClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
+// Audio Output Cluster server
+//
+
+/** @brief Audio Output Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfAudioOutputClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Audio Output Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfAudioOutputClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Audio Output 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 emberAfAudioOutputClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Audio Output Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfAudioOutputClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Audio Output 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 emberAfAudioOutputClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Audio Output Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfAudioOutputClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Barrier Control Cluster server
//
@@ -641,6 +940,76 @@
void emberAfColorControlClusterServerTickCallback(chip::EndpointId endpoint);
//
+// Content Launch Cluster server
+//
+
+/** @brief Content Launch Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfContentLaunchClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Content Launch Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfContentLaunchClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Content Launch 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 emberAfContentLaunchClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Content Launch Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfContentLaunchClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Content Launch 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 emberAfContentLaunchClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Content Launch Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfContentLaunchClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Descriptor Cluster server
//
@@ -1277,6 +1646,76 @@
void emberAfIdentifyClusterServerTickCallback(chip::EndpointId endpoint);
//
+// Keypad Input Cluster server
+//
+
+/** @brief Keypad Input Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfKeypadInputClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Keypad Input Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfKeypadInputClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Keypad Input 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 emberAfKeypadInputClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Keypad Input Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfKeypadInputClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Keypad Input 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 emberAfKeypadInputClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Keypad Input Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfKeypadInputClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Level Control Cluster server
//
@@ -1417,6 +1856,146 @@
void emberAfLowPowerClusterServerTickCallback(chip::EndpointId endpoint);
//
+// Media Input Cluster server
+//
+
+/** @brief Media Input Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfMediaInputClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Media Input Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfMediaInputClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Media Input 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 emberAfMediaInputClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Media Input Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfMediaInputClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Media Input 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 emberAfMediaInputClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Media Input Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfMediaInputClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
+// Media Playback Cluster server
+//
+
+/** @brief Media Playback Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfMediaPlaybackClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Media Playback Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfMediaPlaybackClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Media Playback 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 emberAfMediaPlaybackClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Media Playback Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfMediaPlaybackClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Media Playback 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 emberAfMediaPlaybackClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Media Playback Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfMediaPlaybackClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Network Commissioning Cluster server
//
@@ -2056,6 +2635,147 @@
void emberAfSwitchClusterServerTickCallback(chip::EndpointId endpoint);
//
+// TV Channel Cluster server
+//
+
+/** @brief TV Channel Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfTvChannelClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief TV Channel Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfTvChannelClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief TV Channel 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 emberAfTvChannelClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief TV Channel Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfTvChannelClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief TV Channel 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 emberAfTvChannelClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief TV Channel Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfTvChannelClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
+// Target Navigator Cluster server
+//
+
+/** @brief Target Navigator Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfTargetNavigatorClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Target Navigator Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfTargetNavigatorClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Target Navigator 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 emberAfTargetNavigatorClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Target Navigator Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfTargetNavigatorClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Target Navigator 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 emberAfTargetNavigatorClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Target Navigator Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfTargetNavigatorClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// Temperature Measurement Cluster server
//
@@ -2412,6 +3132,76 @@
void emberAfTrustedRootCertificatesClusterServerTickCallback(chip::EndpointId endpoint);
//
+// Wake on LAN Cluster server
+//
+
+/** @brief Wake on LAN Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfWakeOnLanClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Wake on LAN Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfWakeOnLanClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Wake on LAN 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 emberAfWakeOnLanClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Wake on LAN Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfWakeOnLanClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Wake on LAN 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 emberAfWakeOnLanClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Wake on LAN Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfWakeOnLanClusterServerTickCallback(chip::EndpointId endpoint);
+
+//
// WiFi Network Diagnostics Cluster server
//
@@ -2483,6 +3273,77 @@
*/
void emberAfWiFiNetworkDiagnosticsClusterServerTickCallback(chip::EndpointId endpoint);
+//
+// Window Covering Cluster server
+//
+
+/** @brief Window Covering Cluster Server Init
+ *
+ * Server Init
+ *
+ * @param endpoint Endpoint that is being initialized
+ */
+void emberAfWindowCoveringClusterServerInitCallback(chip::EndpointId endpoint);
+
+/** @brief Window Covering Cluster Server Attribute Changed
+ *
+ * Server Attribute Changed
+ *
+ * @param endpoint Endpoint that is being initialized
+ * @param attributeId Attribute that changed
+ */
+void emberAfWindowCoveringClusterServerAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
+
+/** @brief Window Covering 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 emberAfWindowCoveringClusterServerManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ uint16_t manufacturerCode);
+
+/** @brief Window Covering Cluster Server Message Sent
+ *
+ * Server Message Sent
+ *
+ * @param type The type of message sent
+ * @param destination The destination 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 emberAfWindowCoveringClusterServerMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
+ EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
+ EmberStatus status);
+
+/** @brief Window Covering 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 emberAfWindowCoveringClusterServerPreAttributeChangedCallback(chip::EndpointId endpoint,
+ chip::AttributeId attributeId,
+ EmberAfAttributeType attributeType, uint16_t size,
+ uint8_t * value);
+
+/** @brief Window Covering Cluster Server Tick
+ *
+ * server Tick
+ *
+ * @param endpoint Endpoint that is being served
+ */
+void emberAfWindowCoveringClusterServerTickCallback(chip::EndpointId endpoint);
+
// Cluster Commands Callback
/**
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/all-clusters-app/all-clusters-common/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
rename from examples/chip-tool/gen/call-command-handler.h
rename to examples/all-clusters-app/all-clusters-common/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/all-clusters-app/all-clusters-common/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/all-clusters-app/all-clusters-common/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/all-clusters-app/all-clusters-common/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
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 8ab197a..00a1e21 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
@@ -513,47 +513,15 @@
/* 4929 - IAS CIE address, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
- /* Endpoint: 1, Cluster: Application Basic (server), big-endian */ \
+ /* Endpoint: 1, Cluster: Wake on LAN (server), big-endian */ \
\
- /* 4937 - vendor name, */ \
+ /* 4937 - wake on lan mac address, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
- /* 4969 - application name, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Endpoint: 1, Cluster: TV Channel (server), big-endian */ \
\
- /* 5001 - application id, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* Endpoint: 1, Cluster: Test Cluster (server), big-endian */ \
- \
- /* 5033 - bitmap32, */ \
- 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5037 - bitmap64, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5045 - int32u, */ \
- 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5049 - int64u, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5057 - int32s, */ \
- 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5061 - int64s, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5069 - octet_string, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5079 - list_int8u, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5089 - list_octet_string, */ \
+ /* 4969 - tv channel list, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -569,7 +537,177 @@
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
- /* 5343 - list_struct_octet_string, */ \
+ /* 5223 - tv channel lineup, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 5255 - current tv channel, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Target Navigator (server), big-endian */ \
+ \
+ /* 5287 - target navigator list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Media Input (server), big-endian */ \
+ \
+ /* 5541 - media input list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Content Launch (server), big-endian */ \
+ \
+ /* 5795 - accepts header list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6049 - supported streaming types, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Audio Output (server), big-endian */ \
+ \
+ /* 6303 - audio output list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Application Launcher (server), big-endian */ \
+ \
+ /* 6557 - application launcher list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Application Basic (server), big-endian */ \
+ \
+ /* 6811 - vendor name, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6843 - application name, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6875 - application id, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Test Cluster (server), big-endian */ \
+ \
+ /* 6907 - bitmap32, */ \
+ 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6911 - bitmap64, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6919 - int32u, */ \
+ 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6923 - int64u, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6931 - int32s, */ \
+ 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6935 - int64s, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6943 - octet_string, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6953 - list_int8u, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6963 - list_octet_string, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 7217 - list_struct_octet_string, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -1076,47 +1214,15 @@
/* 4929 - IAS CIE address, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
- /* Endpoint: 1, Cluster: Application Basic (server), little-endian */ \
+ /* Endpoint: 1, Cluster: Wake on LAN (server), little-endian */ \
\
- /* 4937 - vendor name, */ \
+ /* 4937 - wake on lan mac address, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
- /* 4969 - application name, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ /* Endpoint: 1, Cluster: TV Channel (server), little-endian */ \
\
- /* 5001 - application id, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* Endpoint: 1, Cluster: Test Cluster (server), little-endian */ \
- \
- /* 5033 - bitmap32, */ \
- 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5037 - bitmap64, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5045 - int32u, */ \
- 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5049 - int64u, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5057 - int32s, */ \
- 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5061 - int64s, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5069 - octet_string, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5079 - list_int8u, */ \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- \
- /* 5089 - list_octet_string, */ \
+ /* 4969 - tv channel list, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -1132,7 +1238,177 @@
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
- /* 5343 - list_struct_octet_string, */ \
+ /* 5223 - tv channel lineup, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 5255 - current tv channel, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Target Navigator (server), little-endian */ \
+ \
+ /* 5287 - target navigator list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Media Input (server), little-endian */ \
+ \
+ /* 5541 - media input list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Content Launch (server), little-endian */ \
+ \
+ /* 5795 - accepts header list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6049 - supported streaming types, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Audio Output (server), little-endian */ \
+ \
+ /* 6303 - audio output list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Application Launcher (server), little-endian */ \
+ \
+ /* 6557 - application launcher list, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Application Basic (server), little-endian */ \
+ \
+ /* 6811 - vendor name, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6843 - application name, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6875 - application id, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* Endpoint: 1, Cluster: Test Cluster (server), little-endian */ \
+ \
+ /* 6907 - bitmap32, */ \
+ 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6911 - bitmap64, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6919 - int32u, */ \
+ 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6923 - int64u, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6931 - int32s, */ \
+ 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6935 - int64s, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6943 - octet_string, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6953 - list_int8u, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 6963 - list_octet_string, */ \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
+ \
+ /* 7217 - list_struct_octet_string, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -1151,7 +1427,7 @@
#endif // BIGENDIAN_CPU
-#define GENERATED_DEFAULTS_COUNT (89)
+#define GENERATED_DEFAULTS_COUNT (99)
#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
#define ZAP_LONG_DEFAULTS_INDEX(index) \
@@ -1179,7 +1455,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 254
+#define GENERATED_ATTRIBUTE_COUNT 284
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -1373,6 +1649,18 @@
{ 0x0002, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_EMPTY_DEFAULT() }, /* actuator enabled */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
\
+ /* Endpoint: 1, Cluster: Window Covering (server) */ \
+ { 0x0000, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* window covering type */ \
+ { 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* current position - lift */ \
+ { 0x0004, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* current position - tilt */ \
+ { 0x0007, ZAP_TYPE(BITMAP8), 1, 0, ZAP_SIMPLE_DEFAULT(0x03) }, /* config status */ \
+ { 0x0010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* installed open limit - lift */ \
+ { 0x0011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* installed closed limit - lift */ \
+ { 0x0012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* installed open limit - tilt */ \
+ { 0x0013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0xFFFF) }, /* installed closed limit - tilt */ \
+ { 0x0017, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x14) }, /* mode */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
+ \
/* Endpoint: 1, Cluster: Barrier Control (server) */ \
{ 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* barrier moving state */ \
{ 0x0002, ZAP_TYPE(BITMAP16), 2, 0, ZAP_EMPTY_DEFAULT() }, /* barrier safety status */ \
@@ -1470,40 +1758,80 @@
{ 0x0011, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0xff) }, /* Zone ID */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* cluster revision */ \
\
+ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \
+ { 0x0000, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(4937) }, /* wake on lan mac address */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
+ /* Endpoint: 1, Cluster: TV Channel (server) */ \
+ { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(4969) }, /* tv channel list */ \
+ { 0x0001, ZAP_TYPE(OCTET_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(5223) }, /* tv channel lineup */ \
+ { 0x0002, ZAP_TYPE(OCTET_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(5255) }, /* current tv channel */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
+ /* Endpoint: 1, Cluster: Target Navigator (server) */ \
+ { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5287) }, /* target navigator list */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
+ /* Endpoint: 1, Cluster: Media Playback (server) */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
+ /* Endpoint: 1, Cluster: Media Input (server) */ \
+ { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5541) }, /* media input list */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
/* Endpoint: 1, Cluster: Low Power (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
\
+ /* Endpoint: 1, Cluster: Keypad Input (server) */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
+ /* Endpoint: 1, Cluster: Content Launch (server) */ \
+ { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5795) }, /* accepts header list */ \
+ { 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6049) }, /* supported streaming types */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
+ /* Endpoint: 1, Cluster: Audio Output (server) */ \
+ { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6303) }, /* audio output list */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
+ /* Endpoint: 1, Cluster: Application Launcher (server) */ \
+ { 0x0000, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6557) }, /* application launcher list */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
/* Endpoint: 1, Cluster: Application Basic (server) */ \
- { 0x0000, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(4937) }, /* vendor name */ \
+ { 0x0000, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(6811) }, /* vendor name */ \
{ 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* vendor id */ \
- { 0x0002, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(4969) }, /* application name */ \
+ { 0x0002, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(6843) }, /* application name */ \
{ 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* product id */ \
- { 0x0005, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(5001) }, /* application id */ \
+ { 0x0005, ZAP_TYPE(CHAR_STRING), 32, 0, ZAP_LONG_DEFAULTS_INDEX(6875) }, /* application id */ \
{ 0x0006, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* catalog vendor id */ \
{ 0x0007, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* application satus */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
\
+ /* Endpoint: 1, Cluster: Account Login (server) */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
+ \
/* Endpoint: 1, Cluster: Test Cluster (server) */ \
{ 0x0000, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(false) }, /* boolean */ \
{ 0x0001, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap8 */ \
{ 0x0002, ZAP_TYPE(BITMAP16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* bitmap16 */ \
- { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(5033) }, /* bitmap32 */ \
- { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(5037) }, /* bitmap64 */ \
+ { 0x0003, ZAP_TYPE(BITMAP32), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6907) }, /* bitmap32 */ \
+ { 0x0004, ZAP_TYPE(BITMAP64), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6911) }, /* bitmap64 */ \
{ 0x0005, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8u */ \
{ 0x0006, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16u */ \
- { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(5045) }, /* int32u */ \
- { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(5049) }, /* int64u */ \
+ { 0x0008, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6919) }, /* int32u */ \
+ { 0x000C, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6923) }, /* int64u */ \
{ 0x000D, ZAP_TYPE(INT8S), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int8s */ \
{ 0x000E, ZAP_TYPE(INT16S), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* int16s */ \
- { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(5057) }, /* int32s */ \
- { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(5061) }, /* int64s */ \
+ { 0x0010, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6931) }, /* int32s */ \
+ { 0x0014, ZAP_TYPE(INT64S), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(6935) }, /* int64s */ \
{ 0x0015, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum8 */ \
{ 0x0016, ZAP_TYPE(ENUM16), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0) }, /* enum16 */ \
{ 0x0019, ZAP_TYPE(OCTET_STRING), 10, ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_LONG_DEFAULTS_INDEX(5069) }, /* octet_string */ \
- { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(5079) }, /* list_int8u */ \
- { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5089) }, /* list_octet_string */ \
- { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(5343) }, /* list_struct_octet_string */ \
+ ZAP_LONG_DEFAULTS_INDEX(6943) }, /* octet_string */ \
+ { 0x001A, ZAP_TYPE(ARRAY), 10, 0, ZAP_LONG_DEFAULTS_INDEX(6953) }, /* list_int8u */ \
+ { 0x001B, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(6963) }, /* list_octet_string */ \
+ { 0x001C, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(7217) }, /* list_struct_octet_string */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
\
/* Endpoint: 1, Cluster: Binding (server) */ \
@@ -1560,7 +1888,7 @@
};
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 34
+#define GENERATED_CLUSTER_COUNT 45
#define GENERATED_CLUSTERS \
{ \
{ \
@@ -1651,50 +1979,83 @@
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayDoorLockServer }, /* Endpoint: 1, Cluster: Door Lock (server) */ \
{ \
- 0x0103, ZAP_ATTRIBUTE_INDEX(138), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0102, ZAP_ATTRIBUTE_INDEX(138), 10, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Window Covering (server) */ \
+ { \
+ 0x0103, ZAP_ATTRIBUTE_INDEX(148), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Barrier Control (server) */ \
{ \
- 0x0200, ZAP_ATTRIBUTE_INDEX(143), 8, 13, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0200, ZAP_ATTRIBUTE_INDEX(153), 8, 13, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Pump Configuration and Control (server) */ \
{ \
- 0x0201, ZAP_ATTRIBUTE_INDEX(151), 6, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0201, ZAP_ATTRIBUTE_INDEX(161), 6, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Thermostat (server) */ \
{ 0x0300, \
- ZAP_ATTRIBUTE_INDEX(157), \
+ ZAP_ATTRIBUTE_INDEX(167), \
51, \
336, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayColorControlServer }, /* Endpoint: 1, Cluster: Color Control (server) */ \
{ \
- 0x0402, ZAP_ATTRIBUTE_INDEX(208), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0402, ZAP_ATTRIBUTE_INDEX(218), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \
{ 0x0500, \
- ZAP_ATTRIBUTE_INDEX(212), \
+ ZAP_ATTRIBUTE_INDEX(222), \
6, \
16, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | \
ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \
chipFuncArrayIasZoneServer }, /* Endpoint: 1, Cluster: IAS Zone (server) */ \
{ \
- 0x0508, ZAP_ATTRIBUTE_INDEX(218), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0503, ZAP_ATTRIBUTE_INDEX(228), 2, 34, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Wake on LAN (server) */ \
+ { \
+ 0x0504, ZAP_ATTRIBUTE_INDEX(230), 4, 320, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: TV Channel (server) */ \
+ { \
+ 0x0505, ZAP_ATTRIBUTE_INDEX(234), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Target Navigator (server) */ \
+ { \
+ 0x0506, ZAP_ATTRIBUTE_INDEX(236), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Media Playback (server) */ \
+ { \
+ 0x0507, ZAP_ATTRIBUTE_INDEX(237), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Media Input (server) */ \
+ { \
+ 0x0508, ZAP_ATTRIBUTE_INDEX(239), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Low Power (server) */ \
{ \
- 0x050D, ZAP_ATTRIBUTE_INDEX(219), 8, 105, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0509, ZAP_ATTRIBUTE_INDEX(240), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Keypad Input (server) */ \
+ { \
+ 0x050A, ZAP_ATTRIBUTE_INDEX(241), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Content Launch (server) */ \
+ { \
+ 0x050B, ZAP_ATTRIBUTE_INDEX(244), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Audio Output (server) */ \
+ { \
+ 0x050C, ZAP_ATTRIBUTE_INDEX(246), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Application Launcher (server) */ \
+ { \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(248), 8, 105, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Application Basic (server) */ \
{ \
- 0x050F, ZAP_ATTRIBUTE_INDEX(227), 20, 579, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050E, ZAP_ATTRIBUTE_INDEX(256), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ }, /* Endpoint: 1, Cluster: Account Login (server) */ \
+ { \
+ 0x050F, ZAP_ATTRIBUTE_INDEX(257), 20, 579, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Test Cluster (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(247), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(277), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Binding (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(248), \
+ ZAP_ATTRIBUTE_INDEX(278), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/off (server) */ \
{ 0x0406, \
- ZAP_ATTRIBUTE_INDEX(250), \
+ ZAP_ATTRIBUTE_INDEX(280), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1706,7 +2067,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 12, 3726 }, { ZAP_CLUSTER_INDEX(12), 20, 2130 }, { ZAP_CLUSTER_INDEX(32), 2, 8 }, \
+ { ZAP_CLUSTER_INDEX(0), 12, 3726 }, { ZAP_CLUSTER_INDEX(12), 31, 4041 }, { ZAP_CLUSTER_INDEX(43), 2, 8 }, \
}
// Largest attribute size is needed for various buffers
@@ -1716,7 +2077,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (875)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (5864)
+#define ATTRIBUTE_MAX_SIZE (7775)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (3)
@@ -1760,7 +2121,7 @@
// Array of EmberAfCommandMetadata structs.
#define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
-#define EMBER_AF_GENERATED_COMMAND_COUNT (144)
+#define EMBER_AF_GENERATED_COMMAND_COUNT (192)
#define GENERATED_COMMANDS \
{ \
\
@@ -1904,6 +2265,11 @@
{ 0x0101, 0x18, ZAP_COMMAND_MASK(INCOMING_SERVER) | ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* ClearRfid */ \
{ 0x0101, 0x19, ZAP_COMMAND_MASK(INCOMING_SERVER) | ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* ClearAllRfids */ \
\
+ /* Endpoint: 1, Cluster: Window Covering (server) */ \
+ { 0x0102, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* WindowCoveringUpOpen */ \
+ { 0x0102, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* WindowCoveringDownClose */ \
+ { 0x0102, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* WindowCoveringStop */ \
+ \
/* Endpoint: 1, Cluster: Barrier Control (server) */ \
{ 0x0103, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* BarrierControlGoToPercent */ \
{ 0x0103, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* BarrierControlStop */ \
@@ -1938,9 +2304,72 @@
{ 0x0500, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ZoneStatusChangeNotification */ \
{ 0x0500, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ZoneEnrollRequest */ \
\
+ /* Endpoint: 1, Cluster: TV Channel (server) */ \
+ { 0x0504, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ChangeChannel */ \
+ { 0x0504, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ChangeChannelResponse */ \
+ { 0x0504, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ChangeChannelByNumber */ \
+ { 0x0504, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SkipChannel */ \
+ \
+ /* Endpoint: 1, Cluster: Target Navigator (server) */ \
+ { 0x0505, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* NavigateTarget */ \
+ { 0x0505, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* NavigateTargetResponse */ \
+ \
+ /* Endpoint: 1, Cluster: Media Playback (server) */ \
+ { 0x0506, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaPlay */ \
+ { 0x0506, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaPlayResponse */ \
+ { 0x0506, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaPause */ \
+ { 0x0506, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaPauseResponse */ \
+ { 0x0506, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaStop */ \
+ { 0x0506, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaStopResponse */ \
+ { 0x0506, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaStartOver */ \
+ { 0x0506, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaStartOverResponse */ \
+ { 0x0506, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaPrevious */ \
+ { 0x0506, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaPreviousResponse */ \
+ { 0x0506, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaNext */ \
+ { 0x0506, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaNextResponse */ \
+ { 0x0506, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaRewind */ \
+ { 0x0506, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaRewindResponse */ \
+ { 0x0506, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaFastForward */ \
+ { 0x0506, 0x07, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaFastForwardResponse */ \
+ { 0x0506, 0x08, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipForward */ \
+ { 0x0506, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipForwardResponse */ \
+ { 0x0506, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipBackward */ \
+ { 0x0506, 0x09, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipBackwardResponse */ \
+ { 0x0506, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipSeek */ \
+ { 0x0506, 0x0A, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipSeekResponse */ \
+ \
+ /* Endpoint: 1, Cluster: Media Input (server) */ \
+ { 0x0507, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SelectInput */ \
+ { 0x0507, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ShowInputStatus */ \
+ { 0x0507, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* HideInputStatus */ \
+ { 0x0507, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RenameInput */ \
+ \
/* Endpoint: 1, Cluster: Low Power (server) */ \
{ 0x0508, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Sleep */ \
\
+ /* Endpoint: 1, Cluster: Keypad Input (server) */ \
+ { 0x0509, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SendKey */ \
+ { 0x0509, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* SendKeyResponse */ \
+ \
+ /* Endpoint: 1, Cluster: Content Launch (server) */ \
+ { 0x050A, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* LaunchContent */ \
+ { 0x050A, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* LaunchContentResponse */ \
+ { 0x050A, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* LaunchURL */ \
+ { 0x050A, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* LaunchURLResponse */ \
+ \
+ /* Endpoint: 1, Cluster: Audio Output (server) */ \
+ { 0x050B, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SelectOutput */ \
+ { 0x050B, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RenameOutput */ \
+ \
+ /* Endpoint: 1, Cluster: Application Launcher (server) */ \
+ { 0x050C, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* LaunchApp */ \
+ { 0x050C, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* LaunchAppResponse */ \
+ \
+ /* Endpoint: 1, Cluster: Account Login (server) */ \
+ { 0x050E, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetSetupPIN */ \
+ { 0x050E, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* GetSetupPINResponse */ \
+ { 0x050E, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Login */ \
+ \
/* Endpoint: 1, Cluster: Test Cluster (server) */ \
{ 0x050F, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Test */ \
{ 0x050F, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* TestSpecificResponse */ \
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 264dd39..09cc1d1 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,11 +29,15 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCOUNT_LOGIN_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_APPLICATION_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_APPLICATION_LAUNCHER_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_AUDIO_OUTPUT_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BARRIER_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BINDING_CLUSTER_SERVER_ENDPOINT_COUNT (2)
#define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_CONTENT_LAUNCH_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
#define EMBER_AF_DOOR_LOCK_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -43,8 +47,11 @@
#define EMBER_AF_GROUPS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_IAS_ZONE_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_KEYPAD_INPUT_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_LEVEL_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_LOW_POWER_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_MEDIA_INPUT_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_MEDIA_PLAYBACK_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_NETWORK_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_OTA_CLIENT_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_OTA_SERVER_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -54,20 +61,39 @@
#define EMBER_AF_PUMP_CONFIG_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_SWITCH_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_TV_CHANNEL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_TARGET_NAVIGATOR_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_TEMP_MEASUREMENT_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_TEST_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_THERMOSTAT_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_TRUSTED_ROOT_CERTIFICATES_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_WAKE_ON_LAN_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
+#define EMBER_AF_WINDOW_COVERING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Account Login cluster is included
+#define ZCL_USING_ACCOUNT_LOGIN_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCOUNT_LOGIN_SERVER
+#define EMBER_AF_PLUGIN_ACCOUNT_LOGIN
+
// 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 Application Launcher cluster is included
+#define ZCL_USING_APPLICATION_LAUNCHER_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_APPLICATION_LAUNCHER_SERVER
+#define EMBER_AF_PLUGIN_APPLICATION_LAUNCHER
+
+// Use this macro to check if the server side of the Audio Output cluster is included
+#define ZCL_USING_AUDIO_OUTPUT_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_AUDIO_OUTPUT_SERVER
+#define EMBER_AF_PLUGIN_AUDIO_OUTPUT
+
// 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
@@ -92,6 +118,11 @@
#define EMBER_AF_PLUGIN_COLOR_CONTROL_SERVER_TEMP
#define EMBER_AF_PLUGIN_COLOR_CONTROL_SERVER_HSV
+// Use this macro to check if the server side of the Content Launch cluster is included
+#define ZCL_USING_CONTENT_LAUNCH_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_CONTENT_LAUNCH_SERVER
+#define EMBER_AF_PLUGIN_CONTENT_LAUNCH
+
// Use this macro to check if the server side of the Descriptor cluster is included
#define ZCL_USING_DESCRIPTOR_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_DESCRIPTOR_SERVER
@@ -139,6 +170,11 @@
#define EMBER_AF_PLUGIN_IDENTIFY_SERVER
#define EMBER_AF_PLUGIN_IDENTIFY
+// Use this macro to check if the server side of the Keypad Input cluster is included
+#define ZCL_USING_KEYPAD_INPUT_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_KEYPAD_INPUT_SERVER
+#define EMBER_AF_PLUGIN_KEYPAD_INPUT
+
// Use this macro to check if the server side of the Level Control cluster is included
#define ZCL_USING_LEVEL_CONTROL_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_LEVEL_CONTROL_SERVER
@@ -153,6 +189,16 @@
#define EMBER_AF_PLUGIN_LOW_POWER_SERVER
#define EMBER_AF_PLUGIN_LOW_POWER
+// Use this macro to check if the server side of the Media Input cluster is included
+#define ZCL_USING_MEDIA_INPUT_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_MEDIA_INPUT_SERVER
+#define EMBER_AF_PLUGIN_MEDIA_INPUT
+
+// Use this macro to check if the server side of the Media Playback cluster is included
+#define ZCL_USING_MEDIA_PLAYBACK_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_MEDIA_PLAYBACK_SERVER
+#define EMBER_AF_PLUGIN_MEDIA_PLAYBACK
+
// Use this macro to check if the server side of the Network Commissioning cluster is included
#define ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING_SERVER
@@ -200,6 +246,16 @@
#define EMBER_AF_PLUGIN_SWITCH_SERVER
#define EMBER_AF_PLUGIN_SWITCH
+// Use this macro to check if the server side of the TV Channel cluster is included
+#define ZCL_USING_TV_CHANNEL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_TV_CHANNEL_SERVER
+#define EMBER_AF_PLUGIN_TV_CHANNEL
+
+// Use this macro to check if the server side of the Target Navigator cluster is included
+#define ZCL_USING_TARGET_NAVIGATOR_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_TARGET_NAVIGATOR_SERVER
+#define EMBER_AF_PLUGIN_TARGET_NAVIGATOR
+
// Use this macro to check if the server side of the Temperature Measurement cluster is included
#define ZCL_USING_TEMP_MEASUREMENT_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_TEMPERATURE_MEASUREMENT_SERVER
@@ -225,7 +281,17 @@
#define EMBER_AF_PLUGIN_TRUSTED_ROOT_CERTIFICATES_SERVER
#define EMBER_AF_PLUGIN_TRUSTED_ROOT_CERTIFICATES
+// Use this macro to check if the server side of the Wake on LAN cluster is included
+#define ZCL_USING_WAKE_ON_LAN_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_WAKE_ON_LAN_SERVER
+#define EMBER_AF_PLUGIN_WAKE_ON_LAN
+
// Use this macro to check if the server side of the WiFi Network Diagnostics cluster is included
#define ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS_SERVER
#define EMBER_AF_PLUGIN_WI_FI_NETWORK_DIAGNOSTICS
+
+// Use this macro to check if the server side of the Window Covering cluster is included
+#define ZCL_USING_WINDOW_COVERING_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_WINDOW_COVERING_SERVER
+#define EMBER_AF_PLUGIN_WINDOW_COVERING
diff --git a/examples/bridge-app/bridge-common/gen/CHIPClusters.cpp b/examples/bridge-app/bridge-common/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/bridge-app/bridge-common/gen/CHIPClusters.cpp
+++ b/examples/bridge-app/bridge-common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/bridge-app/bridge-common/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/bridge-app/bridge-common/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/bridge-app/bridge-common/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/bridge-app/bridge-common/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/bridge-app/bridge-common/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/bridge-app/bridge-common/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/BUILD.gn b/examples/chip-tool/BUILD.gn
index 494a23f..2210f80 100644
--- a/examples/chip-tool/BUILD.gn
+++ b/examples/chip-tool/BUILD.gn
@@ -16,18 +16,9 @@
import("//build_overrides/chip.gni")
import("${chip_root}/build/chip/tools.gni")
-import("${chip_root}/src/app/chip_data_model.gni")
assert(chip_build_tools)
-chip_data_model("data_model") {
- zap_file = "chip-tool.zap"
-
- zap_pregenerated_dir = "gen"
-
- use_default_client_callbacks = true
-}
-
executable("chip-tool") {
sources = [
"commands/clusters/ModelCommand.cpp",
@@ -43,7 +34,7 @@
]
deps = [
- ":data_model",
+ "${chip_root}/src/controller/data_model",
"${chip_root}/src/lib",
"${chip_root}/src/platform",
"${chip_root}/third_party/inipp",
diff --git a/examples/chip-tool/chip-tool.zap b/examples/chip-tool/chip-tool.zap
deleted file mode 100644
index 8fc48b4..0000000
--- a/examples/chip-tool/chip-tool.zap
+++ /dev/null
@@ -1,7276 +0,0 @@
-{
- "featureLevel": 29,
- "creator": "zap",
- "keyValuePairs": [
- {
- "key": "commandDiscovery",
- "value": "1"
- },
- {
- "key": "defaultResponsePolicy",
- "value": "always"
- },
- {
- "key": "manufacturerCodes",
- "value": "0x1002"
- }
- ],
- "package": [
- {
- "pathRelativity": "relativeToZap",
- "path": "../../src/app/zap-templates/zcl/zcl.json",
- "version": "ZCL Test Data",
- "type": "zcl-properties"
- },
- {
- "pathRelativity": "relativeToZap",
- "path": "../../src/app/zap-templates/app-templates.json",
- "version": "chip-v1",
- "type": "gen-templates-json"
- }
- ],
- "endpointTypes": [
- {
- "name": "Anonymous Endpoint Type",
- "deviceTypeName": "CHIP-All-Clusters-Server",
- "deviceTypeCode": 0,
- "deviceTypeProfileId": 259,
- "clusters": [
- {
- "name": "Identify",
- "code": 3,
- "mfgCode": null,
- "define": "IDENTIFY_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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": 0,
- "commands": [
- {
- "name": "IdentifyQueryResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "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": "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": "Groups",
- "code": 4,
- "mfgCode": null,
- "define": "GROUPS_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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": 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": "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": "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": "Scenes",
- "code": 5,
- "mfgCode": null,
- "define": "SCENES_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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": "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": "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": "On/off",
- "code": 6,
- "mfgCode": null,
- "define": "ON_OFF_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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
- }
- ],
- "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": "On/off",
- "code": 6,
- "mfgCode": null,
- "define": "ON_OFF_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "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": "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": "Level Control",
- "code": 8,
- "mfgCode": null,
- "define": "LEVEL_CONTROL_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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": "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": "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": "Descriptor",
- "code": 29,
- "mfgCode": null,
- "define": "DESCRIPTOR_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": "Descriptor",
- "code": 29,
- "mfgCode": null,
- "define": "DESCRIPTOR_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "device list",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "server list",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "client list",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "parts list",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Basic",
- "code": 40,
- "mfgCode": null,
- "define": "BASIC_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "MfgSpecificPing",
- "code": 0,
- "mfgCode": 4098,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "client",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Basic",
- "code": 40,
- "mfgCode": null,
- "define": "BASIC_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "StartUp",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 0,
- "outgoing": 0
- },
- {
- "name": "ShutDown",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 0,
- "outgoing": 0
- },
- {
- "name": "Leave",
- "code": 2,
- "mfgCode": null,
- "source": "server",
- "incoming": 0,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "InteractionModelVersion",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "VendorName",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "VendorID",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ProductName",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ProductID",
- "code": 4,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "UserLabel",
- "code": 5,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "Location",
- "code": 6,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "HardwareVersion",
- "code": 7,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "HardwareVersionString",
- "code": 8,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "SoftwareVersion",
- "code": 9,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "SoftwareVersionString",
- "code": 10,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ManufacturingDate",
- "code": 11,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "PartNumber",
- "code": 12,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ProductURL",
- "code": 13,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ProductLabel",
- "code": 14,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "SerialNumber",
- "code": 15,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "LocalConfigDisabled",
- "code": 16,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "cluster revision",
- "code": 65533,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 1,
- "bounded": 0,
- "defaultValue": "3",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "General Commissioning",
- "code": 48,
- "mfgCode": null,
- "define": "GENERAL_COMMISSIONING_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "ArmFailSafe",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetRegulatoryConfig",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "CommissioningComplete",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "General Commissioning",
- "code": 48,
- "mfgCode": null,
- "define": "GENERAL_COMMISSIONING_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "ArmFailSafeResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetRegulatoryConfigResponse",
- "code": 3,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "CommissioningCompleteResponse",
- "code": 5,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "FabricId",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "o",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "Breadcrumb",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Network Commissioning",
- "code": 49,
- "mfgCode": null,
- "define": "NETWORK_COMMISSIONING_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "ScanNetworks",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "AddWiFiNetwork",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "UpdateWiFiNetwork",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "AddThreadNetwork",
- "code": 6,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "UpdateThreadNetwork",
- "code": 8,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "RemoveNetwork",
- "code": 10,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "EnableNetwork",
- "code": 12,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "DisableNetwork",
- "code": 14,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetLastNetworkCommissioningResult",
- "code": 16,
- "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": "Network Commissioning",
- "code": 49,
- "mfgCode": null,
- "define": "NETWORK_COMMISSIONING_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "ScanNetworksResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "AddWiFiNetworkResponse",
- "code": 3,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "UpdateWiFiNetworkResponse",
- "code": 5,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "AddThreadNetworkResponse",
- "code": 7,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "UpdateThreadNetworkResponse",
- "code": 9,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "RemoveNetworkResponse",
- "code": 11,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "EnableNetworkResponse",
- "code": 13,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "DisableNetworkResponse",
- "code": 15,
- "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": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "General Diagnostics",
- "code": 51,
- "mfgCode": null,
- "define": "GENERAL_DIAGNOSTICS_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": "General Diagnostics",
- "code": 51,
- "mfgCode": null,
- "define": "GENERAL_DIAGNOSTICS_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "NetworkInterfaces",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RebootCount",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Thread Network Diagnostics",
- "code": 53,
- "mfgCode": null,
- "define": "THREAD_NETWORK_DIAGNOSTICS_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": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Thread Network Diagnostics",
- "code": 53,
- "mfgCode": null,
- "define": "THREAD_NETWORK_DIAGNOSTICS_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "channel",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RoutingRole",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "NetworkName",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "PanId",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ExtendedPanId",
- "code": 4,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000000000000000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "MeshLocalPrefix",
- "code": 5,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "OverrunCount",
- "code": 6,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000000000000000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "NeighborTableList",
- "code": 7,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RouteTableList",
- "code": 8,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "PartitionId",
- "code": 9,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "weighting",
- "code": 10,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "DataVersion",
- "code": 11,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "StableDataVersion",
- "code": 12,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "LeaderRouterId",
- "code": 13,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "DetachedRoleCount",
- "code": 14,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ChildRoleCount",
- "code": 15,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RouterRoleCount",
- "code": 16,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "LeaderRoleCount",
- "code": 17,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "AttachAttemptCount",
- "code": 18,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "PartitionIdChangeCount",
- "code": 19,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "BetterPartitionAttachAttemptCount",
- "code": 20,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ParentChangeCount",
- "code": 21,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxTotalCount",
- "code": 22,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxUnicastCount",
- "code": 23,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxBroadcastCount",
- "code": 24,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxAckRequestedCount",
- "code": 25,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxAckedCount",
- "code": 26,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxNoAckRequestedCount",
- "code": 27,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxDataCount",
- "code": 28,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxDataPollCount",
- "code": 29,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxBeaconCount",
- "code": 30,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxBeaconRequestCount",
- "code": 31,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxOtherCount",
- "code": 32,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxRetryCount",
- "code": 33,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxDirectMaxRetryExpiryCount",
- "code": 34,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxIndirectMaxRetryExpiryCount",
- "code": 35,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxErrCcaCount",
- "code": 36,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxErrAbortCount",
- "code": 37,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxErrBusyChannelCount",
- "code": 38,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxTotalCount",
- "code": 39,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxUnicastCount",
- "code": 40,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxBroadcastCount",
- "code": 41,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxDataCount",
- "code": 42,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxDataPollCount",
- "code": 43,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxBeaconCount",
- "code": 44,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxBeaconRequestCount",
- "code": 45,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxOtherCount",
- "code": 46,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxAddressFilteredCount",
- "code": 47,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxDestAddrFilteredCount",
- "code": 48,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxDuplicatedCount",
- "code": 49,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxErrNoFrameCount",
- "code": 50,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxErrUnknownNeighborCount",
- "code": 51,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxErrInvalidSrcAddrCount",
- "code": 52,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxErrSecCount",
- "code": 53,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxErrFcsCount",
- "code": 54,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "RxErrOtherCount",
- "code": 55,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "SecurityPolicy",
- "code": 59,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ChannelMask",
- "code": 60,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "OperationalDatasetComponents",
- "code": 61,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "ActiveNetworkFaultsList",
- "code": 62,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Ethernet Network Diagnostics",
- "code": 55,
- "mfgCode": null,
- "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "ResetCounts",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Ethernet Network Diagnostics",
- "code": 55,
- "mfgCode": null,
- "define": "ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "PacketRxCount",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000000000000000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "PacketTxCount",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000000000000000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "TxErrCount",
- "code": 4,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000000000000000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "CollisionCount",
- "code": 5,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000000000000000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "OverrunCount",
- "code": 6,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0000000000000000",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Switch",
- "code": 59,
- "mfgCode": null,
- "define": "SWITCH_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": "Switch",
- "code": 59,
- "mfgCode": null,
- "define": "SWITCH_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "number of positions",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current position",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "multi press max",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "2",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Operational Credentials",
- "code": 62,
- "mfgCode": null,
- "define": "OPERATIONAL_CREDENTIALS_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "SetFabric",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "OpCSRRequest",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "AddOpCert",
- "code": 6,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "UpdateFabricLabel",
- "code": 9,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveFabric",
- "code": 10,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "RemoveAllFabrics",
- "code": 11,
- "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": "Operational Credentials",
- "code": 62,
- "mfgCode": null,
- "define": "OPERATIONAL_CREDENTIALS_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "SetFabricResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "OpCSRResponse",
- "code": 5,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "OpCertResponse",
- "code": 8,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "name": "fabrics list",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Door Lock",
- "code": 257,
- "mfgCode": null,
- "define": "DOOR_LOCK_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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
- },
- {
- "name": "UnlockWithTimeoutResponse",
- "code": 3,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetLogRecordResponse",
- "code": 4,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetPinResponse",
- "code": 5,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetPinResponse",
- "code": 6,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearPinResponse",
- "code": 7,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearAllPinsResponse",
- "code": 8,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetUserStatusResponse",
- "code": 9,
- "mfgCode": null,
- "source": "server",
- "incoming": 0,
- "outgoing": 0
- },
- {
- "name": "GetUserStatusResponse",
- "code": 10,
- "mfgCode": null,
- "source": "server",
- "incoming": 0,
- "outgoing": 0
- },
- {
- "name": "SetWeekdayScheduleResponse",
- "code": 11,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetWeekdayScheduleResponse",
- "code": 12,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearWeekdayScheduleResponse",
- "code": 13,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetYeardayScheduleResponse",
- "code": 14,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetYeardayScheduleResponse",
- "code": 15,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearYeardayScheduleResponse",
- "code": 16,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetHolidayScheduleResponse",
- "code": 17,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetHolidayScheduleResponse",
- "code": 18,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearHolidayScheduleResponse",
- "code": 19,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetUserTypeResponse",
- "code": 20,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetUserTypeResponse",
- "code": 21,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "SetRfidResponse",
- "code": 22,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "GetRfidResponse",
- "code": 23,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearRfidResponse",
- "code": 24,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "ClearAllRfidsResponse",
- "code": 25,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 1
- }
- ],
- "attributes": [
- {
- "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": "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": "Barrier Control",
- "code": 259,
- "mfgCode": null,
- "define": "BARRIER_CONTROL_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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": "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": "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": "Pump Configuration and Control",
- "code": 512,
- "mfgCode": null,
- "define": "PUMP_CONFIG_CONTROL_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": "Pump Configuration and Control",
- "code": 512,
- "mfgCode": null,
- "define": "PUMP_CONFIG_CONTROL_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "max pressure",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "max speed",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "max flow",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "pump status",
- "code": 16,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "effective operation mode",
- "code": 17,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "effective control mode",
- "code": 18,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "capacity",
- "code": 19,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "operation mode",
- "code": 32,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x00",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Thermostat",
- "code": 513,
- "mfgCode": null,
- "define": "THERMOSTAT_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "SetpointRaiseLower",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "SetWeeklySchedule",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "GetWeeklySchedule",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "ClearWeeklySchedule",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "GetRelayStatusLog",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Thermostat",
- "code": 513,
- "mfgCode": null,
- "define": "THERMOSTAT_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "CurrentWeeklySchedule",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "RelayStatusLog",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "local temperature",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "pi cooling demand",
- "code": 7,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "pi heating demand",
- "code": 8,
- "mfgCode": null,
- "side": "server",
- "included": 0,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 1,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "occupied cooling setpoint",
- "code": 17,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x0A28",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "occupied heating setpoint",
- "code": 18,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x07D0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "control sequence of operation",
- "code": 27,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x04",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "system mode",
- "code": 28,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0x01",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Color Control",
- "code": 768,
- "mfgCode": null,
- "define": "COLOR_CONTROL_CLUSTER",
- "side": "client",
- "enabled": 1,
- "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": "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": "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": "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": "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": "Temperature Measurement",
- "code": 1026,
- "mfgCode": null,
- "define": "TEMP_MEASUREMENT_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": "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": "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": "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": "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": "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": "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": "Wake on LAN",
- "code": 1283,
- "mfgCode": null,
- "define": "WAKE_ON_LAN_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": "Wake on LAN",
- "code": 1283,
- "mfgCode": null,
- "define": "WAKE_ON_LAN_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "wake on lan mac address",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "TV Channel",
- "code": 1284,
- "mfgCode": null,
- "define": "TV_CHANNEL_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "ChangeChannel",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "ChangeChannelByNumber",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "SkipChannel",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "TV Channel",
- "code": 1284,
- "mfgCode": null,
- "define": "TV_CHANNEL_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "ChangeChannelResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "tv channel list",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "tv channel lineup",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "current tv channel",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Target Navigator",
- "code": 1285,
- "mfgCode": null,
- "define": "TARGET_NAVIGATOR_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "NavigateTarget",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Target Navigator",
- "code": 1285,
- "mfgCode": null,
- "define": "TARGET_NAVIGATOR_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "NavigateTargetResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "target navigator list",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Media Playback",
- "code": 1286,
- "mfgCode": null,
- "define": "MEDIA_PLAYBACK_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "MediaPlay",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaPause",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaStop",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaStartOver",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaPrevious",
- "code": 4,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaNext",
- "code": 5,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaRewind",
- "code": 6,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaFastForward",
- "code": 7,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaSkipForward",
- "code": 8,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaSkipBackward",
- "code": 9,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "MediaSkipSeek",
- "code": 10,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Media Playback",
- "code": 1286,
- "mfgCode": null,
- "define": "MEDIA_PLAYBACK_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "MediaPlayResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaPauseResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaStopResponse",
- "code": 2,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaStartOverResponse",
- "code": 3,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaPreviousResponse",
- "code": 4,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaNextResponse",
- "code": 5,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaRewindResponse",
- "code": 6,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaFastForwardResponse",
- "code": 7,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaSkipForwardResponse",
- "code": 8,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaSkipBackwardResponse",
- "code": 9,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "MediaSkipSeekResponse",
- "code": 10,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 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": "Media Input",
- "code": 1287,
- "mfgCode": null,
- "define": "MEDIA_INPUT_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "SelectInput",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "ShowInputStatus",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "HideInputStatus",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "RenameInput",
- "code": 3,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Media Input",
- "code": 1287,
- "mfgCode": null,
- "define": "MEDIA_INPUT_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "media input list",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Low Power",
- "code": 1288,
- "mfgCode": null,
- "define": "LOW_POWER_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "Sleep",
- "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": "0x0001",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- }
- ]
- },
- {
- "name": "Low Power",
- "code": 1288,
- "mfgCode": null,
- "define": "LOW_POWER_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": "Keypad Input",
- "code": 1289,
- "mfgCode": null,
- "define": "KEYPAD_INPUT_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "SendKey",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Keypad Input",
- "code": 1289,
- "mfgCode": null,
- "define": "KEYPAD_INPUT_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "SendKeyResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 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": "Content Launch",
- "code": 1290,
- "mfgCode": null,
- "define": "CONTENT_LAUNCH_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "LaunchContent",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "LaunchURL",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Content Launch",
- "code": 1290,
- "mfgCode": null,
- "define": "CONTENT_LAUNCH_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "LaunchContentResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- },
- {
- "name": "LaunchURLResponse",
- "code": 1,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "acceptsHeaderList",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "supported streaming types",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Audio Output",
- "code": 1291,
- "mfgCode": null,
- "define": "AUDIO_OUTPUT_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "SelectOutput",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "RenameOutput",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Audio Output",
- "code": 1291,
- "mfgCode": null,
- "define": "AUDIO_OUTPUT_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "audio output list",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Application Launcher",
- "code": 1292,
- "mfgCode": null,
- "define": "APPLICATION_LAUNCHER_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "LaunchApp",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Application Launcher",
- "code": 1292,
- "mfgCode": null,
- "define": "APPLICATION_LAUNCHER_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "LaunchAppResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "application launcher list",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "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,
- "commands": [],
- "attributes": [
- {
- "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
- },
- {
- "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": "Account Login",
- "code": 1294,
- "mfgCode": null,
- "define": "ACCOUNT_LOGIN_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "GetSetupPIN",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "Login",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Account Login",
- "code": 1294,
- "mfgCode": null,
- "define": "ACCOUNT_LOGIN_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "GetSetupPINResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 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": "Test Cluster",
- "code": 1295,
- "mfgCode": null,
- "define": "TEST_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "Test",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "TestNotHandled",
- "code": 1,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "outgoing": 1
- },
- {
- "name": "TestSpecific",
- "code": 2,
- "mfgCode": null,
- "source": "client",
- "incoming": 0,
- "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": "Test Cluster",
- "code": 1295,
- "mfgCode": null,
- "define": "TEST_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [
- {
- "name": "TestSpecificResponse",
- "code": 0,
- "mfgCode": null,
- "source": "server",
- "incoming": 1,
- "outgoing": 0
- }
- ],
- "attributes": [
- {
- "name": "boolean",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "false",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "bitmap8",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "bitmap16",
- "code": 2,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "bitmap32",
- "code": 3,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "bitmap64",
- "code": 4,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int8u",
- "code": 5,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int16u",
- "code": 6,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int32u",
- "code": 8,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int64u",
- "code": 12,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int8s",
- "code": 13,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int16s",
- "code": 14,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int32s",
- "code": 16,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "int64s",
- "code": 20,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enum8",
- "code": 21,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "enum16",
- "code": 22,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "octet_string",
- "code": 25,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "0",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "list_int8u",
- "code": 26,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "list_octet_string",
- "code": 27,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "list_struct_octet_string",
- "code": 28,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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": "Binding",
- "code": 61440,
- "mfgCode": null,
- "define": "BINDING_CLUSTER",
- "side": "client",
- "enabled": 1,
- "commands": [
- {
- "name": "Bind",
- "code": 0,
- "mfgCode": null,
- "source": "client",
- "incoming": 1,
- "outgoing": 1
- },
- {
- "name": "Unbind",
- "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": "Binding",
- "code": 61440,
- "mfgCode": null,
- "define": "BINDING_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": "Group Key Management",
- "code": 61444,
- "mfgCode": null,
- "define": "GROUP_KEY_MANAGEMENT_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": "Group Key Management",
- "code": 61444,
- "mfgCode": null,
- "define": "GROUP_KEY_MANAGEMENT_CLUSTER",
- "side": "server",
- "enabled": 0,
- "commands": [],
- "attributes": [
- {
- "name": "groups",
- "code": 0,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "name": "group keys",
- "code": 1,
- "mfgCode": null,
- "side": "server",
- "included": 1,
- "storageOption": "RAM",
- "singleton": 0,
- "bounded": 0,
- "defaultValue": "",
- "reportable": 0,
- "minInterval": 0,
- "maxInterval": 65344,
- "reportableChange": 0
- },
- {
- "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
- }
- ]
- }
- ]
- }
- ],
- "endpoints": [
- {
- "endpointTypeName": "Anonymous Endpoint Type",
- "endpointTypeIndex": 0,
- "profileId": "0x0103",
- "endpointId": 1,
- "networkId": 0,
- "endpointVersion": null,
- "deviceIdentifier": null
- }
- ],
- "log": []
-}
\ No newline at end of file
diff --git a/examples/chip-tool/commands/clusters/Commands.h b/examples/chip-tool/commands/clusters/Commands.h
index db98f5d..29fced2 100644
--- a/examples/chip-tool/commands/clusters/Commands.h
+++ b/examples/chip-tool/commands/clusters/Commands.h
@@ -981,7 +981,9 @@
| TemperatureMeasurement | 0x0402 |
| TestCluster | 0x050F |
| Thermostat | 0x0201 |
+| TrustedRootCertificates | 0x003F |
| WakeOnLan | 0x0503 |
+| WindowCovering | 0x0102 |
\*----------------------------------------------------------------------------*/
constexpr chip::ClusterId kAccountLoginClusterId = 0x050E;
@@ -1017,7 +1019,9 @@
constexpr chip::ClusterId kTemperatureMeasurementClusterId = 0x0402;
constexpr chip::ClusterId kTestClusterClusterId = 0x050F;
constexpr chip::ClusterId kThermostatClusterId = 0x0201;
+constexpr chip::ClusterId kTrustedRootCertificatesClusterId = 0x003F;
constexpr chip::ClusterId kWakeOnLanClusterId = 0x0503;
+constexpr chip::ClusterId kWindowCoveringClusterId = 0x0102;
/*----------------------------------------------------------------------------*\
| Cluster AccountLogin | 0x050E |
@@ -15163,6 +15167,153 @@
};
/*----------------------------------------------------------------------------*\
+| Cluster TrustedRootCertificates | 0x003F |
+|------------------------------------------------------------------------------|
+| Commands: | |
+| * AddTrustedRootCertificate | 0x00 |
+| * RemoveTrustedRootCertificate | 0x01 |
+|------------------------------------------------------------------------------|
+| Attributes: | |
+| * ClusterRevision | 0xFFFD |
+\*----------------------------------------------------------------------------*/
+
+/*
+ * Command AddTrustedRootCertificate
+ */
+class TrustedRootCertificatesAddTrustedRootCertificate : public ModelCommand
+{
+public:
+ TrustedRootCertificatesAddTrustedRootCertificate() : ModelCommand("add-trusted-root-certificate")
+ {
+ AddArgument("rootCertificate", &mRootCertificate);
+ ModelCommand::AddArguments();
+ }
+ ~TrustedRootCertificatesAddTrustedRootCertificate()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x003F) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::TrustedRootCertificatesCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.AddTrustedRootCertificate(
+ onSuccessCallback->Cancel(), onFailureCallback->Cancel(),
+ chip::ByteSpan(chip::Uint8::from_char(mRootCertificate), strlen(mRootCertificate)));
+ }
+
+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);
+ char * mRootCertificate;
+};
+
+/*
+ * Command RemoveTrustedRootCertificate
+ */
+class TrustedRootCertificatesRemoveTrustedRootCertificate : public ModelCommand
+{
+public:
+ TrustedRootCertificatesRemoveTrustedRootCertificate() : ModelCommand("remove-trusted-root-certificate")
+ {
+ AddArgument("trustedRootIdentifier", &mTrustedRootIdentifier);
+ ModelCommand::AddArguments();
+ }
+ ~TrustedRootCertificatesRemoveTrustedRootCertificate()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x003F) command (0x01) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::TrustedRootCertificatesCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.RemoveTrustedRootCertificate(
+ onSuccessCallback->Cancel(), onFailureCallback->Cancel(),
+ chip::ByteSpan(chip::Uint8::from_char(mTrustedRootIdentifier), strlen(mTrustedRootIdentifier)));
+ }
+
+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);
+ char * mTrustedRootIdentifier;
+};
+
+/*
+ * Discover Attributes
+ */
+class DiscoverTrustedRootCertificatesAttributes : public ModelCommand
+{
+public:
+ DiscoverTrustedRootCertificatesAttributes() : ModelCommand("discover") { ModelCommand::AddArguments(); }
+
+ ~DiscoverTrustedRootCertificatesAttributes()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0000) command (0x0C) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::TrustedRootCertificatesCluster 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 ClusterRevision
+ */
+class ReadTrustedRootCertificatesClusterRevision : public ModelCommand
+{
+public:
+ ReadTrustedRootCertificatesClusterRevision() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "cluster-revision");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadTrustedRootCertificatesClusterRevision()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x003F) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::TrustedRootCertificatesCluster 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 WakeOnLan | 0x0503 |
|------------------------------------------------------------------------------|
| Commands: | |
@@ -15271,6 +15422,847 @@
};
/*----------------------------------------------------------------------------*\
+| Cluster WindowCovering | 0x0102 |
+|------------------------------------------------------------------------------|
+| Commands: | |
+| * WindowCoveringDownClose | 0x01 |
+| * WindowCoveringGoToLiftPercentage | 0x05 |
+| * WindowCoveringGoToLiftValue | 0x04 |
+| * WindowCoveringGoToTiltPercentage | 0x08 |
+| * WindowCoveringGoToTiltValue | 0x07 |
+| * WindowCoveringStop | 0x02 |
+| * WindowCoveringUpOpen | 0x00 |
+|------------------------------------------------------------------------------|
+| Attributes: | |
+| * WindowCoveringType | 0x0000 |
+| * CurrentPositionLift | 0x0003 |
+| * CurrentPositionTilt | 0x0004 |
+| * ConfigStatus | 0x0007 |
+| * InstalledOpenLimitLift | 0x0010 |
+| * InstalledClosedLimitLift | 0x0011 |
+| * InstalledOpenLimitTilt | 0x0012 |
+| * InstalledClosedLimitTilt | 0x0013 |
+| * Mode | 0x0017 |
+| * ClusterRevision | 0xFFFD |
+\*----------------------------------------------------------------------------*/
+
+/*
+ * Command WindowCoveringDownClose
+ */
+class WindowCoveringWindowCoveringDownClose : public ModelCommand
+{
+public:
+ WindowCoveringWindowCoveringDownClose() : ModelCommand("window-covering-down-close") { ModelCommand::AddArguments(); }
+ ~WindowCoveringWindowCoveringDownClose()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x01) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WindowCoveringDownClose(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);
+};
+
+/*
+ * Command WindowCoveringGoToLiftPercentage
+ */
+class WindowCoveringWindowCoveringGoToLiftPercentage : public ModelCommand
+{
+public:
+ WindowCoveringWindowCoveringGoToLiftPercentage() : ModelCommand("window-covering-go-to-lift-percentage")
+ {
+ AddArgument("percentageLiftValue", 0, UINT8_MAX, &mPercentageLiftValue);
+ ModelCommand::AddArguments();
+ }
+ ~WindowCoveringWindowCoveringGoToLiftPercentage()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x05) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WindowCoveringGoToLiftPercentage(onSuccessCallback->Cancel(), onFailureCallback->Cancel(),
+ mPercentageLiftValue);
+ }
+
+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);
+ uint8_t mPercentageLiftValue;
+};
+
+/*
+ * Command WindowCoveringGoToLiftValue
+ */
+class WindowCoveringWindowCoveringGoToLiftValue : public ModelCommand
+{
+public:
+ WindowCoveringWindowCoveringGoToLiftValue() : ModelCommand("window-covering-go-to-lift-value")
+ {
+ AddArgument("liftValue", 0, UINT16_MAX, &mLiftValue);
+ ModelCommand::AddArguments();
+ }
+ ~WindowCoveringWindowCoveringGoToLiftValue()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x04) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WindowCoveringGoToLiftValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mLiftValue);
+ }
+
+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);
+ uint16_t mLiftValue;
+};
+
+/*
+ * Command WindowCoveringGoToTiltPercentage
+ */
+class WindowCoveringWindowCoveringGoToTiltPercentage : public ModelCommand
+{
+public:
+ WindowCoveringWindowCoveringGoToTiltPercentage() : ModelCommand("window-covering-go-to-tilt-percentage")
+ {
+ AddArgument("percentageTiltValue", 0, UINT8_MAX, &mPercentageTiltValue);
+ ModelCommand::AddArguments();
+ }
+ ~WindowCoveringWindowCoveringGoToTiltPercentage()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x08) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WindowCoveringGoToTiltPercentage(onSuccessCallback->Cancel(), onFailureCallback->Cancel(),
+ mPercentageTiltValue);
+ }
+
+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);
+ uint8_t mPercentageTiltValue;
+};
+
+/*
+ * Command WindowCoveringGoToTiltValue
+ */
+class WindowCoveringWindowCoveringGoToTiltValue : public ModelCommand
+{
+public:
+ WindowCoveringWindowCoveringGoToTiltValue() : ModelCommand("window-covering-go-to-tilt-value")
+ {
+ AddArgument("tiltValue", 0, UINT16_MAX, &mTiltValue);
+ ModelCommand::AddArguments();
+ }
+ ~WindowCoveringWindowCoveringGoToTiltValue()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x07) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WindowCoveringGoToTiltValue(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mTiltValue);
+ }
+
+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);
+ uint16_t mTiltValue;
+};
+
+/*
+ * Command WindowCoveringStop
+ */
+class WindowCoveringWindowCoveringStop : public ModelCommand
+{
+public:
+ WindowCoveringWindowCoveringStop() : ModelCommand("window-covering-stop") { ModelCommand::AddArguments(); }
+ ~WindowCoveringWindowCoveringStop()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x02) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WindowCoveringStop(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);
+};
+
+/*
+ * Command WindowCoveringUpOpen
+ */
+class WindowCoveringWindowCoveringUpOpen : public ModelCommand
+{
+public:
+ WindowCoveringWindowCoveringUpOpen() : ModelCommand("window-covering-up-open") { ModelCommand::AddArguments(); }
+ ~WindowCoveringWindowCoveringUpOpen()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WindowCoveringUpOpen(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);
+};
+
+/*
+ * Discover Attributes
+ */
+class DiscoverWindowCoveringAttributes : public ModelCommand
+{
+public:
+ DiscoverWindowCoveringAttributes() : ModelCommand("discover") { ModelCommand::AddArguments(); }
+
+ ~DiscoverWindowCoveringAttributes()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0000) command (0x0C) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster 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 WindowCoveringType
+ */
+class ReadWindowCoveringWindowCoveringType : public ModelCommand
+{
+public:
+ ReadWindowCoveringWindowCoveringType() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "window-covering-type");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringWindowCoveringType()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeWindowCoveringType(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);
+};
+
+class ReportWindowCoveringWindowCoveringType : public ModelCommand
+{
+public:
+ ReportWindowCoveringWindowCoveringType() : ModelCommand("report")
+ {
+ AddArgument("attr-name", "window-covering-type");
+ AddArgument("min-interval", 0, UINT16_MAX, &mMinInterval);
+ AddArgument("max-interval", 0, UINT16_MAX, &mMaxInterval);
+ ModelCommand::AddArguments();
+ }
+
+ ~ReportWindowCoveringWindowCoveringType()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ delete onReportCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x06) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+
+ CHIP_ERROR err = cluster.ReportAttributeWindowCoveringType(onReportCallback->Cancel());
+ if (err != CHIP_NO_ERROR)
+ {
+ return err;
+ }
+
+ return cluster.ConfigureAttributeWindowCoveringType(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mMinInterval,
+ mMaxInterval);
+ }
+
+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);
+ chip::Callback::Callback<Int8uAttributeCallback> * onReportCallback =
+ new chip::Callback::Callback<Int8uAttributeCallback>(OnInt8uAttributeResponse, this);
+ uint16_t mMinInterval;
+ uint16_t mMaxInterval;
+};
+
+/*
+ * Attribute CurrentPositionLift
+ */
+class ReadWindowCoveringCurrentPositionLift : public ModelCommand
+{
+public:
+ ReadWindowCoveringCurrentPositionLift() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "current-position-lift");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringCurrentPositionLift()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeCurrentPositionLift(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);
+};
+
+class ReportWindowCoveringCurrentPositionLift : public ModelCommand
+{
+public:
+ ReportWindowCoveringCurrentPositionLift() : ModelCommand("report")
+ {
+ AddArgument("attr-name", "current-position-lift");
+ AddArgument("min-interval", 0, UINT16_MAX, &mMinInterval);
+ AddArgument("max-interval", 0, UINT16_MAX, &mMaxInterval);
+ AddArgument("change", 0, UINT16_MAX, &mChange);
+ ModelCommand::AddArguments();
+ }
+
+ ~ReportWindowCoveringCurrentPositionLift()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ delete onReportCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x06) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+
+ CHIP_ERROR err = cluster.ReportAttributeCurrentPositionLift(onReportCallback->Cancel());
+ if (err != CHIP_NO_ERROR)
+ {
+ return err;
+ }
+
+ return cluster.ConfigureAttributeCurrentPositionLift(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mMinInterval,
+ mMaxInterval, mChange);
+ }
+
+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);
+ chip::Callback::Callback<Int16uAttributeCallback> * onReportCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ uint16_t mMinInterval;
+ uint16_t mMaxInterval;
+ uint16_t mChange;
+};
+
+/*
+ * Attribute CurrentPositionTilt
+ */
+class ReadWindowCoveringCurrentPositionTilt : public ModelCommand
+{
+public:
+ ReadWindowCoveringCurrentPositionTilt() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "current-position-tilt");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringCurrentPositionTilt()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeCurrentPositionTilt(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);
+};
+
+class ReportWindowCoveringCurrentPositionTilt : public ModelCommand
+{
+public:
+ ReportWindowCoveringCurrentPositionTilt() : ModelCommand("report")
+ {
+ AddArgument("attr-name", "current-position-tilt");
+ AddArgument("min-interval", 0, UINT16_MAX, &mMinInterval);
+ AddArgument("max-interval", 0, UINT16_MAX, &mMaxInterval);
+ AddArgument("change", 0, UINT16_MAX, &mChange);
+ ModelCommand::AddArguments();
+ }
+
+ ~ReportWindowCoveringCurrentPositionTilt()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ delete onReportCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x06) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+
+ CHIP_ERROR err = cluster.ReportAttributeCurrentPositionTilt(onReportCallback->Cancel());
+ if (err != CHIP_NO_ERROR)
+ {
+ return err;
+ }
+
+ return cluster.ConfigureAttributeCurrentPositionTilt(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mMinInterval,
+ mMaxInterval, mChange);
+ }
+
+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);
+ chip::Callback::Callback<Int16uAttributeCallback> * onReportCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ uint16_t mMinInterval;
+ uint16_t mMaxInterval;
+ uint16_t mChange;
+};
+
+/*
+ * Attribute ConfigStatus
+ */
+class ReadWindowCoveringConfigStatus : public ModelCommand
+{
+public:
+ ReadWindowCoveringConfigStatus() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "config-status");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringConfigStatus()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeConfigStatus(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);
+};
+
+class ReportWindowCoveringConfigStatus : public ModelCommand
+{
+public:
+ ReportWindowCoveringConfigStatus() : ModelCommand("report")
+ {
+ AddArgument("attr-name", "config-status");
+ AddArgument("min-interval", 0, UINT16_MAX, &mMinInterval);
+ AddArgument("max-interval", 0, UINT16_MAX, &mMaxInterval);
+ ModelCommand::AddArguments();
+ }
+
+ ~ReportWindowCoveringConfigStatus()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ delete onReportCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x06) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+
+ CHIP_ERROR err = cluster.ReportAttributeConfigStatus(onReportCallback->Cancel());
+ if (err != CHIP_NO_ERROR)
+ {
+ return err;
+ }
+
+ return cluster.ConfigureAttributeConfigStatus(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mMinInterval,
+ mMaxInterval);
+ }
+
+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);
+ chip::Callback::Callback<Int8uAttributeCallback> * onReportCallback =
+ new chip::Callback::Callback<Int8uAttributeCallback>(OnInt8uAttributeResponse, this);
+ uint16_t mMinInterval;
+ uint16_t mMaxInterval;
+};
+
+/*
+ * Attribute InstalledOpenLimitLift
+ */
+class ReadWindowCoveringInstalledOpenLimitLift : public ModelCommand
+{
+public:
+ ReadWindowCoveringInstalledOpenLimitLift() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "installed-open-limit-lift");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringInstalledOpenLimitLift()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeInstalledOpenLimitLift(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 InstalledClosedLimitLift
+ */
+class ReadWindowCoveringInstalledClosedLimitLift : public ModelCommand
+{
+public:
+ ReadWindowCoveringInstalledClosedLimitLift() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "installed-closed-limit-lift");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringInstalledClosedLimitLift()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeInstalledClosedLimitLift(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 InstalledOpenLimitTilt
+ */
+class ReadWindowCoveringInstalledOpenLimitTilt : public ModelCommand
+{
+public:
+ ReadWindowCoveringInstalledOpenLimitTilt() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "installed-open-limit-tilt");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringInstalledOpenLimitTilt()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeInstalledOpenLimitTilt(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 InstalledClosedLimitTilt
+ */
+class ReadWindowCoveringInstalledClosedLimitTilt : public ModelCommand
+{
+public:
+ ReadWindowCoveringInstalledClosedLimitTilt() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "installed-closed-limit-tilt");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringInstalledClosedLimitTilt()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeInstalledClosedLimitTilt(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 Mode
+ */
+class ReadWindowCoveringMode : public ModelCommand
+{
+public:
+ ReadWindowCoveringMode() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "mode");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringMode()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeMode(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);
+};
+
+class WriteWindowCoveringMode : public ModelCommand
+{
+public:
+ WriteWindowCoveringMode() : ModelCommand("write")
+ {
+ AddArgument("attr-name", "mode");
+ AddArgument("attr-value", 0, UINT8_MAX, &mValue);
+ ModelCommand::AddArguments();
+ }
+
+ ~WriteWindowCoveringMode()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x01) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.WriteAttributeMode(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mValue);
+ }
+
+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);
+ uint8_t mValue;
+};
+
+/*
+ * Attribute ClusterRevision
+ */
+class ReadWindowCoveringClusterRevision : public ModelCommand
+{
+public:
+ ReadWindowCoveringClusterRevision() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "cluster-revision");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadWindowCoveringClusterRevision()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0102) command (0x00) on endpoint %" PRIu16, endpointId);
+
+ chip::Controller::WindowCoveringCluster 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);
+};
+
+/*----------------------------------------------------------------------------*\
| Register all Clusters commands |
\*----------------------------------------------------------------------------*/
void registerClusterAccountLogin(Commands & commands)
@@ -15906,6 +16898,19 @@
commands.Register(clusterName, clusterCommands);
}
+void registerClusterTrustedRootCertificates(Commands & commands)
+{
+ const char * clusterName = "TrustedRootCertificates";
+
+ commands_list clusterCommands = {
+ make_unique<TrustedRootCertificatesAddTrustedRootCertificate>(),
+ make_unique<TrustedRootCertificatesRemoveTrustedRootCertificate>(),
+ make_unique<DiscoverTrustedRootCertificatesAttributes>(),
+ make_unique<ReadTrustedRootCertificatesClusterRevision>(),
+ };
+
+ commands.Register(clusterName, clusterCommands);
+}
void registerClusterWakeOnLan(Commands & commands)
{
const char * clusterName = "WakeOnLan";
@@ -15918,6 +16923,38 @@
commands.Register(clusterName, clusterCommands);
}
+void registerClusterWindowCovering(Commands & commands)
+{
+ const char * clusterName = "WindowCovering";
+
+ commands_list clusterCommands = {
+ make_unique<WindowCoveringWindowCoveringDownClose>(),
+ make_unique<WindowCoveringWindowCoveringGoToLiftPercentage>(),
+ make_unique<WindowCoveringWindowCoveringGoToLiftValue>(),
+ make_unique<WindowCoveringWindowCoveringGoToTiltPercentage>(),
+ make_unique<WindowCoveringWindowCoveringGoToTiltValue>(),
+ make_unique<WindowCoveringWindowCoveringStop>(),
+ make_unique<WindowCoveringWindowCoveringUpOpen>(),
+ make_unique<DiscoverWindowCoveringAttributes>(),
+ make_unique<ReadWindowCoveringWindowCoveringType>(),
+ make_unique<ReportWindowCoveringWindowCoveringType>(),
+ make_unique<ReadWindowCoveringCurrentPositionLift>(),
+ make_unique<ReportWindowCoveringCurrentPositionLift>(),
+ make_unique<ReadWindowCoveringCurrentPositionTilt>(),
+ make_unique<ReportWindowCoveringCurrentPositionTilt>(),
+ make_unique<ReadWindowCoveringConfigStatus>(),
+ make_unique<ReportWindowCoveringConfigStatus>(),
+ make_unique<ReadWindowCoveringInstalledOpenLimitLift>(),
+ make_unique<ReadWindowCoveringInstalledClosedLimitLift>(),
+ make_unique<ReadWindowCoveringInstalledOpenLimitTilt>(),
+ make_unique<ReadWindowCoveringInstalledClosedLimitTilt>(),
+ make_unique<ReadWindowCoveringMode>(),
+ make_unique<WriteWindowCoveringMode>(),
+ make_unique<ReadWindowCoveringClusterRevision>(),
+ };
+
+ commands.Register(clusterName, clusterCommands);
+}
void registerClusters(Commands & commands)
{
@@ -15954,5 +16991,7 @@
registerClusterTemperatureMeasurement(commands);
registerClusterTestCluster(commands);
registerClusterThermostat(commands);
+ registerClusterTrustedRootCertificates(commands);
registerClusterWakeOnLan(commands);
+ registerClusterWindowCovering(commands);
}
diff --git a/examples/chip-tool/commands/reporting/Commands.h b/examples/chip-tool/commands/reporting/Commands.h
index 24d2cef..bcbe017 100644
--- a/examples/chip-tool/commands/reporting/Commands.h
+++ b/examples/chip-tool/commands/reporting/Commands.h
@@ -42,6 +42,10 @@
delete onReportSwitchCurrentPositionCallback;
delete onReportTemperatureMeasurementMeasuredValueCallback;
delete onReportThermostatLocalTemperatureCallback;
+ delete onReportWindowCoveringWindowCoveringTypeCallback;
+ delete onReportWindowCoveringCurrentPositionLiftCallback;
+ delete onReportWindowCoveringCurrentPositionTiltCallback;
+ delete onReportWindowCoveringConfigStatusCallback;
}
void AddReportCallbacks(uint8_t endpointId) override
@@ -70,6 +74,14 @@
onReportTemperatureMeasurementMeasuredValueCallback->Cancel());
callbacksMgr.AddReportCallback(chip::kTestDeviceNodeId, endpointId, 0x0201, 0x0000,
onReportThermostatLocalTemperatureCallback->Cancel());
+ callbacksMgr.AddReportCallback(chip::kTestDeviceNodeId, endpointId, 0x0102, 0x0000,
+ onReportWindowCoveringWindowCoveringTypeCallback->Cancel());
+ callbacksMgr.AddReportCallback(chip::kTestDeviceNodeId, endpointId, 0x0102, 0x0003,
+ onReportWindowCoveringCurrentPositionLiftCallback->Cancel());
+ callbacksMgr.AddReportCallback(chip::kTestDeviceNodeId, endpointId, 0x0102, 0x0004,
+ onReportWindowCoveringCurrentPositionTiltCallback->Cancel());
+ callbacksMgr.AddReportCallback(chip::kTestDeviceNodeId, endpointId, 0x0102, 0x0007,
+ onReportWindowCoveringConfigStatusCallback->Cancel());
}
static void OnDefaultSuccessResponse(void * context) { ChipLogProgress(chipTool, "Default Success Response"); }
@@ -129,6 +141,14 @@
new chip::Callback::Callback<Int16sAttributeCallback>(OnInt16sAttributeResponse, this);
chip::Callback::Callback<Int16sAttributeCallback> * onReportThermostatLocalTemperatureCallback =
new chip::Callback::Callback<Int16sAttributeCallback>(OnInt16sAttributeResponse, this);
+ chip::Callback::Callback<Int8uAttributeCallback> * onReportWindowCoveringWindowCoveringTypeCallback =
+ new chip::Callback::Callback<Int8uAttributeCallback>(OnInt8uAttributeResponse, this);
+ chip::Callback::Callback<Int16uAttributeCallback> * onReportWindowCoveringCurrentPositionLiftCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ chip::Callback::Callback<Int16uAttributeCallback> * onReportWindowCoveringCurrentPositionTiltCallback =
+ new chip::Callback::Callback<Int16uAttributeCallback>(OnInt16uAttributeResponse, this);
+ chip::Callback::Callback<Int8uAttributeCallback> * onReportWindowCoveringConfigStatusCallback =
+ new chip::Callback::Callback<Int8uAttributeCallback>(OnInt8uAttributeResponse, this);
};
void registerCommandsReporting(Commands & commands)
diff --git a/examples/chip-tool/gen/CHIPClientCallbacks.cpp b/examples/chip-tool/gen/CHIPClientCallbacks.cpp
deleted file mode 100644
index e27275b..0000000
--- a/examples/chip-tool/gen/CHIPClientCallbacks.cpp
+++ /dev/null
@@ -1,2678 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-#include "gen/CHIPClientCallbacks.h"
-
-#include <cinttypes>
-
-#include "gen/enums.h"
-#include <app/Command.h>
-#include <app/util/CHIPDeviceCallbacksMgr.h>
-#include <app/util/af-enums.h>
-#include <app/util/af.h>
-#include <app/util/attribute-list-byte-span.h>
-#include <app/util/basic-types.h>
-#include <core/CHIPEncoding.h>
-#include <support/SafeInt.h>
-#include <support/logging/CHIPLogging.h>
-
-using namespace ::chip;
-using namespace ::chip::app::List;
-
-constexpr uint16_t kByteSpanSizeLengthInBytes = 2;
-
-#define CHECK_STATUS(error) \
- if (CHIP_NO_ERROR != error) \
- { \
- ChipLogError(Zcl, "CHECK_STATUS %s", ErrorStr(error)); \
- if (onFailureCallback != nullptr) \
- { \
- Callback::Callback<DefaultFailureCallback> * cb = \
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback); \
- cb->mCall(cb->mContext, static_cast<uint8_t>(EMBER_ZCL_STATUS_INVALID_VALUE)); \
- } \
- return true; \
- }
-
-#define CHECK_MESSAGE_LENGTH(value) \
- if (!chip::CanCastTo<uint16_t>(value)) \
- { \
- ChipLogError(Zcl, "CHECK_MESSAGE_LENGTH expects a uint16_t value, got: %d", value); \
- if (onFailureCallback != nullptr) \
- { \
- Callback::Callback<DefaultFailureCallback> * cb = \
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback); \
- cb->mCall(cb->mContext, static_cast<uint8_t>(EMBER_ZCL_STATUS_INVALID_VALUE)); \
- } \
- return true; \
- } \
- \
- if (messageLen < value) \
- { \
- ChipLogError(Zcl, "Unexpected response length: %d", messageLen); \
- if (onFailureCallback != nullptr) \
- { \
- Callback::Callback<DefaultFailureCallback> * cb = \
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback); \
- cb->mCall(cb->mContext, static_cast<uint8_t>(EMBER_ZCL_STATUS_INVALID_VALUE)); \
- } \
- return true; \
- } \
- \
- messageLen = static_cast<uint16_t>(messageLen - static_cast<uint16_t>(value));
-
-#define GET_RESPONSE_CALLBACKS(name) \
- Callback::Cancelable * onSuccessCallback = nullptr; \
- Callback::Cancelable * onFailureCallback = nullptr; \
- NodeId sourceId = emberAfCurrentCommand()->SourceNodeId(); \
- uint8_t sequenceNumber = emberAfCurrentCommand()->seqNum; \
- CHIP_ERROR err = gCallbacks.GetResponseCallback(sourceId, sequenceNumber, &onSuccessCallback, &onFailureCallback); \
- \
- if (CHIP_NO_ERROR != err) \
- { \
- if (onSuccessCallback == nullptr) \
- { \
- ChipLogDetail(Zcl, "%s: Missing success callback", name); \
- } \
- \
- if (onFailureCallback == nullptr) \
- { \
- ChipLogDetail(Zcl, "%s: Missing failure callback", name); \
- } \
- \
- return true; \
- }
-
-#define GET_CLUSTER_RESPONSE_CALLBACKS(name) \
- Callback::Cancelable * onSuccessCallback = nullptr; \
- Callback::Cancelable * onFailureCallback = nullptr; \
- NodeId sourceIdentifier = reinterpret_cast<NodeId>(commandObj); \
- /* #6559: Currently, we only have one commands for the IMInvokeCommands and to a device, so the seqNum is always set to 0. */ \
- CHIP_ERROR err = gCallbacks.GetResponseCallback(sourceIdentifier, 0, &onSuccessCallback, &onFailureCallback); \
- \
- if (CHIP_NO_ERROR != err) \
- { \
- if (onSuccessCallback == nullptr) \
- { \
- ChipLogDetail(Zcl, "%s: Missing success callback", name); \
- } \
- \
- if (onFailureCallback == nullptr) \
- { \
- ChipLogDetail(Zcl, "%s: Missing failure callback", name); \
- } \
- \
- return true; \
- }
-
-#define GET_REPORT_CALLBACK(name) \
- Callback::Cancelable * onReportCallback = nullptr; \
- CHIP_ERROR err = gCallbacks.GetReportCallback(sourceId, endpointId, clusterId, attributeId, &onReportCallback); \
- \
- if (CHIP_NO_ERROR != err) \
- { \
- if (onReportCallback == nullptr) \
- { \
- ChipLogDetail(Zcl, "%s: Missing report callback", name); \
- } \
- \
- return true; \
- }
-
-void LogStatus(uint8_t status)
-{
- switch (status)
- {
- case EMBER_ZCL_STATUS_SUCCESS:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_SUCCESS (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_FAILURE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_FAILURE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_NOT_AUTHORIZED:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_NOT_AUTHORIZED (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_MALFORMED_COMMAND:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_MALFORMED_COMMAND (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_UNSUP_COMMAND:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_UNSUP_CLUSTER_COMMAND (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_UNSUP_GENERAL_COMMAND:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_UNSUP_GENERAL_COMMAND (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_UNSUP_MANUF_CLUSTER_COMMAND:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_UNSUP_MANUF_CLUSTER_COMMAND (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_UNSUP_MANUF_GENERAL_COMMAND:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_UNSUP_MANUF_GENERAL_COMMAND (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_INVALID_FIELD:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_INVALID_FIELD (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_INVALID_VALUE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_INVALID_VALUE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_READ_ONLY:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_READ_ONLY (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_INSUFFICIENT_SPACE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_INSUFFICIENT_SPACE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_DUPLICATE_EXISTS:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_DUPLICATE_EXISTS (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_NOT_FOUND:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_NOT_FOUND (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_UNREPORTABLE_ATTRIBUTE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_UNREPORTABLE_ATTRIBUTE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_INVALID_DATA_TYPE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_INVALID_DATA_TYPE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_INVALID_SELECTOR:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_INVALID_SELECTOR (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_WRITE_ONLY:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_WRITE_ONLY (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_INCONSISTENT_STARTUP_STATE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_INCONSISTENT_STARTUP_STATE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_DEFINED_OUT_OF_BAND:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_DEFINED_OUT_Of_BAND (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_ACTION_DENIED:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_ACTION_DENIED (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_TIMEOUT:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_TIMEOUT (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_ABORT:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_ABORT (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_INVALID_IMAGE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_INVALID_IMAGE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_WAIT_FOR_DATA:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_WAIT_FOR_DATA (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_NO_IMAGE_AVAILABLE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_NO_IMAGE_AVAILABLE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_REQUIRE_MORE_IMAGE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_REQUIRE_MORE_IMAGE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_HARDWARE_FAILURE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_HARDWARE_FAILURE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_SOFTWARE_FAILURE:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_SOFTWARE_FAILURE (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_UNSUPPORTED_CLUSTER:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_UNSUPPORTED_CLUSTER (0x%02x)", status);
- break;
- case EMBER_ZCL_STATUS_LIMIT_REACHED:
- ChipLogProgress(Zcl, " status: EMBER_ZCL_STATUS_LIMIT_REACHED (0x%02x)", status);
- break;
- default:
- ChipLogError(Zcl, "Unknow status: 0x%02x", status);
- break;
- }
-}
-
-void LogStringAttribute(const uint8_t * string, const uint16_t length, const bool isAscii)
-{
- if (isAscii)
- {
- ChipLogProgress(Zcl, " value: %.*s", length, string);
- return;
- }
-
- constexpr size_t kByteInHexLength = 3; // 2 hex digits + space
- char buffer[CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE] = " value: ";
- char * bufferPos = buffer + strlen(buffer);
- char * const bufferEnd = buffer + CHIP_CONFIG_LOG_MESSAGE_MAX_SIZE;
-
- for (uint16_t i = 0; i < length && bufferPos + kByteInHexLength < bufferEnd; i++, bufferPos += kByteInHexLength)
- {
- snprintf(bufferPos, static_cast<size_t>(bufferEnd - bufferPos), "%02X ", string[i]);
- }
-
- ChipLogProgress(Zcl, "%s", buffer);
-}
-
-// Singleton instance of the callbacks manager
-app::CHIPDeviceCallbacksMgr & gCallbacks = app::CHIPDeviceCallbacksMgr::GetInstance();
-
-bool emberAfDefaultResponseCallback(ClusterId clusterId, CommandId commandId, EmberAfStatus status)
-{
- ChipLogProgress(Zcl, "DefaultResponse:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
- ChipLogProgress(Zcl, " CommandId: 0x%02x", commandId);
- LogStatus(status);
-
- GET_RESPONSE_CALLBACKS("emberAfDefaultResponseCallback");
- if (status == EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultSuccessCallback> * cb =
- Callback::Callback<DefaultSuccessCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- }
- else
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, static_cast<uint8_t>(status));
- }
-
- return true;
-}
-
-bool IMDefaultResponseCallback(const chip::app::Command * commandObj, EmberAfStatus status)
-{
- ChipLogProgress(Zcl, "DefaultResponse:");
- ChipLogProgress(Zcl, " Transaction: %p", commandObj);
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("emberAfDefaultResponseCallback");
- if (status == EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultSuccessCallback> * cb =
- Callback::Callback<DefaultSuccessCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- }
- else
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, static_cast<uint8_t>(status));
- }
-
- return true;
-}
-
-bool emberAfReadAttributesResponseCallback(ClusterId clusterId, uint8_t * message, uint16_t messageLen)
-{
- ChipLogProgress(Zcl, "ReadAttributesResponse:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
-
- GET_RESPONSE_CALLBACKS("emberAfReadAttributesResponseCallback");
-
- // struct readAttributeResponseRecord[]
- while (messageLen)
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t attributeId = chip::Encoding::LittleEndian::Read16(message); // attribId
- ChipLogProgress(Zcl, " attributeId: 0x%04x", attributeId);
-
- CHECK_MESSAGE_LENGTH(1);
- uint8_t status = chip::Encoding::Read8(message); // zclStatus
- LogStatus(status);
-
- if (status == EMBER_ZCL_STATUS_SUCCESS)
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t attributeType = chip::Encoding::Read8(message);
- ChipLogProgress(Zcl, " attributeType: 0x%02x", attributeType);
-
- switch (attributeType)
- {
- case 0x00: // nodata / No data
- case 0x0A: // data24 / 24-bit data
- case 0x0C: // data40 / 40-bit data
- case 0x0D: // data48 / 48-bit data
- case 0x0E: // data56 / 56-bit data
- case 0x1A: // map24 / 24-bit bitmap
- case 0x1C: // map40 / 40-bit bitmap
- case 0x1D: // map48 / 48-bit bitmap
- case 0x1E: // map56 / 56-bit bitmap
- case 0x22: // uint24 / Unsigned 24-bit integer
- case 0x24: // uint40 / Unsigned 40-bit integer
- case 0x25: // uint48 / Unsigned 48-bit integer
- case 0x26: // uint56 / Unsigned 56-bit integer
- case 0x2A: // int24 / Signed 24-bit integer
- case 0x2C: // int40 / Signed 40-bit integer
- case 0x2D: // int48 / Signed 48-bit integer
- case 0x2E: // int56 / Signed 56-bit integer
- case 0x38: // semi / Semi-precision
- case 0x39: // single / Single precision
- case 0x3A: // double / Double precision
- case 0x49: // struct / Structure
- case 0x50: // set / Set
- case 0x51: // bag / Bag
- case 0xE0: // ToD / Time of day
- {
- ChipLogError(Zcl, "attributeType 0x%02x is not supported", attributeType);
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, EMBER_ZCL_STATUS_INVALID_VALUE);
- return true;
- }
-
- case 0x41: // octstr / Octet string
- case 0x42: // string / Character string
- {
- // Short Strings must contains at least one byte for the length
- CHECK_MESSAGE_LENGTH(1);
- uint8_t length = chip::Encoding::Read8(message);
-
- // When the length is set to 0xFF, it represents a non-value. In this case the data field is zero length.
- if (length == 0xFF)
- {
- length = 0;
- }
-
- CHECK_MESSAGE_LENGTH(length);
- LogStringAttribute(message, length, attributeType == 0x42);
- Callback::Callback<StringAttributeCallback> * cb =
- Callback::Callback<StringAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, chip::ByteSpan(message, length));
- break;
- }
-
- case 0x43: // octstr16 / Long octet string
- case 0x44: // string16 / Long character string
- {
- // Long Strings must contains at least two bytes for the length
- CHECK_MESSAGE_LENGTH(2);
- uint16_t length = chip::Encoding::LittleEndian::Read16(message);
-
- // When the length is set to 0xFFFF, it represents a non-value. In this case the data field is zero length.
- if (length == 0xFFFF)
- {
- length = 0;
- }
-
- CHECK_MESSAGE_LENGTH(length);
- LogStringAttribute(message, length, attributeType == 0x44);
- Callback::Callback<StringAttributeCallback> * cb =
- Callback::Callback<StringAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, chip::ByteSpan(message, length));
- break;
- }
- case 0x48: // array / Array
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t count = chip::Encoding::LittleEndian::Read16(message);
- ChipLogProgress(Zcl, " count: %lu", count);
-
- switch (clusterId)
- {
- case 0x050C:
- switch (attributeId)
- {
- case 0x0000: // INT16U
- {
- uint16_t data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(2);
- data[i] = emberAfGetInt16u(message, 0, 2);
- message += 2;
- }
-
- Callback::Callback<ApplicationLauncherApplicationLauncherListListAttributeCallback> * cb =
- Callback::Callback<ApplicationLauncherApplicationLauncherListListAttributeCallback>::FromCancelable(
- onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x050B:
- switch (attributeId)
- {
- case 0x0000: // AudioOutputInfo
- {
- _AudioOutputInfo data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(1);
- data[i].index = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_MESSAGE_LENGTH(1);
- data[i].outputType = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].name));
- messageLen -= 34;
- message += 34;
- }
-
- Callback::Callback<AudioOutputAudioOutputListListAttributeCallback> * cb =
- Callback::Callback<AudioOutputAudioOutputListListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x050A:
- switch (attributeId)
- {
- case 0x0000: // OCTET_STRING
- {
- chip::ByteSpan data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_STATUS(ReadByteSpan(message, messageLen, &data[i]));
- uint16_t entryLength = static_cast<uint16_t>(data[i].size() + kByteSpanSizeLengthInBytes);
- messageLen -= entryLength;
- message += entryLength;
- }
-
- Callback::Callback<ContentLaunchAcceptsHeaderListListAttributeCallback> * cb =
- Callback::Callback<ContentLaunchAcceptsHeaderListListAttributeCallback>::FromCancelable(
- onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- case 0x0001: // ContentLaunchStreamingType
- {
- uint8_t data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(1);
- data[i] = emberAfGetInt8u(message, 0, 1);
- message += 1;
- }
-
- Callback::Callback<ContentLaunchSupportedStreamingTypesListAttributeCallback> * cb =
- Callback::Callback<ContentLaunchSupportedStreamingTypesListAttributeCallback>::FromCancelable(
- onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x001D:
- switch (attributeId)
- {
- case 0x0000: // DeviceType
- {
- _DeviceType data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(4);
- data[i].type = emberAfGetInt32u(message, 0, 4);
- message += 4;
- CHECK_MESSAGE_LENGTH(2);
- data[i].revision = emberAfGetInt16u(message, 0, 2);
- message += 2;
- }
-
- Callback::Callback<DescriptorDeviceListListAttributeCallback> * cb =
- Callback::Callback<DescriptorDeviceListListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- case 0x0001: // CLUSTER_ID
- {
- chip::ClusterId data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(2);
- data[i] = emberAfGetInt16u(message, 0, 2);
- message += 2;
- }
-
- Callback::Callback<DescriptorServerListListAttributeCallback> * cb =
- Callback::Callback<DescriptorServerListListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- case 0x0002: // CLUSTER_ID
- {
- chip::ClusterId data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(2);
- data[i] = emberAfGetInt16u(message, 0, 2);
- message += 2;
- }
-
- Callback::Callback<DescriptorClientListListAttributeCallback> * cb =
- Callback::Callback<DescriptorClientListListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- case 0x0003: // ENDPOINT_ID
- {
- chip::EndpointId data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(1);
- data[i] = emberAfGetInt8u(message, 0, 1);
- message += 1;
- }
-
- Callback::Callback<DescriptorPartsListListAttributeCallback> * cb =
- Callback::Callback<DescriptorPartsListListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x0033:
- switch (attributeId)
- {
- case 0x0000: // NetworkInterfaceType
- {
- _NetworkInterfaceType data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].Name));
- messageLen -= 34;
- message += 34;
- CHECK_MESSAGE_LENGTH(1);
- data[i].FabricConnected = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_MESSAGE_LENGTH(1);
- data[i].OffPremiseServicesReachableIPv4 = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_MESSAGE_LENGTH(1);
- data[i].OffPremiseServicesReachableIPv6 = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_MESSAGE_LENGTH(8);
- data[i].HardwareAddress = emberAfGetInt64u(message, 0, 8);
- message += 8;
- CHECK_MESSAGE_LENGTH(1);
- data[i].Type = emberAfGetInt8u(message, 0, 1);
- message += 1;
- }
-
- Callback::Callback<GeneralDiagnosticsNetworkInterfacesListAttributeCallback> * cb =
- Callback::Callback<GeneralDiagnosticsNetworkInterfacesListAttributeCallback>::FromCancelable(
- onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0xF004:
- switch (attributeId)
- {
- case 0x0000: // GroupState
- {
- _GroupState data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(2);
- data[i].VendorId = emberAfGetInt16u(message, 0, 2);
- message += 2;
- CHECK_MESSAGE_LENGTH(2);
- data[i].VendorGroupId = emberAfGetInt16u(message, 0, 2);
- message += 2;
- CHECK_MESSAGE_LENGTH(2);
- data[i].GroupKeySetIndex = emberAfGetInt16u(message, 0, 2);
- message += 2;
- }
-
- Callback::Callback<GroupKeyManagementGroupsListAttributeCallback> * cb =
- Callback::Callback<GroupKeyManagementGroupsListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- case 0x0001: // GroupKey
- {
- _GroupKey data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(2);
- data[i].VendorId = emberAfGetInt16u(message, 0, 2);
- message += 2;
- CHECK_MESSAGE_LENGTH(2);
- data[i].GroupKeyIndex = emberAfGetInt16u(message, 0, 2);
- message += 2;
- CHECK_STATUS(ReadByteSpan(message, 18, &data[i].GroupKeyRoot));
- messageLen -= 18;
- message += 18;
- CHECK_MESSAGE_LENGTH(8);
- data[i].GroupKeyEpochStartTime = emberAfGetInt64u(message, 0, 8);
- message += 8;
- CHECK_MESSAGE_LENGTH(1);
- data[i].GroupKeySecurityPolicy = emberAfGetInt8u(message, 0, 1);
- message += 1;
- }
-
- Callback::Callback<GroupKeyManagementGroupKeysListAttributeCallback> * cb =
- Callback::Callback<GroupKeyManagementGroupKeysListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x0507:
- switch (attributeId)
- {
- case 0x0000: // MediaInputInfo
- {
- _MediaInputInfo data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(1);
- data[i].index = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_MESSAGE_LENGTH(1);
- data[i].inputType = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].name));
- messageLen -= 34;
- message += 34;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].description));
- messageLen -= 34;
- message += 34;
- }
-
- Callback::Callback<MediaInputMediaInputListListAttributeCallback> * cb =
- Callback::Callback<MediaInputMediaInputListListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x003E:
- switch (attributeId)
- {
- case 0x0001: // FabricDescriptor
- {
- _FabricDescriptor data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(8);
- data[i].FabricId = emberAfGetInt64u(message, 0, 8);
- message += 8;
- CHECK_MESSAGE_LENGTH(2);
- data[i].VendorId = emberAfGetInt16u(message, 0, 2);
- message += 2;
- CHECK_MESSAGE_LENGTH(8);
- data[i].NodeId = emberAfGetInt64u(message, 0, 8);
- message += 8;
- }
-
- Callback::Callback<OperationalCredentialsFabricsListListAttributeCallback> * cb =
- Callback::Callback<OperationalCredentialsFabricsListListAttributeCallback>::FromCancelable(
- onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x0504:
- switch (attributeId)
- {
- case 0x0000: // TvChannelInfo
- {
- _TvChannelInfo data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(2);
- data[i].majorNumber = emberAfGetInt16u(message, 0, 2);
- message += 2;
- CHECK_MESSAGE_LENGTH(2);
- data[i].minorNumber = emberAfGetInt16u(message, 0, 2);
- message += 2;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].name));
- messageLen -= 34;
- message += 34;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].callSign));
- messageLen -= 34;
- message += 34;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].affiliateCallSign));
- messageLen -= 34;
- message += 34;
- }
-
- Callback::Callback<TvChannelTvChannelListListAttributeCallback> * cb =
- Callback::Callback<TvChannelTvChannelListListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x0505:
- switch (attributeId)
- {
- case 0x0000: // NavigateTargetTargetInfo
- {
- _NavigateTargetTargetInfo data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(1);
- data[i].identifier = emberAfGetInt8u(message, 0, 1);
- message += 1;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].name));
- messageLen -= 34;
- message += 34;
- }
-
- Callback::Callback<TargetNavigatorTargetNavigatorListListAttributeCallback> * cb =
- Callback::Callback<TargetNavigatorTargetNavigatorListListAttributeCallback>::FromCancelable(
- onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- case 0x050F:
- switch (attributeId)
- {
- case 0x001A: // INT8U
- {
- uint8_t data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(1);
- data[i] = emberAfGetInt8u(message, 0, 1);
- message += 1;
- }
-
- Callback::Callback<TestClusterListInt8uListAttributeCallback> * cb =
- Callback::Callback<TestClusterListInt8uListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- case 0x001B: // OCTET_STRING
- {
- chip::ByteSpan data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_STATUS(ReadByteSpan(message, messageLen, &data[i]));
- uint16_t entryLength = static_cast<uint16_t>(data[i].size() + kByteSpanSizeLengthInBytes);
- messageLen -= entryLength;
- message += entryLength;
- }
-
- Callback::Callback<TestClusterListOctetStringListAttributeCallback> * cb =
- Callback::Callback<TestClusterListOctetStringListAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- case 0x001C: // TestListStructOctet
- {
- _TestListStructOctet data[count];
- for (size_t i = 0; i < count; i++)
- {
- CHECK_MESSAGE_LENGTH(8);
- data[i].fabricIndex = emberAfGetInt64u(message, 0, 8);
- message += 8;
- CHECK_STATUS(ReadByteSpan(message, 34, &data[i].operationalCert));
- messageLen -= 34;
- message += 34;
- }
-
- Callback::Callback<TestClusterListStructOctetStringListAttributeCallback> * cb =
- Callback::Callback<TestClusterListStructOctetStringListAttributeCallback>::FromCancelable(
- onSuccessCallback);
- cb->mCall(cb->mContext, count, data);
- break;
- }
- }
- break;
- }
- break;
- }
-
- case 0x08: // data8 / 8-bit data
- case 0x18: // map8 / 8-bit bitmap
- case 0x20: // uint8 / Unsigned 8-bit integer
- case 0x30: // enum8 / 8-bit enumeration
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t value = chip::Encoding::Read8(message);
- ChipLogProgress(Zcl, " value: 0x%02x", value);
-
- Callback::Callback<Int8uAttributeCallback> * cb =
- Callback::Callback<Int8uAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x09: // data16 / 16-bit data
- case 0x19: // map16 / 16-bit bitmap
- case 0x21: // uint16 / Unsigned 16-bit integer
- case 0x31: // enum16 / 16-bit enumeration
- case 0xE8: // clusterId / Cluster ID
- case 0xE9: // attribId / Attribute ID
- case 0xEA: // bacOID / BACnet OID
- case 0xF1: // key128 / 128-bit security key
- case 0xFF: // unk / Unknown
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t value = chip::Encoding::LittleEndian::Read16(message);
- ChipLogProgress(Zcl, " value: 0x%04x", value);
-
- Callback::Callback<Int16uAttributeCallback> * cb =
- Callback::Callback<Int16uAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x0B: // data32 / 32-bit data
- case 0x1B: // map32 / 32-bit bitmap
- case 0x23: // uint32 / Unsigned 32-bit integer
- case 0xE1: // date / Date
- case 0xE2: // UTC / UTCTime
- {
- CHECK_MESSAGE_LENGTH(4);
- uint32_t value = chip::Encoding::LittleEndian::Read32(message);
- ChipLogProgress(Zcl, " value: 0x%08x", value);
-
- Callback::Callback<Int32uAttributeCallback> * cb =
- Callback::Callback<Int32uAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x0F: // data64 / 64-bit data
- case 0x1F: // map64 / 64-bit bitmap
- case 0x27: // uint64 / Unsigned 64-bit integer
- case 0xF0: // EUI64 / IEEE address
- {
- CHECK_MESSAGE_LENGTH(8);
- uint64_t value = chip::Encoding::LittleEndian::Read64(message);
- ChipLogProgress(Zcl, " value: 0x%16x", value);
-
- Callback::Callback<Int64uAttributeCallback> * cb =
- Callback::Callback<Int64uAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x10: // bool / Boolean
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t value = chip::Encoding::Read8(message);
- ChipLogProgress(Zcl, " value: %d", value);
-
- Callback::Callback<BooleanAttributeCallback> * cb =
- Callback::Callback<BooleanAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x28: // int8 / Signed 8-bit integer
- {
- CHECK_MESSAGE_LENGTH(1);
- int8_t value = chip::CastToSigned(chip::Encoding::Read8(message));
- ChipLogProgress(Zcl, " value: %" PRId8, value);
-
- Callback::Callback<Int8sAttributeCallback> * cb =
- Callback::Callback<Int8sAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x29: // int16 / Signed 16-bit integer
- {
- CHECK_MESSAGE_LENGTH(2);
- int16_t value = chip::CastToSigned(chip::Encoding::LittleEndian::Read16(message));
- ChipLogProgress(Zcl, " value: %" PRId16, value);
-
- Callback::Callback<Int16sAttributeCallback> * cb =
- Callback::Callback<Int16sAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x2B: // int32 / Signed 32-bit integer
- {
- CHECK_MESSAGE_LENGTH(4);
- int32_t value = chip::CastToSigned(chip::Encoding::LittleEndian::Read32(message));
- ChipLogProgress(Zcl, " value: %" PRId32, value);
-
- Callback::Callback<Int32sAttributeCallback> * cb =
- Callback::Callback<Int32sAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x2F: // int64 / Signed 64-bit integer
- {
- CHECK_MESSAGE_LENGTH(8);
- int64_t value = chip::CastToSigned(chip::Encoding::LittleEndian::Read64(message));
- ChipLogProgress(Zcl, " value: %" PRId64, value);
-
- Callback::Callback<Int64sAttributeCallback> * cb =
- Callback::Callback<Int64sAttributeCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
- }
- }
- else
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- }
-
- // The current code is written matching the current API where there is a single attribute read
- // per read command. So if multiple attributes are read at the same time, something is wrong
- // somewhere.
- if (messageLen)
- {
- ChipLogError(Zcl, "Multiple attributes read at the same time. Something went wrong.");
- break;
- }
- }
-
- return true;
-}
-
-bool emberAfWriteAttributesResponseCallback(ClusterId clusterId, uint8_t * message, uint16_t messageLen)
-{
- ChipLogProgress(Zcl, "WriteAttributesResponse:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
-
- GET_RESPONSE_CALLBACKS("emberAfWriteAttributesResponseCallback");
-
- // struct writeAttributeResponseRecord[]
- while (messageLen)
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t status = chip::Encoding::Read8(message); // zclStatus
- LogStatus(status);
-
- if (status == EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultSuccessCallback> * cb =
- Callback::Callback<DefaultSuccessCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- }
- else
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t attributeId = chip::Encoding::LittleEndian::Read16(message); // attribId
- ChipLogProgress(Zcl, " attributeId: 0x%04x", attributeId);
-
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- }
-
- // The current code is written matching the current API where there is a single attribute written
- // per write command. So if multiple attributes are written at the same time, something is wrong
- // somewhere.
- if (messageLen)
- {
- ChipLogError(Zcl, "Multiple attributes written at the same time. Something went wrong.");
- break;
- }
- }
-
- return true;
-}
-
-bool emberAfConfigureReportingResponseCallback(ClusterId clusterId, uint8_t * message, uint16_t messageLen)
-{
- ChipLogProgress(Zcl, "ConfigureReportingResponseCallback:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
-
- GET_RESPONSE_CALLBACKS("emberAfConfigureReportingResponseCallback");
-
- // struct configureReportingResponseRecord[]
- while (messageLen)
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t status = chip::Encoding::Read8(message); // zclStatus
- LogStatus(status);
-
- if (status == EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultSuccessCallback> * cb =
- Callback::Callback<DefaultSuccessCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- }
- else
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t direction = chip::Encoding::Read8(message); // reportingRole
- ChipLogProgress(Zcl, " direction: 0x%02x", direction);
-
- CHECK_MESSAGE_LENGTH(2);
- uint16_t attributeId = chip::Encoding::LittleEndian::Read16(message); // attribId
- ChipLogProgress(Zcl, " attributeId: 0x%04x", attributeId);
-
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- }
-
- // The current code is written matching the current API where there is a single attribute report
- // per configure command. So if multiple attributes are configured at the same time, something is wrong
- // somewhere.
- if (messageLen)
- {
- ChipLogError(Zcl, "Multiple attributes reports configured at the same time. Something went wrong.");
- break;
- }
- }
-
- return true;
-}
-
-bool emberAfReadReportingConfigurationResponseCallback(chip::ClusterId clusterId, uint8_t * message, uint16_t messageLen)
-{
- ChipLogProgress(Zcl, "ReadReportingConfigurationResponse:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
-
- GET_RESPONSE_CALLBACKS("emberAfReadReportingConfigurationResponseCallback");
-
- // struct readReportingConfigurationResponseRecord[]
- while (messageLen)
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t direction = chip::Encoding::Read8(message); // reportingRole
- ChipLogProgress(Zcl, " direction: 0x%02x", direction);
-
- CHECK_MESSAGE_LENGTH(2);
- uint16_t attributeId = chip::Encoding::LittleEndian::Read16(message); // attribId
- ChipLogProgress(Zcl, " attributeId: 0x%04x", attributeId);
-
- if (direction == EMBER_ZCL_REPORTING_DIRECTION_REPORTED)
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t attributeType = chip::Encoding::Read8(message); // zclType
- ChipLogProgress(Zcl, " attributeType: 0x%02x", attributeType);
-
- CHECK_MESSAGE_LENGTH(2);
- uint16_t minimumReportingInterval = chip::Encoding::LittleEndian::Read16(message); // uint16
- ChipLogProgress(Zcl, " minimumReportingInterval: %" PRIu16, minimumReportingInterval);
-
- CHECK_MESSAGE_LENGTH(2);
- uint16_t maximumReportingInterval = chip::Encoding::LittleEndian::Read16(message); // uint16
- ChipLogProgress(Zcl, " maximumReportingInterval: %" PRIu16, maximumReportingInterval);
-
- // FIXME: unk is not supported yet.
-
- Callback::Callback<ReadReportingConfigurationReportedCallback> * cb =
- Callback::Callback<ReadReportingConfigurationReportedCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, minimumReportingInterval, maximumReportingInterval);
- }
- else
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t timeout = chip::Encoding::LittleEndian::Read16(message); // uint16
- ChipLogProgress(Zcl, " timeout: %" PRIu16, timeout);
-
- Callback::Callback<ReadReportingConfigurationReceivedCallback> * cb =
- Callback::Callback<ReadReportingConfigurationReceivedCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, timeout);
- }
- }
-
- return true;
-}
-
-bool emberAfDiscoverAttributesResponseCallback(ClusterId clusterId, bool discoveryComplete, uint8_t * message, uint16_t messageLen,
- bool extended)
-{
- ChipLogProgress(Zcl, "DiscoverAttributesResponse:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
- ChipLogProgress(Zcl, " discoveryComplete: %d", discoveryComplete);
- ChipLogProgress(Zcl, " extended: %d", extended);
-
- GET_RESPONSE_CALLBACKS("emberAfDiscoverAttributesCallback");
-
- // struct discoverAttributesResponseRecord[]
- while (messageLen)
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t attributeId = chip::Encoding::LittleEndian::Read16(message); // attribId
- ChipLogProgress(Zcl, " attributeId: 0x%04x", attributeId);
-
- CHECK_MESSAGE_LENGTH(1);
- uint8_t attributeType = chip::Encoding::Read8(message); // zclType
- ChipLogProgress(Zcl, " attributeType: 0x%02x", attributeType);
- }
-
- Callback::Callback<DefaultSuccessCallback> * cb = Callback::Callback<DefaultSuccessCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDiscoverCommandsGeneratedResponseCallback(ClusterId clusterId, uint16_t manufacturerCode, bool discoveryComplete,
- CommandId * commandIds, uint16_t commandIdCount)
-{
- ChipLogProgress(Zcl, "DiscoverCommandsGeneratedResponse:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
- ChipLogProgress(Zcl, " manufacturerCode: 0x%04x", manufacturerCode);
- ChipLogProgress(Zcl, " discoveryComplete: %d", discoveryComplete);
- ChipLogProgress(Zcl, " commandIdCount: %" PRIu16, commandIdCount);
-
- for (uint16_t i = 0; i < commandIdCount; i++)
- {
- ChipLogProgress(Zcl, " commandId: 0x%02x", commandIds++);
- }
-
- GET_RESPONSE_CALLBACKS("emberAfDiscoverCommandsGeneratedResponseCallback");
- Callback::Callback<DefaultSuccessCallback> * cb = Callback::Callback<DefaultSuccessCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDiscoverCommandsReceivedResponseCallback(ClusterId clusterId, uint16_t manufacturerCode, bool discoveryComplete,
- CommandId * commandIds, uint16_t commandIdCount)
-{
- ChipLogProgress(Zcl, "DiscoverCommandsReceivedResponse:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
- ChipLogProgress(Zcl, " manufacturerCode: 0x%04x", manufacturerCode);
- ChipLogProgress(Zcl, " discoveryComplete: %d", discoveryComplete);
- ChipLogProgress(Zcl, " commandIdCount: %" PRIu16, commandIdCount);
-
- for (uint16_t i = 0; i < commandIdCount; i++)
- {
- ChipLogProgress(Zcl, " commandId: 0x%02x", commandIds++);
- }
-
- GET_RESPONSE_CALLBACKS("emberAfDiscoverCommandsGeneratedResponseCallback");
- Callback::Callback<DefaultSuccessCallback> * cb = Callback::Callback<DefaultSuccessCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfAccountLoginClusterGetSetupPINResponseCallback(chip::app::Command * commandObj, uint8_t * setupPIN)
-{
- ChipLogProgress(Zcl, "GetSetupPINResponse:");
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " setupPIN: %.*s", setupPIN.size(), setupPIN.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("AccountLoginClusterGetSetupPINResponseCallback");
-
- Callback::Callback<AccountLoginClusterGetSetupPINResponseCallback> * cb =
- Callback::Callback<AccountLoginClusterGetSetupPINResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, setupPIN);
- return true;
-}
-
-bool emberAfApplicationLauncherClusterLaunchAppResponseCallback(chip::app::Command * commandObj, uint8_t status, uint8_t * data)
-{
- ChipLogProgress(Zcl, "LaunchAppResponse:");
- LogStatus(status);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " data: %.*s", data.size(), data.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ApplicationLauncherClusterLaunchAppResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<ApplicationLauncherClusterLaunchAppResponseCallback> * cb =
- Callback::Callback<ApplicationLauncherClusterLaunchAppResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, data);
- return true;
-}
-
-bool emberAfContentLaunchClusterLaunchContentResponseCallback(chip::app::Command * commandObj, uint8_t * data,
- uint8_t contentLaunchStatus)
-{
- ChipLogProgress(Zcl, "LaunchContentResponse:");
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " data: %.*s", data.size(), data.data());
- ChipLogProgress(Zcl, " contentLaunchStatus: %" PRIu8 "", contentLaunchStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ContentLaunchClusterLaunchContentResponseCallback");
-
- Callback::Callback<ContentLaunchClusterLaunchContentResponseCallback> * cb =
- Callback::Callback<ContentLaunchClusterLaunchContentResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, data, contentLaunchStatus);
- return true;
-}
-
-bool emberAfContentLaunchClusterLaunchURLResponseCallback(chip::app::Command * commandObj, uint8_t * data,
- uint8_t contentLaunchStatus)
-{
- ChipLogProgress(Zcl, "LaunchURLResponse:");
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " data: %.*s", data.size(), data.data());
- ChipLogProgress(Zcl, " contentLaunchStatus: %" PRIu8 "", contentLaunchStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ContentLaunchClusterLaunchURLResponseCallback");
-
- Callback::Callback<ContentLaunchClusterLaunchURLResponseCallback> * cb =
- Callback::Callback<ContentLaunchClusterLaunchURLResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, data, contentLaunchStatus);
- return true;
-}
-
-bool emberAfDoorLockClusterClearAllPinsResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "ClearAllPinsResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterClearAllPinsResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterClearAllPinsResponseCallback> * cb =
- Callback::Callback<DoorLockClusterClearAllPinsResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterClearAllRfidsResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "ClearAllRfidsResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterClearAllRfidsResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterClearAllRfidsResponseCallback> * cb =
- Callback::Callback<DoorLockClusterClearAllRfidsResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterClearHolidayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "ClearHolidayScheduleResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterClearHolidayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterClearHolidayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterClearHolidayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterClearPinResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "ClearPinResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterClearPinResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterClearPinResponseCallback> * cb =
- Callback::Callback<DoorLockClusterClearPinResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterClearRfidResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "ClearRfidResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterClearRfidResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterClearRfidResponseCallback> * cb =
- Callback::Callback<DoorLockClusterClearRfidResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterClearWeekdayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "ClearWeekdayScheduleResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterClearWeekdayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterClearWeekdayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterClearWeekdayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterClearYeardayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "ClearYeardayScheduleResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterClearYeardayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterClearYeardayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterClearYeardayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterGetHolidayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t scheduleId, uint8_t status,
- uint32_t localStartTime, uint32_t localEndTime,
- uint8_t operatingModeDuringHoliday)
-{
- ChipLogProgress(Zcl, "GetHolidayScheduleResponse:");
- ChipLogProgress(Zcl, " scheduleId: %" PRIu8 "", scheduleId);
- LogStatus(status);
- ChipLogProgress(Zcl, " localStartTime: %" PRIu32 "", localStartTime);
- ChipLogProgress(Zcl, " localEndTime: %" PRIu32 "", localEndTime);
- ChipLogProgress(Zcl, " operatingModeDuringHoliday: %" PRIu8 "", operatingModeDuringHoliday);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterGetHolidayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterGetHolidayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterGetHolidayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, scheduleId, localStartTime, localEndTime, operatingModeDuringHoliday);
- return true;
-}
-
-bool emberAfDoorLockClusterGetLogRecordResponseCallback(chip::app::Command * commandObj, uint16_t logEntryId, uint32_t timestamp,
- uint8_t eventType, uint8_t source, uint8_t eventIdOrAlarmCode,
- uint16_t userId, uint8_t * pin)
-{
- ChipLogProgress(Zcl, "GetLogRecordResponse:");
- ChipLogProgress(Zcl, " logEntryId: %" PRIu16 "", logEntryId);
- ChipLogProgress(Zcl, " timestamp: %" PRIu32 "", timestamp);
- ChipLogProgress(Zcl, " eventType: %" PRIu8 "", eventType);
- ChipLogProgress(Zcl, " source: %" PRIu8 "", source);
- ChipLogProgress(Zcl, " eventIdOrAlarmCode: %" PRIu8 "", eventIdOrAlarmCode);
- ChipLogProgress(Zcl, " userId: %" PRIu16 "", userId);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " pin: %.*s", pin.size(), pin.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterGetLogRecordResponseCallback");
-
- Callback::Callback<DoorLockClusterGetLogRecordResponseCallback> * cb =
- Callback::Callback<DoorLockClusterGetLogRecordResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, logEntryId, timestamp, eventType, source, eventIdOrAlarmCode, userId, pin);
- return true;
-}
-
-bool emberAfDoorLockClusterGetPinResponseCallback(chip::app::Command * commandObj, uint16_t userId, uint8_t userStatus,
- uint8_t userType, uint8_t * pin)
-{
- ChipLogProgress(Zcl, "GetPinResponse:");
- ChipLogProgress(Zcl, " userId: %" PRIu16 "", userId);
- ChipLogProgress(Zcl, " userStatus: %" PRIu8 "", userStatus);
- ChipLogProgress(Zcl, " userType: %" PRIu8 "", userType);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " pin: %.*s", pin.size(), pin.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterGetPinResponseCallback");
-
- Callback::Callback<DoorLockClusterGetPinResponseCallback> * cb =
- Callback::Callback<DoorLockClusterGetPinResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, userId, userStatus, userType, pin);
- return true;
-}
-
-bool emberAfDoorLockClusterGetRfidResponseCallback(chip::app::Command * commandObj, uint16_t userId, uint8_t userStatus,
- uint8_t userType, uint8_t * rfid)
-{
- ChipLogProgress(Zcl, "GetRfidResponse:");
- ChipLogProgress(Zcl, " userId: %" PRIu16 "", userId);
- ChipLogProgress(Zcl, " userStatus: %" PRIu8 "", userStatus);
- ChipLogProgress(Zcl, " userType: %" PRIu8 "", userType);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " rfid: %.*s", rfid.size(), rfid.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterGetRfidResponseCallback");
-
- Callback::Callback<DoorLockClusterGetRfidResponseCallback> * cb =
- Callback::Callback<DoorLockClusterGetRfidResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, userId, userStatus, userType, rfid);
- return true;
-}
-
-bool emberAfDoorLockClusterGetUserTypeResponseCallback(chip::app::Command * commandObj, uint16_t userId, uint8_t userType)
-{
- ChipLogProgress(Zcl, "GetUserTypeResponse:");
- ChipLogProgress(Zcl, " userId: %" PRIu16 "", userId);
- ChipLogProgress(Zcl, " userType: %" PRIu8 "", userType);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterGetUserTypeResponseCallback");
-
- Callback::Callback<DoorLockClusterGetUserTypeResponseCallback> * cb =
- Callback::Callback<DoorLockClusterGetUserTypeResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, userId, userType);
- return true;
-}
-
-bool emberAfDoorLockClusterGetWeekdayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t scheduleId, uint16_t userId,
- uint8_t status, uint8_t daysMask, uint8_t startHour,
- uint8_t startMinute, uint8_t endHour, uint8_t endMinute)
-{
- ChipLogProgress(Zcl, "GetWeekdayScheduleResponse:");
- ChipLogProgress(Zcl, " scheduleId: %" PRIu8 "", scheduleId);
- ChipLogProgress(Zcl, " userId: %" PRIu16 "", userId);
- LogStatus(status);
- ChipLogProgress(Zcl, " daysMask: %" PRIu8 "", daysMask);
- ChipLogProgress(Zcl, " startHour: %" PRIu8 "", startHour);
- ChipLogProgress(Zcl, " startMinute: %" PRIu8 "", startMinute);
- ChipLogProgress(Zcl, " endHour: %" PRIu8 "", endHour);
- ChipLogProgress(Zcl, " endMinute: %" PRIu8 "", endMinute);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterGetWeekdayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterGetWeekdayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterGetWeekdayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, scheduleId, userId, daysMask, startHour, startMinute, endHour, endMinute);
- return true;
-}
-
-bool emberAfDoorLockClusterGetYeardayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t scheduleId, uint16_t userId,
- uint8_t status, uint32_t localStartTime, uint32_t localEndTime)
-{
- ChipLogProgress(Zcl, "GetYeardayScheduleResponse:");
- ChipLogProgress(Zcl, " scheduleId: %" PRIu8 "", scheduleId);
- ChipLogProgress(Zcl, " userId: %" PRIu16 "", userId);
- LogStatus(status);
- ChipLogProgress(Zcl, " localStartTime: %" PRIu32 "", localStartTime);
- ChipLogProgress(Zcl, " localEndTime: %" PRIu32 "", localEndTime);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterGetYeardayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterGetYeardayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterGetYeardayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, scheduleId, userId, localStartTime, localEndTime);
- return true;
-}
-
-bool emberAfDoorLockClusterLockDoorResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "LockDoorResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterLockDoorResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterLockDoorResponseCallback> * cb =
- Callback::Callback<DoorLockClusterLockDoorResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterSetHolidayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "SetHolidayScheduleResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterSetHolidayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterSetHolidayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterSetHolidayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterSetPinResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "SetPinResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterSetPinResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterSetPinResponseCallback> * cb =
- Callback::Callback<DoorLockClusterSetPinResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterSetRfidResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "SetRfidResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterSetRfidResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterSetRfidResponseCallback> * cb =
- Callback::Callback<DoorLockClusterSetRfidResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterSetUserTypeResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "SetUserTypeResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterSetUserTypeResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterSetUserTypeResponseCallback> * cb =
- Callback::Callback<DoorLockClusterSetUserTypeResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterSetWeekdayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "SetWeekdayScheduleResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterSetWeekdayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterSetWeekdayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterSetWeekdayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterSetYeardayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "SetYeardayScheduleResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterSetYeardayScheduleResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterSetYeardayScheduleResponseCallback> * cb =
- Callback::Callback<DoorLockClusterSetYeardayScheduleResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterUnlockDoorResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "UnlockDoorResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterUnlockDoorResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterUnlockDoorResponseCallback> * cb =
- Callback::Callback<DoorLockClusterUnlockDoorResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfDoorLockClusterUnlockWithTimeoutResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "UnlockWithTimeoutResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("DoorLockClusterUnlockWithTimeoutResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<DoorLockClusterUnlockWithTimeoutResponseCallback> * cb =
- Callback::Callback<DoorLockClusterUnlockWithTimeoutResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfGeneralCommissioningClusterArmFailSafeResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "ArmFailSafeResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("GeneralCommissioningClusterArmFailSafeResponseCallback");
-
- Callback::Callback<GeneralCommissioningClusterArmFailSafeResponseCallback> * cb =
- Callback::Callback<GeneralCommissioningClusterArmFailSafeResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfGeneralCommissioningClusterCommissioningCompleteResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "CommissioningCompleteResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("GeneralCommissioningClusterCommissioningCompleteResponseCallback");
-
- Callback::Callback<GeneralCommissioningClusterCommissioningCompleteResponseCallback> * cb =
- Callback::Callback<GeneralCommissioningClusterCommissioningCompleteResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfGeneralCommissioningClusterSetRegulatoryConfigResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "SetRegulatoryConfigResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("GeneralCommissioningClusterSetRegulatoryConfigResponseCallback");
-
- Callback::Callback<GeneralCommissioningClusterSetRegulatoryConfigResponseCallback> * cb =
- Callback::Callback<GeneralCommissioningClusterSetRegulatoryConfigResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfGroupsClusterAddGroupResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId)
-{
- ChipLogProgress(Zcl, "AddGroupResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("GroupsClusterAddGroupResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<GroupsClusterAddGroupResponseCallback> * cb =
- Callback::Callback<GroupsClusterAddGroupResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId);
- return true;
-}
-
-bool emberAfGroupsClusterGetGroupMembershipResponseCallback(chip::app::Command * commandObj, uint8_t capacity, uint8_t groupCount,
- /* TYPE WARNING: array array defaults to */ uint8_t * groupList)
-{
- ChipLogProgress(Zcl, "GetGroupMembershipResponse:");
- ChipLogProgress(Zcl, " capacity: %" PRIu8 "", capacity);
- ChipLogProgress(Zcl, " groupCount: %" PRIu8 "", groupCount);
- ChipLogProgress(Zcl, " groupList: %p", groupList);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("GroupsClusterGetGroupMembershipResponseCallback");
-
- Callback::Callback<GroupsClusterGetGroupMembershipResponseCallback> * cb =
- Callback::Callback<GroupsClusterGetGroupMembershipResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, capacity, groupCount, groupList);
- return true;
-}
-
-bool emberAfGroupsClusterRemoveGroupResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId)
-{
- ChipLogProgress(Zcl, "RemoveGroupResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("GroupsClusterRemoveGroupResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<GroupsClusterRemoveGroupResponseCallback> * cb =
- Callback::Callback<GroupsClusterRemoveGroupResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId);
- return true;
-}
-
-bool emberAfGroupsClusterViewGroupResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t * groupName)
-{
- ChipLogProgress(Zcl, "ViewGroupResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " groupName: %.*s", groupName.size(), groupName.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("GroupsClusterViewGroupResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<GroupsClusterViewGroupResponseCallback> * cb =
- Callback::Callback<GroupsClusterViewGroupResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId, groupName);
- return true;
-}
-
-bool emberAfIdentifyClusterIdentifyQueryResponseCallback(chip::app::Command * commandObj, uint16_t timeout)
-{
- ChipLogProgress(Zcl, "IdentifyQueryResponse:");
- ChipLogProgress(Zcl, " timeout: %" PRIu16 "", timeout);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("IdentifyClusterIdentifyQueryResponseCallback");
-
- Callback::Callback<IdentifyClusterIdentifyQueryResponseCallback> * cb =
- Callback::Callback<IdentifyClusterIdentifyQueryResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, timeout);
- return true;
-}
-
-bool emberAfKeypadInputClusterSendKeyResponseCallback(chip::app::Command * commandObj, uint8_t status)
-{
- ChipLogProgress(Zcl, "SendKeyResponse:");
- LogStatus(status);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("KeypadInputClusterSendKeyResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<KeypadInputClusterSendKeyResponseCallback> * cb =
- Callback::Callback<KeypadInputClusterSendKeyResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaFastForwardResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaFastForwardResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaFastForwardResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaFastForwardResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaFastForwardResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaNextResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaNextResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaNextResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaNextResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaNextResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaPauseResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaPauseResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaPauseResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaPauseResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaPauseResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaPlayResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaPlayResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaPlayResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaPlayResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaPlayResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaPreviousResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaPreviousResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaPreviousResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaPreviousResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaPreviousResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaRewindResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaRewindResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaRewindResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaRewindResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaRewindResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaSkipBackwardResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaSkipBackwardResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaSkipBackwardResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaSkipBackwardResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaSkipBackwardResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaSkipForwardResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaSkipForwardResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaSkipForwardResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaSkipForwardResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaSkipForwardResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaSkipSeekResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaSkipSeekResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaSkipSeekResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaSkipSeekResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaSkipSeekResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaStartOverResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaStartOverResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaStartOverResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaStartOverResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaStartOverResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfMediaPlaybackClusterMediaStopResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus)
-{
- ChipLogProgress(Zcl, "MediaStopResponse:");
- ChipLogProgress(Zcl, " mediaPlaybackStatus: %" PRIu8 "", mediaPlaybackStatus);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("MediaPlaybackClusterMediaStopResponseCallback");
-
- Callback::Callback<MediaPlaybackClusterMediaStopResponseCallback> * cb =
- Callback::Callback<MediaPlaybackClusterMediaStopResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, mediaPlaybackStatus);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterAddThreadNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "AddThreadNetworkResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterAddThreadNetworkResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterAddThreadNetworkResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterAddThreadNetworkResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterAddWiFiNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "AddWiFiNetworkResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterAddWiFiNetworkResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterAddWiFiNetworkResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterAddWiFiNetworkResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterDisableNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "DisableNetworkResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterDisableNetworkResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterDisableNetworkResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterDisableNetworkResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterEnableNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "EnableNetworkResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterEnableNetworkResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterEnableNetworkResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterEnableNetworkResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterRemoveNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "RemoveNetworkResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterRemoveNetworkResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterRemoveNetworkResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterRemoveNetworkResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterScanNetworksResponseCallback(
- chip::app::Command * commandObj, uint8_t errorCode, uint8_t * debugText,
- /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults,
- /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults)
-{
- ChipLogProgress(Zcl, "ScanNetworksResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
- ChipLogProgress(Zcl, " wifiScanResults: %p", wifiScanResults);
- ChipLogProgress(Zcl, " threadScanResults: %p", threadScanResults);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterScanNetworksResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterScanNetworksResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterScanNetworksResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText, wifiScanResults, threadScanResults);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterUpdateThreadNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "UpdateThreadNetworkResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterUpdateThreadNetworkResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterUpdateThreadNetworkResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterUpdateThreadNetworkResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText)
-{
- ChipLogProgress(Zcl, "UpdateWiFiNetworkResponse:");
- ChipLogProgress(Zcl, " errorCode: %" PRIu8 "", errorCode);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " debugText: %.*s", debugText.size(), debugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("NetworkCommissioningClusterUpdateWiFiNetworkResponseCallback");
-
- Callback::Callback<NetworkCommissioningClusterUpdateWiFiNetworkResponseCallback> * cb =
- Callback::Callback<NetworkCommissioningClusterUpdateWiFiNetworkResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, errorCode, debugText);
- return true;
-}
-
-bool emberAfOperationalCredentialsClusterOpCSRResponseCallback(chip::app::Command * commandObj, chip::ByteSpan CSR,
- chip::ByteSpan CSRNonce, chip::ByteSpan VendorReserved1,
- chip::ByteSpan VendorReserved2, chip::ByteSpan VendorReserved3,
- chip::ByteSpan Signature)
-{
- ChipLogProgress(Zcl, "OpCSRResponse:");
- ChipLogProgress(Zcl, " CSR: %zu", CSR.size());
- ChipLogProgress(Zcl, " CSRNonce: %zu", CSRNonce.size());
- ChipLogProgress(Zcl, " VendorReserved1: %zu", VendorReserved1.size());
- ChipLogProgress(Zcl, " VendorReserved2: %zu", VendorReserved2.size());
- ChipLogProgress(Zcl, " VendorReserved3: %zu", VendorReserved3.size());
- ChipLogProgress(Zcl, " Signature: %zu", Signature.size());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("OperationalCredentialsClusterOpCSRResponseCallback");
-
- Callback::Callback<OperationalCredentialsClusterOpCSRResponseCallback> * cb =
- Callback::Callback<OperationalCredentialsClusterOpCSRResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, CSR, CSRNonce, VendorReserved1, VendorReserved2, VendorReserved3, Signature);
- return true;
-}
-
-bool emberAfOperationalCredentialsClusterOpCertResponseCallback(chip::app::Command * commandObj, uint8_t StatusCode,
- uint64_t FabricIndex, uint8_t * DebugText)
-{
- ChipLogProgress(Zcl, "OpCertResponse:");
- ChipLogProgress(Zcl, " StatusCode: %" PRIu8 "", StatusCode);
- ChipLogProgress(Zcl, " FabricIndex: %" PRIu64 "", FabricIndex);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " DebugText: %.*s", DebugText.size(), DebugText.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("OperationalCredentialsClusterOpCertResponseCallback");
-
- Callback::Callback<OperationalCredentialsClusterOpCertResponseCallback> * cb =
- Callback::Callback<OperationalCredentialsClusterOpCertResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, StatusCode, FabricIndex, DebugText);
- return true;
-}
-
-bool emberAfOperationalCredentialsClusterSetFabricResponseCallback(chip::app::Command * commandObj, chip::FabricId FabricId)
-{
- ChipLogProgress(Zcl, "SetFabricResponse:");
- ChipLogProgress(Zcl, " FabricId: %" PRIu64 "", FabricId);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("OperationalCredentialsClusterSetFabricResponseCallback");
-
- Callback::Callback<OperationalCredentialsClusterSetFabricResponseCallback> * cb =
- Callback::Callback<OperationalCredentialsClusterSetFabricResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, FabricId);
- return true;
-}
-
-bool emberAfScenesClusterAddSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId)
-{
- ChipLogProgress(Zcl, "AddSceneResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
- ChipLogProgress(Zcl, " sceneId: %" PRIu8 "", sceneId);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ScenesClusterAddSceneResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<ScenesClusterAddSceneResponseCallback> * cb =
- Callback::Callback<ScenesClusterAddSceneResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId, sceneId);
- return true;
-}
-
-bool emberAfScenesClusterGetSceneMembershipResponseCallback(chip::app::Command * commandObj, uint8_t status, uint8_t capacity,
- uint16_t groupId, uint8_t sceneCount,
- /* TYPE WARNING: array array defaults to */ uint8_t * sceneList)
-{
- ChipLogProgress(Zcl, "GetSceneMembershipResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " capacity: %" PRIu8 "", capacity);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
- ChipLogProgress(Zcl, " sceneCount: %" PRIu8 "", sceneCount);
- ChipLogProgress(Zcl, " sceneList: %p", sceneList);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ScenesClusterGetSceneMembershipResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<ScenesClusterGetSceneMembershipResponseCallback> * cb =
- Callback::Callback<ScenesClusterGetSceneMembershipResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, capacity, groupId, sceneCount, sceneList);
- return true;
-}
-
-bool emberAfScenesClusterRemoveAllScenesResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId)
-{
- ChipLogProgress(Zcl, "RemoveAllScenesResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ScenesClusterRemoveAllScenesResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<ScenesClusterRemoveAllScenesResponseCallback> * cb =
- Callback::Callback<ScenesClusterRemoveAllScenesResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId);
- return true;
-}
-
-bool emberAfScenesClusterRemoveSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId)
-{
- ChipLogProgress(Zcl, "RemoveSceneResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
- ChipLogProgress(Zcl, " sceneId: %" PRIu8 "", sceneId);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ScenesClusterRemoveSceneResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<ScenesClusterRemoveSceneResponseCallback> * cb =
- Callback::Callback<ScenesClusterRemoveSceneResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId, sceneId);
- return true;
-}
-
-bool emberAfScenesClusterStoreSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId)
-{
- ChipLogProgress(Zcl, "StoreSceneResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
- ChipLogProgress(Zcl, " sceneId: %" PRIu8 "", sceneId);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ScenesClusterStoreSceneResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<ScenesClusterStoreSceneResponseCallback> * cb =
- Callback::Callback<ScenesClusterStoreSceneResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId, sceneId);
- return true;
-}
-
-bool emberAfScenesClusterViewSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId, uint16_t transitionTime, uint8_t * sceneName,
- /* TYPE WARNING: array array defaults to */ uint8_t * extensionFieldSets)
-{
- ChipLogProgress(Zcl, "ViewSceneResponse:");
- LogStatus(status);
- ChipLogProgress(Zcl, " groupId: %" PRIu16 "", groupId);
- ChipLogProgress(Zcl, " sceneId: %" PRIu8 "", sceneId);
- ChipLogProgress(Zcl, " transitionTime: %" PRIu16 "", transitionTime);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " sceneName: %.*s", sceneName.size(), sceneName.data());
- ChipLogProgress(Zcl, " extensionFieldSets: %p", extensionFieldSets);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("ScenesClusterViewSceneResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<ScenesClusterViewSceneResponseCallback> * cb =
- Callback::Callback<ScenesClusterViewSceneResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, groupId, sceneId, transitionTime, sceneName, extensionFieldSets);
- return true;
-}
-
-bool emberAfTvChannelClusterChangeChannelResponseCallback(chip::app::Command * commandObj,
- /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch,
- uint8_t ErrorType)
-{
- ChipLogProgress(Zcl, "ChangeChannelResponse:");
- ChipLogProgress(Zcl, " ChannelMatch: %p", ChannelMatch);
- ChipLogProgress(Zcl, " ErrorType: %" PRIu8 "", ErrorType);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("TvChannelClusterChangeChannelResponseCallback");
-
- Callback::Callback<TvChannelClusterChangeChannelResponseCallback> * cb =
- Callback::Callback<TvChannelClusterChangeChannelResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, ChannelMatch, ErrorType);
- return true;
-}
-
-bool emberAfTargetNavigatorClusterNavigateTargetResponseCallback(chip::app::Command * commandObj, uint8_t status, uint8_t * data)
-{
- ChipLogProgress(Zcl, "NavigateTargetResponse:");
- LogStatus(status);
- // Currently the generated code emits `uint8_t *` for CHAR_STRING, it needs to emits chip::ByteSpan
- // ChipLogProgress(Zcl, " data: %.*s", data.size(), data.data());
-
- GET_CLUSTER_RESPONSE_CALLBACKS("TargetNavigatorClusterNavigateTargetResponseCallback");
-
- if (status != EMBER_ZCL_STATUS_SUCCESS)
- {
- Callback::Callback<DefaultFailureCallback> * cb =
- Callback::Callback<DefaultFailureCallback>::FromCancelable(onFailureCallback);
- cb->mCall(cb->mContext, status);
- return true;
- }
-
- Callback::Callback<TargetNavigatorClusterNavigateTargetResponseCallback> * cb =
- Callback::Callback<TargetNavigatorClusterNavigateTargetResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, data);
- return true;
-}
-
-bool emberAfTestClusterClusterTestSpecificResponseCallback(chip::app::Command * commandObj, uint8_t returnValue)
-{
- ChipLogProgress(Zcl, "TestSpecificResponse:");
- ChipLogProgress(Zcl, " returnValue: %" PRIu8 "", returnValue);
-
- GET_CLUSTER_RESPONSE_CALLBACKS("TestClusterClusterTestSpecificResponseCallback");
-
- Callback::Callback<TestClusterClusterTestSpecificResponseCallback> * cb =
- Callback::Callback<TestClusterClusterTestSpecificResponseCallback>::FromCancelable(onSuccessCallback);
- cb->mCall(cb->mContext, returnValue);
- return true;
-}
-
-bool emberAfReportAttributesCallback(ClusterId clusterId, uint8_t * message, uint16_t messageLen)
-{
- ChipLogProgress(Zcl, "emberAfReportAttributeCallback:");
- ChipLogProgress(Zcl, " ClusterId: 0x%04x", clusterId);
-
- NodeId sourceId = emberAfCurrentCommand()->SourceNodeId();
- ChipLogProgress(Zcl, " Source NodeId: %" PRIu64, sourceId);
-
- EndpointId endpointId = emberAfCurrentCommand()->apsFrame->sourceEndpoint;
- ChipLogProgress(Zcl, " Source EndpointId: 0x%04x", endpointId);
-
- // TODO onFailureCallback is just here because of the CHECK_MESSAGE_LENGTH macro. It needs to be removed.
- Callback::Cancelable * onFailureCallback = nullptr;
-
- while (messageLen)
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t attributeId = chip::Encoding::LittleEndian::Read16(message); // attribId
- ChipLogProgress(Zcl, " attributeId: 0x%04x", attributeId);
-
- GET_REPORT_CALLBACK("emberAfReportAttributesCallback");
-
- CHECK_MESSAGE_LENGTH(1);
- uint8_t attributeType = chip::Encoding::Read8(message);
- ChipLogProgress(Zcl, " attributeType: 0x%02x", attributeType);
-
- switch (attributeType)
- {
- case 0x00: // nodata / No data
- case 0x0A: // data24 / 24-bit data
- case 0x0C: // data40 / 40-bit data
- case 0x0D: // data48 / 48-bit data
- case 0x0E: // data56 / 56-bit data
- case 0x1A: // map24 / 24-bit bitmap
- case 0x1C: // map40 / 40-bit bitmap
- case 0x1D: // map48 / 48-bit bitmap
- case 0x1E: // map56 / 56-bit bitmap
- case 0x22: // uint24 / Unsigned 24-bit integer
- case 0x24: // uint40 / Unsigned 40-bit integer
- case 0x25: // uint48 / Unsigned 48-bit integer
- case 0x26: // uint56 / Unsigned 56-bit integer
- case 0x2A: // int24 / Signed 24-bit integer
- case 0x2C: // int40 / Signed 40-bit integer
- case 0x2D: // int48 / Signed 48-bit integer
- case 0x2E: // int56 / Signed 56-bit integer
- case 0x38: // semi / Semi-precision
- case 0x39: // single / Single precision
- case 0x3A: // double / Double precision
- case 0x48: // array / Array
- case 0x49: // struct / Structure
- case 0x50: // set / Set
- case 0x51: // bag / Bag
- case 0xE0: // ToD / Time of day
- {
- ChipLogError(Zcl, "attributeType 0x%02x is not supported", attributeType);
- return true;
- }
-
- case 0x41: // octstr / Octet string
- case 0x42: // string / Character string
- {
- // Short Strings must contains at least one byte for the length
- CHECK_MESSAGE_LENGTH(1);
- uint8_t length = chip::Encoding::Read8(message);
- ChipLogProgress(Zcl, " length: 0x%02x", length);
-
- // When the length is set to 0xFF, it represents a non-value. In this case the data field is zero length.
- if (length == 0xFF)
- {
- length = 0;
- }
-
- CHECK_MESSAGE_LENGTH(length);
- Callback::Callback<StringAttributeCallback> * cb =
- Callback::Callback<StringAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, chip::ByteSpan(message, length));
- break;
- }
-
- case 0x43: // octstr16 / Long octet string
- case 0x44: // string16 / Long character string
- {
- // Long Strings must contains at least two bytes for the length
- CHECK_MESSAGE_LENGTH(2);
- uint16_t length = chip::Encoding::LittleEndian::Read16(message);
- ChipLogProgress(Zcl, " length: 0x%02x", length);
-
- // When the length is set to 0xFFFF, it represents a non-value. In this case the data field is zero length.
- if (length == 0xFFFF)
- {
- length = 0;
- }
-
- CHECK_MESSAGE_LENGTH(length);
- Callback::Callback<StringAttributeCallback> * cb =
- Callback::Callback<StringAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, chip::ByteSpan(message, length));
- break;
- }
-
- case 0x08: // data8 / 8-bit data
- case 0x18: // map8 / 8-bit bitmap
- case 0x20: // uint8 / Unsigned 8-bit integer
- case 0x30: // enum8 / 8-bit enumeration
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t value = chip::Encoding::Read8(message);
- ChipLogProgress(Zcl, " value: 0x%02x", value);
-
- Callback::Callback<Int8uAttributeCallback> * cb =
- Callback::Callback<Int8uAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x09: // data16 / 16-bit data
- case 0x19: // map16 / 16-bit bitmap
- case 0x21: // uint16 / Unsigned 16-bit integer
- case 0x31: // enum16 / 16-bit enumeration
- case 0xE8: // clusterId / Cluster ID
- case 0xE9: // attribId / Attribute ID
- case 0xEA: // bacOID / BACnet OID
- case 0xF1: // key128 / 128-bit security key
- case 0xFF: // unk / Unknown
- {
- CHECK_MESSAGE_LENGTH(2);
- uint16_t value = chip::Encoding::LittleEndian::Read16(message);
- ChipLogProgress(Zcl, " value: 0x%04x", value);
-
- Callback::Callback<Int16uAttributeCallback> * cb =
- Callback::Callback<Int16uAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x0B: // data32 / 32-bit data
- case 0x1B: // map32 / 32-bit bitmap
- case 0x23: // uint32 / Unsigned 32-bit integer
- case 0xE1: // date / Date
- case 0xE2: // UTC / UTCTime
- {
- CHECK_MESSAGE_LENGTH(4);
- uint32_t value = chip::Encoding::LittleEndian::Read32(message);
- ChipLogProgress(Zcl, " value: 0x%08x", value);
-
- Callback::Callback<Int32uAttributeCallback> * cb =
- Callback::Callback<Int32uAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x0F: // data64 / 64-bit data
- case 0x1F: // map64 / 64-bit bitmap
- case 0x27: // uint64 / Unsigned 64-bit integer
- case 0xF0: // EUI64 / IEEE address
- {
- CHECK_MESSAGE_LENGTH(8);
- uint64_t value = chip::Encoding::LittleEndian::Read64(message);
- ChipLogProgress(Zcl, " value: 0x%16x", value);
-
- Callback::Callback<Int64uAttributeCallback> * cb =
- Callback::Callback<Int64uAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x10: // bool / Boolean
- {
- CHECK_MESSAGE_LENGTH(1);
- uint8_t value = chip::Encoding::Read8(message);
- ChipLogProgress(Zcl, " value: %d", value);
-
- Callback::Callback<BooleanAttributeCallback> * cb =
- Callback::Callback<BooleanAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x28: // int8 / Signed 8-bit integer
- {
- CHECK_MESSAGE_LENGTH(1);
- int8_t value = chip::CastToSigned(chip::Encoding::Read8(message));
- ChipLogProgress(Zcl, " value: %" PRId8, value);
-
- Callback::Callback<Int8sAttributeCallback> * cb =
- Callback::Callback<Int8sAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x29: // int16 / Signed 16-bit integer
- {
- CHECK_MESSAGE_LENGTH(2);
- int16_t value = chip::CastToSigned(chip::Encoding::LittleEndian::Read16(message));
- ChipLogProgress(Zcl, " value: %" PRId16, value);
-
- Callback::Callback<Int16sAttributeCallback> * cb =
- Callback::Callback<Int16sAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x2B: // int32 / Signed 32-bit integer
- {
- CHECK_MESSAGE_LENGTH(4);
- int32_t value = chip::CastToSigned(chip::Encoding::LittleEndian::Read32(message));
- ChipLogProgress(Zcl, " value: %" PRId32, value);
-
- Callback::Callback<Int32sAttributeCallback> * cb =
- Callback::Callback<Int32sAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
-
- case 0x2F: // int64 / Signed 64-bit integer
- {
- CHECK_MESSAGE_LENGTH(8);
- int64_t value = chip::CastToSigned(chip::Encoding::LittleEndian::Read64(message));
- ChipLogProgress(Zcl, " value: %" PRId64, value);
-
- Callback::Callback<Int64sAttributeCallback> * cb =
- Callback::Callback<Int64sAttributeCallback>::FromCancelable(onReportCallback);
- cb->mCall(cb->mContext, value);
- break;
- }
- }
- }
-
- return true;
-}
diff --git a/examples/chip-tool/gen/CHIPClientCallbacks.h b/examples/chip-tool/gen/CHIPClientCallbacks.h
deleted file mode 100644
index 4208858..0000000
--- a/examples/chip-tool/gen/CHIPClientCallbacks.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-#pragma once
-
-#include <app/Command.h>
-#include <app/util/af-enums.h>
-#include <gen/af-structs.h>
-#include <inttypes.h>
-#include <lib/support/Span.h>
-
-// Note: The IMDefaultResponseCallback is a bridge to the old CallbackMgr before IM is landed, so it still accepts EmberAfStatus
-// instead of IM status code.
-// #6308 should handle IM error code on the application side, either modify this function or remove this.
-bool IMDefaultResponseCallback(const chip::app::Command * commandObj, EmberAfStatus status);
-
-// Global Response Callbacks
-typedef void (*DefaultSuccessCallback)(void * context);
-typedef void (*DefaultFailureCallback)(void * context, uint8_t status);
-typedef void (*BooleanAttributeCallback)(void * context, bool value);
-typedef void (*Int8uAttributeCallback)(void * context, uint8_t value);
-typedef void (*Int8sAttributeCallback)(void * context, int8_t value);
-typedef void (*Int16uAttributeCallback)(void * context, uint16_t value);
-typedef void (*Int16sAttributeCallback)(void * context, int16_t value);
-typedef void (*Int32uAttributeCallback)(void * context, uint32_t value);
-typedef void (*Int32sAttributeCallback)(void * context, int32_t value);
-typedef void (*Int64uAttributeCallback)(void * context, uint64_t value);
-typedef void (*Int64sAttributeCallback)(void * context, int64_t value);
-typedef void (*StringAttributeCallback)(void * context, const chip::ByteSpan value);
-typedef void (*ReadReportingConfigurationReportedCallback)(void * context, uint16_t minInterval, uint16_t maxInterval);
-typedef void (*ReadReportingConfigurationReceivedCallback)(void * context, uint16_t timeout);
-
-// Cluster Specific Response Callbacks
-typedef void (*AccountLoginClusterGetSetupPINResponseCallback)(void * context, uint8_t * setupPIN);
-typedef void (*ApplicationLauncherClusterLaunchAppResponseCallback)(void * context, uint8_t * data);
-typedef void (*ContentLaunchClusterLaunchContentResponseCallback)(void * context, uint8_t * data, uint8_t contentLaunchStatus);
-typedef void (*ContentLaunchClusterLaunchURLResponseCallback)(void * context, uint8_t * data, uint8_t contentLaunchStatus);
-typedef void (*DoorLockClusterClearAllPinsResponseCallback)(void * context);
-typedef void (*DoorLockClusterClearAllRfidsResponseCallback)(void * context);
-typedef void (*DoorLockClusterClearHolidayScheduleResponseCallback)(void * context);
-typedef void (*DoorLockClusterClearPinResponseCallback)(void * context);
-typedef void (*DoorLockClusterClearRfidResponseCallback)(void * context);
-typedef void (*DoorLockClusterClearWeekdayScheduleResponseCallback)(void * context);
-typedef void (*DoorLockClusterClearYeardayScheduleResponseCallback)(void * context);
-typedef void (*DoorLockClusterGetHolidayScheduleResponseCallback)(void * context, uint8_t scheduleId, uint32_t localStartTime,
- uint32_t localEndTime, uint8_t operatingModeDuringHoliday);
-typedef void (*DoorLockClusterGetLogRecordResponseCallback)(void * context, uint16_t logEntryId, uint32_t timestamp,
- uint8_t eventType, uint8_t source, uint8_t eventIdOrAlarmCode,
- uint16_t userId, uint8_t * pin);
-typedef void (*DoorLockClusterGetPinResponseCallback)(void * context, uint16_t userId, uint8_t userStatus, uint8_t userType,
- uint8_t * pin);
-typedef void (*DoorLockClusterGetRfidResponseCallback)(void * context, uint16_t userId, uint8_t userStatus, uint8_t userType,
- uint8_t * rfid);
-typedef void (*DoorLockClusterGetUserTypeResponseCallback)(void * context, uint16_t userId, uint8_t userType);
-typedef void (*DoorLockClusterGetWeekdayScheduleResponseCallback)(void * context, uint8_t scheduleId, uint16_t userId,
- uint8_t daysMask, uint8_t startHour, uint8_t startMinute,
- uint8_t endHour, uint8_t endMinute);
-typedef void (*DoorLockClusterGetYeardayScheduleResponseCallback)(void * context, uint8_t scheduleId, uint16_t userId,
- uint32_t localStartTime, uint32_t localEndTime);
-typedef void (*DoorLockClusterLockDoorResponseCallback)(void * context);
-typedef void (*DoorLockClusterSetHolidayScheduleResponseCallback)(void * context);
-typedef void (*DoorLockClusterSetPinResponseCallback)(void * context);
-typedef void (*DoorLockClusterSetRfidResponseCallback)(void * context);
-typedef void (*DoorLockClusterSetUserTypeResponseCallback)(void * context);
-typedef void (*DoorLockClusterSetWeekdayScheduleResponseCallback)(void * context);
-typedef void (*DoorLockClusterSetYeardayScheduleResponseCallback)(void * context);
-typedef void (*DoorLockClusterUnlockDoorResponseCallback)(void * context);
-typedef void (*DoorLockClusterUnlockWithTimeoutResponseCallback)(void * context);
-typedef void (*GeneralCommissioningClusterArmFailSafeResponseCallback)(void * context, uint8_t errorCode, uint8_t * debugText);
-typedef void (*GeneralCommissioningClusterCommissioningCompleteResponseCallback)(void * context, uint8_t errorCode,
- uint8_t * debugText);
-typedef void (*GeneralCommissioningClusterSetRegulatoryConfigResponseCallback)(void * context, uint8_t errorCode,
- uint8_t * debugText);
-typedef void (*GroupsClusterAddGroupResponseCallback)(void * context, uint16_t groupId);
-typedef void (*GroupsClusterGetGroupMembershipResponseCallback)(void * context, uint8_t capacity, uint8_t groupCount,
- /* TYPE WARNING: array array defaults to */ uint8_t * groupList);
-typedef void (*GroupsClusterRemoveGroupResponseCallback)(void * context, uint16_t groupId);
-typedef void (*GroupsClusterViewGroupResponseCallback)(void * context, uint16_t groupId, uint8_t * groupName);
-typedef void (*IdentifyClusterIdentifyQueryResponseCallback)(void * context, uint16_t timeout);
-typedef void (*KeypadInputClusterSendKeyResponseCallback)(void * context);
-typedef void (*MediaPlaybackClusterMediaFastForwardResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaNextResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaPauseResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaPlayResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaPreviousResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaRewindResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaSkipBackwardResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaSkipForwardResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaSkipSeekResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaStartOverResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*MediaPlaybackClusterMediaStopResponseCallback)(void * context, uint8_t mediaPlaybackStatus);
-typedef void (*NetworkCommissioningClusterAddThreadNetworkResponseCallback)(void * context, uint8_t errorCode, uint8_t * debugText);
-typedef void (*NetworkCommissioningClusterAddWiFiNetworkResponseCallback)(void * context, uint8_t errorCode, uint8_t * debugText);
-typedef void (*NetworkCommissioningClusterDisableNetworkResponseCallback)(void * context, uint8_t errorCode, uint8_t * debugText);
-typedef void (*NetworkCommissioningClusterEnableNetworkResponseCallback)(void * context, uint8_t errorCode, uint8_t * debugText);
-typedef void (*NetworkCommissioningClusterRemoveNetworkResponseCallback)(void * context, uint8_t errorCode, uint8_t * debugText);
-typedef void (*NetworkCommissioningClusterScanNetworksResponseCallback)(
- void * context, uint8_t errorCode, uint8_t * debugText, /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults,
- /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults);
-typedef void (*NetworkCommissioningClusterUpdateThreadNetworkResponseCallback)(void * context, uint8_t errorCode,
- uint8_t * debugText);
-typedef void (*NetworkCommissioningClusterUpdateWiFiNetworkResponseCallback)(void * context, uint8_t errorCode,
- uint8_t * debugText);
-typedef void (*OperationalCredentialsClusterOpCSRResponseCallback)(void * context, chip::ByteSpan CSR, chip::ByteSpan CSRNonce,
- chip::ByteSpan VendorReserved1, chip::ByteSpan VendorReserved2,
- chip::ByteSpan VendorReserved3, chip::ByteSpan Signature);
-typedef void (*OperationalCredentialsClusterOpCertResponseCallback)(void * context, uint8_t StatusCode, uint64_t FabricIndex,
- uint8_t * DebugText);
-typedef void (*OperationalCredentialsClusterSetFabricResponseCallback)(void * context, chip::FabricId FabricId);
-typedef void (*ScenesClusterAddSceneResponseCallback)(void * context, uint16_t groupId, uint8_t sceneId);
-typedef void (*ScenesClusterGetSceneMembershipResponseCallback)(void * context, uint8_t capacity, uint16_t groupId,
- uint8_t sceneCount,
- /* TYPE WARNING: array array defaults to */ uint8_t * sceneList);
-typedef void (*ScenesClusterRemoveAllScenesResponseCallback)(void * context, uint16_t groupId);
-typedef void (*ScenesClusterRemoveSceneResponseCallback)(void * context, uint16_t groupId, uint8_t sceneId);
-typedef void (*ScenesClusterStoreSceneResponseCallback)(void * context, uint16_t groupId, uint8_t sceneId);
-typedef void (*ScenesClusterViewSceneResponseCallback)(void * context, uint16_t groupId, uint8_t sceneId, uint16_t transitionTime,
- uint8_t * sceneName,
- /* TYPE WARNING: array array defaults to */ uint8_t * extensionFieldSets);
-typedef void (*TvChannelClusterChangeChannelResponseCallback)(void * context,
- /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch,
- uint8_t ErrorType);
-typedef void (*TargetNavigatorClusterNavigateTargetResponseCallback)(void * context, uint8_t * data);
-typedef void (*TestClusterClusterTestSpecificResponseCallback)(void * context, uint8_t returnValue);
-typedef void (*ThermostatClusterCurrentWeeklyScheduleCallback)(void * context, uint8_t numberOfTransitionsForSequence,
- uint8_t dayOfWeekForSequence, uint8_t modeForSequence,
- /* TYPE WARNING: array array defaults to */ uint8_t * payload);
-typedef void (*ThermostatClusterRelayStatusLogCallback)(void * context, uint16_t timeOfDay, uint16_t relayStatus,
- int16_t localTemperature, uint8_t humidityInPercentage, int16_t setpoint,
- uint16_t unreadEntries);
-
-// List specific responses
-typedef void (*ApplicationLauncherApplicationLauncherListListAttributeCallback)(void * context, uint16_t count, uint16_t * entries);
-typedef void (*AudioOutputAudioOutputListListAttributeCallback)(void * context, uint16_t count, _AudioOutputInfo * entries);
-typedef void (*ContentLaunchAcceptsHeaderListListAttributeCallback)(void * context, uint16_t count, chip::ByteSpan * entries);
-typedef void (*ContentLaunchSupportedStreamingTypesListAttributeCallback)(void * context, uint16_t count, uint8_t * entries);
-typedef void (*DescriptorDeviceListListAttributeCallback)(void * context, uint16_t count, _DeviceType * entries);
-typedef void (*DescriptorServerListListAttributeCallback)(void * context, uint16_t count, chip::ClusterId * entries);
-typedef void (*DescriptorClientListListAttributeCallback)(void * context, uint16_t count, chip::ClusterId * entries);
-typedef void (*DescriptorPartsListListAttributeCallback)(void * context, uint16_t count, chip::EndpointId * entries);
-typedef void (*GeneralDiagnosticsNetworkInterfacesListAttributeCallback)(void * context, uint16_t count,
- _NetworkInterfaceType * entries);
-typedef void (*GroupKeyManagementGroupsListAttributeCallback)(void * context, uint16_t count, _GroupState * entries);
-typedef void (*GroupKeyManagementGroupKeysListAttributeCallback)(void * context, uint16_t count, _GroupKey * entries);
-typedef void (*MediaInputMediaInputListListAttributeCallback)(void * context, uint16_t count, _MediaInputInfo * entries);
-typedef void (*OperationalCredentialsFabricsListListAttributeCallback)(void * context, uint16_t count, _FabricDescriptor * entries);
-typedef void (*TvChannelTvChannelListListAttributeCallback)(void * context, uint16_t count, _TvChannelInfo * entries);
-typedef void (*TargetNavigatorTargetNavigatorListListAttributeCallback)(void * context, uint16_t count,
- _NavigateTargetTargetInfo * entries);
-typedef void (*TestClusterListInt8uListAttributeCallback)(void * context, uint16_t count, uint8_t * entries);
-typedef void (*TestClusterListOctetStringListAttributeCallback)(void * context, uint16_t count, chip::ByteSpan * entries);
-typedef void (*TestClusterListStructOctetStringListAttributeCallback)(void * context, uint16_t count,
- _TestListStructOctet * entries);
diff --git a/examples/chip-tool/gen/CHIPClusters.cpp b/examples/chip-tool/gen/CHIPClusters.cpp
deleted file mode 100644
index 9a542ce..0000000
--- a/examples/chip-tool/gen/CHIPClusters.cpp
+++ /dev/null
@@ -1,5872 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-#include "CHIPClusters.h"
-
-#include <cstdint>
-
-#include <app/chip-zcl-zpro-codec-api.h>
-#include <lib/support/Span.h>
-
-namespace chip {
-namespace Controller {
-
-// TODO(#4502): onCompletion is not used by IM for now.
-// TODO(#4503): length should be passed to commands when byte string is in argument list.
-// TODO(#4503): Commands should take group id as an argument.
-
-// AccountLogin Cluster Commands
-CHIP_ERROR AccountLoginCluster::GetSetupPIN(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan tempAccountIdentifier)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetSetupPINCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // tempAccountIdentifier: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR AccountLoginCluster::Login(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan tempAccountIdentifier, chip::ByteSpan setupPIN)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kLoginCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // tempAccountIdentifier: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), tempAccountIdentifier));
- // setupPIN: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), setupPIN));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// AccountLogin Cluster Attributes
-CHIP_ERROR AccountLoginCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeAccountLoginClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR AccountLoginCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeAccountLoginClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// ApplicationBasic Cluster Commands
-// ApplicationBasic Cluster Attributes
-CHIP_ERROR ApplicationBasicCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeVendorName(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadVendorNameAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeVendorId(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadVendorIdAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeApplicationName(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadApplicationNameAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeProductId(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadProductIdAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeApplicationId(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadApplicationIdAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeCatalogVendorId(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadCatalogVendorIdAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeApplicationSatus(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadApplicationSatusAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationBasicCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationBasicClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// ApplicationLauncher Cluster Commands
-CHIP_ERROR ApplicationLauncherCluster::LaunchApp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan data, uint16_t catalogVendorId, chip::ByteSpan applicationId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kLaunchAppCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // data: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), data));
- // catalogVendorId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), catalogVendorId));
- // applicationId: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), applicationId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// ApplicationLauncher Cluster Attributes
-CHIP_ERROR ApplicationLauncherCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationLauncherClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR ApplicationLauncherCluster::ReadAttributeApplicationLauncherList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeApplicationLauncherClusterReadApplicationLauncherListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ApplicationLauncherCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeApplicationLauncherClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// AudioOutput Cluster Commands
-CHIP_ERROR AudioOutputCluster::RenameOutput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t index, chip::ByteSpan name)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRenameOutputCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // index: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), index));
- // name: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), name));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR AudioOutputCluster::SelectOutput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t index)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSelectOutputCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // index: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), index));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// AudioOutput Cluster Attributes
-CHIP_ERROR AudioOutputCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeAudioOutputClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR AudioOutputCluster::ReadAttributeAudioOutputList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeAudioOutputClusterReadAudioOutputListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR AudioOutputCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeAudioOutputClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// BarrierControl Cluster Commands
-CHIP_ERROR BarrierControlCluster::BarrierControlGoToPercent(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t percentOpen)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kBarrierControlGoToPercentCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // percentOpen: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), percentOpen));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR BarrierControlCluster::BarrierControlStop(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kBarrierControlStopCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// BarrierControl Cluster Attributes
-CHIP_ERROR BarrierControlCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBarrierControlClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR BarrierControlCluster::ReadAttributeBarrierMovingState(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBarrierControlClusterReadBarrierMovingStateAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BarrierControlCluster::ReadAttributeBarrierSafetyStatus(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBarrierControlClusterReadBarrierSafetyStatusAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BarrierControlCluster::ReadAttributeBarrierCapabilities(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBarrierControlClusterReadBarrierCapabilitiesAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BarrierControlCluster::ReadAttributeBarrierPosition(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBarrierControlClusterReadBarrierPositionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BarrierControlCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBarrierControlClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Basic Cluster Commands
-CHIP_ERROR BasicCluster::MfgSpecificPing(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMfgSpecificPingCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// Basic Cluster Attributes
-CHIP_ERROR BasicCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR BasicCluster::ReadAttributeInteractionModelVersion(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadInteractionModelVersionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadVendorNameAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeVendorID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadVendorIDAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeProductName(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadProductNameAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeProductID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadProductIDAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadUserLabelAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterWriteUserLabelAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadLocationAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::WriteAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterWriteLocationAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadHardwareVersionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadHardwareVersionStringAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeSoftwareVersion(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadSoftwareVersionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeSoftwareVersionString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadSoftwareVersionStringAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeManufacturingDate(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadManufacturingDateAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributePartNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadPartNumberAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeProductURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadProductURLAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeProductLabel(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadProductLabelAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeSerialNumber(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadSerialNumberAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeLocalConfigDisabled(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadLocalConfigDisabledAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::WriteAttributeLocalConfigDisabled(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterWriteLocalConfigDisabledAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR BasicCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBasicClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Binding Cluster Commands
-CHIP_ERROR BindingCluster::Bind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::NodeId nodeId, chip::GroupId groupId, chip::EndpointId endpointId, chip::ClusterId clusterId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kBindCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // nodeId: nodeId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), nodeId));
- // groupId: groupId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // endpointId: endpointId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), endpointId));
- // clusterId: clusterId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), clusterId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR BindingCluster::Unbind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::NodeId nodeId, chip::GroupId groupId, chip::EndpointId endpointId,
- chip::ClusterId clusterId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kUnbindCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // nodeId: nodeId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), nodeId));
- // groupId: groupId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // endpointId: endpointId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), endpointId));
- // clusterId: clusterId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), clusterId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// Binding Cluster Attributes
-CHIP_ERROR BindingCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBindingClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR BindingCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeBindingClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// ColorControl Cluster Commands
-CHIP_ERROR ColorControlCluster::MoveColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- int16_t rateX, int16_t rateY, uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveColorCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // rateX: int16s
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), rateX));
- // rateY: int16s
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), rateY));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveColorTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t moveMode, uint16_t rate,
- uint16_t colorTemperatureMinimum, uint16_t colorTemperatureMaximum,
- uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveColorTemperatureCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // moveMode: hueMoveMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), moveMode));
- // rate: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), rate));
- // colorTemperatureMinimum: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), colorTemperatureMinimum));
- // colorTemperatureMaximum: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), colorTemperatureMaximum));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t moveMode, uint8_t rate, uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveHueCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // moveMode: hueMoveMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), moveMode));
- // rate: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), rate));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t moveMode, uint8_t rate, uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveSaturationCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // moveMode: saturationMoveMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), moveMode));
- // rate: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), rate));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveToColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t colorX, uint16_t colorY, uint16_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveToColorCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // colorX: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), colorX));
- // colorY: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), colorY));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveToColorTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t colorTemperature,
- uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveToColorTemperatureCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // colorTemperature: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), colorTemperature));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveToHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t hue, uint8_t direction, uint16_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveToHueCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // hue: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), hue));
- // direction: hueDirection
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), direction));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveToHueAndSaturation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t hue, uint8_t saturation,
- uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveToHueAndSaturationCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // hue: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), hue));
- // saturation: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), saturation));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::MoveToSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t saturation, uint16_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveToSaturationCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // saturation: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), saturation));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::StepColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- int16_t stepX, int16_t stepY, uint16_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStepColorCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // stepX: int16s
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepX));
- // stepY: int16s
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepY));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::StepColorTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t stepMode, uint16_t stepSize,
- uint16_t transitionTime, uint16_t colorTemperatureMinimum,
- uint16_t colorTemperatureMaximum, uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStepColorTemperatureCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // stepMode: hueStepMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepMode));
- // stepSize: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepSize));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // colorTemperatureMinimum: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), colorTemperatureMinimum));
- // colorTemperatureMaximum: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), colorTemperatureMaximum));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::StepHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t stepMode, uint8_t stepSize, uint8_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStepHueCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // stepMode: hueStepMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepMode));
- // stepSize: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepSize));
- // transitionTime: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::StepSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t stepMode, uint8_t stepSize, uint8_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStepSaturationCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // stepMode: saturationStepMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepMode));
- // stepSize: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepSize));
- // transitionTime: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ColorControlCluster::StopMoveStep(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t optionsMask, uint8_t optionsOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStopMoveStepCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // optionsMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsMask));
- // optionsOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionsOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// ColorControl Cluster Attributes
-CHIP_ERROR ColorControlCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR ColorControlCluster::ReadAttributeCurrentHue(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadCurrentHueAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ConfigureAttributeCurrentHue(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint8_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterConfigureCurrentHueAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReportAttributeCurrentHue(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0000, onReportCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeCurrentSaturation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadCurrentSaturationAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ConfigureAttributeCurrentSaturation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint8_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterConfigureCurrentSaturationAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReportAttributeCurrentSaturation(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0001, onReportCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeRemainingTime(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadRemainingTimeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeCurrentX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadCurrentXAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ConfigureAttributeCurrentX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint16_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterConfigureCurrentXAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReportAttributeCurrentX(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0003, onReportCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeCurrentY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadCurrentYAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ConfigureAttributeCurrentY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint16_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterConfigureCurrentYAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReportAttributeCurrentY(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0004, onReportCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeDriftCompensation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadDriftCompensationAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeCompensationText(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadCompensationTextAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorTemperatureAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ConfigureAttributeColorTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint16_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterConfigureColorTemperatureAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReportAttributeColorTemperature(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0007, onReportCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorModeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorControlOptions(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorControlOptionsAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorControlOptions(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterWriteColorControlOptionsAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeNumberOfPrimaries(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadNumberOfPrimariesAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary1X(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary1XAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary1Y(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary1YAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary1Intensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary1IntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary2X(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary2XAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary2Y(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary2YAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary2Intensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary2IntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary3X(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary3XAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary3Y(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary3YAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary3Intensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary3IntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary4X(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary4XAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary4Y(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary4YAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary4Intensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary4IntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary5X(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary5XAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary5Y(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary5YAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary5Intensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary5IntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary6X(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary6XAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary6Y(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary6YAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributePrimary6Intensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadPrimary6IntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeWhitePointX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadWhitePointXAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeWhitePointX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteWhitePointXAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeWhitePointY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadWhitePointYAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeWhitePointY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteWhitePointYAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointRX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointRXAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointRX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteColorPointRXAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointRY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointRYAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointRY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteColorPointRYAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointRIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointRIntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointRIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterWriteColorPointRIntensityAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointGX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointGXAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointGX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteColorPointGXAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointGY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointGYAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointGY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteColorPointGYAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointGIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointGIntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointGIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterWriteColorPointGIntensityAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointBX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointBXAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointBX(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteColorPointBXAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointBY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointBYAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointBY(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterWriteColorPointBYAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorPointBIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorPointBIntensityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeColorPointBIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterWriteColorPointBIntensityAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeEnhancedCurrentHue(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadEnhancedCurrentHueAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeEnhancedColorMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadEnhancedColorModeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorLoopActive(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorLoopActiveAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorLoopDirection(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorLoopDirectionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorLoopTime(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorLoopTimeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorCapabilities(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorCapabilitiesAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorTempPhysicalMin(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorTempPhysicalMinAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeColorTempPhysicalMax(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadColorTempPhysicalMaxAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeCoupleColorTempToLevelMinMireds(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterReadCoupleColorTempToLevelMinMiredsAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeStartUpColorTemperatureMireds(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterReadStartUpColorTemperatureMiredsAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::WriteAttributeStartUpColorTemperatureMireds(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback,
- uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeColorControlClusterWriteStartUpColorTemperatureMiredsAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ColorControlCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeColorControlClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// ContentLaunch Cluster Commands
-CHIP_ERROR ContentLaunchCluster::LaunchContent(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t autoPlay, chip::ByteSpan data)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kLaunchContentCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // autoPlay: boolean
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), autoPlay));
- // data: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), data));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ContentLaunchCluster::LaunchURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan contentURL, chip::ByteSpan displayString)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kLaunchURLCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // contentURL: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), contentURL));
- // displayString: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), displayString));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// ContentLaunch Cluster Attributes
-CHIP_ERROR ContentLaunchCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeContentLaunchClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR ContentLaunchCluster::ReadAttributeAcceptsHeaderList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeContentLaunchClusterReadAcceptsHeaderListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ContentLaunchCluster::ReadAttributeSupportedStreamingTypes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeContentLaunchClusterReadSupportedStreamingTypesAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ContentLaunchCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeContentLaunchClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Descriptor Cluster Commands
-// Descriptor Cluster Attributes
-CHIP_ERROR DescriptorCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDescriptorClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR DescriptorCluster::ReadAttributeDeviceList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDescriptorClusterReadDeviceListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DescriptorCluster::ReadAttributeServerList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDescriptorClusterReadServerListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DescriptorCluster::ReadAttributeClientList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDescriptorClusterReadClientListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DescriptorCluster::ReadAttributePartsList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDescriptorClusterReadPartsListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DescriptorCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDescriptorClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// DoorLock Cluster Commands
-CHIP_ERROR DoorLockCluster::ClearAllPins(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearAllPinsCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::ClearAllRfids(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearAllRfidsCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::ClearHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearHolidayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::ClearPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearPinCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::ClearRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearRfidCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::ClearWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearWeekdayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::ClearYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearYeardayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::GetHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetHolidayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::GetLogRecord(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t logIndex)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetLogRecordCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // logIndex: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), logIndex));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::GetPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetPinCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::GetRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetRfidCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::GetUserType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetUserTypeCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::GetWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetWeekdayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::GetYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetYeardayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::LockDoor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan pin)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kLockDoorCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // pin: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), pin));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::SetHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint32_t localStartTime, uint32_t localEndTime,
- uint8_t operatingModeDuringHoliday)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetHolidayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
- // localStartTime: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), localStartTime));
- // localEndTime: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), localEndTime));
- // operatingModeDuringHoliday: enum8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), operatingModeDuringHoliday));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::SetPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId, uint8_t userStatus, uint8_t userType, chip::ByteSpan pin)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetPinCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
- // userStatus: doorLockUserStatus
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userStatus));
- // userType: doorLockUserType
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userType));
- // pin: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), pin));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::SetRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId, uint8_t userStatus, uint8_t userType, chip::ByteSpan id)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetRfidCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
- // userStatus: doorLockUserStatus
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userStatus));
- // userType: doorLockUserType
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userType));
- // id: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), id));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::SetUserType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t userId, uint8_t userType)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetUserTypeCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
- // userType: doorLockUserType
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userType));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::SetWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId, uint8_t daysMask, uint8_t startHour,
- uint8_t startMinute, uint8_t endHour, uint8_t endMinute)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetWeekdayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
- // daysMask: doorLockDayOfWeek
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), daysMask));
- // startHour: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), startHour));
- // startMinute: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), startMinute));
- // endHour: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), endHour));
- // endMinute: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), endMinute));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::SetYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId, uint32_t localStartTime, uint32_t localEndTime)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetYeardayScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // scheduleId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), scheduleId));
- // userId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), userId));
- // localStartTime: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), localStartTime));
- // localEndTime: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), localEndTime));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::UnlockDoor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan pin)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kUnlockDoorCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // pin: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), pin));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR DoorLockCluster::UnlockWithTimeout(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t timeoutInSeconds, chip::ByteSpan pin)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kUnlockWithTimeoutCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // timeoutInSeconds: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutInSeconds));
- // pin: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), pin));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// DoorLock Cluster Attributes
-CHIP_ERROR DoorLockCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDoorLockClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR DoorLockCluster::ReadAttributeLockState(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDoorLockClusterReadLockStateAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DoorLockCluster::ConfigureAttributeLockState(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeDoorLockClusterConfigureLockStateAttribute(seqNum, mEndpoint, minInterval, maxInterval);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DoorLockCluster::ReportAttributeLockState(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0000, onReportCallback);
-}
-
-CHIP_ERROR DoorLockCluster::ReadAttributeLockType(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDoorLockClusterReadLockTypeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DoorLockCluster::ReadAttributeActuatorEnabled(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDoorLockClusterReadActuatorEnabledAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR DoorLockCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeDoorLockClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// EthernetNetworkDiagnostics Cluster Commands
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::ResetCounts(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kResetCountsCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// EthernetNetworkDiagnostics Cluster Attributes
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeEthernetNetworkDiagnosticsClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::ReadAttributePacketRxCount(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeEthernetNetworkDiagnosticsClusterReadPacketRxCountAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::ReadAttributePacketTxCount(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeEthernetNetworkDiagnosticsClusterReadPacketTxCountAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::ReadAttributeTxErrCount(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeEthernetNetworkDiagnosticsClusterReadTxErrCountAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::ReadAttributeCollisionCount(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeEthernetNetworkDiagnosticsClusterReadCollisionCountAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::ReadAttributeOverrunCount(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeEthernetNetworkDiagnosticsClusterReadOverrunCountAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR EthernetNetworkDiagnosticsCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeEthernetNetworkDiagnosticsClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// GeneralCommissioning Cluster Commands
-CHIP_ERROR GeneralCommissioningCluster::ArmFailSafe(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t expiryLengthSeconds,
- uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kArmFailSafeCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // expiryLengthSeconds: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), expiryLengthSeconds));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR GeneralCommissioningCluster::CommissioningComplete(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kCommissioningCompleteCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR GeneralCommissioningCluster::SetRegulatoryConfig(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t location,
- chip::ByteSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetRegulatoryConfigCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // location: regulatoryLocationType
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), location));
- // countryCode: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), countryCode));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// GeneralCommissioning Cluster Attributes
-CHIP_ERROR GeneralCommissioningCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralCommissioningClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR GeneralCommissioningCluster::ReadAttributeFabricId(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralCommissioningClusterReadFabricIdAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GeneralCommissioningCluster::ReadAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralCommissioningClusterReadBreadcrumbAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GeneralCommissioningCluster::WriteAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint64_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralCommissioningClusterWriteBreadcrumbAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GeneralCommissioningCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralCommissioningClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// GeneralDiagnostics Cluster Commands
-// GeneralDiagnostics Cluster Attributes
-CHIP_ERROR GeneralDiagnosticsCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralDiagnosticsClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR GeneralDiagnosticsCluster::ReadAttributeNetworkInterfaces(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralDiagnosticsClusterReadNetworkInterfacesAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GeneralDiagnosticsCluster::ReadAttributeRebootCount(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralDiagnosticsClusterReadRebootCountAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GeneralDiagnosticsCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGeneralDiagnosticsClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// GroupKeyManagement Cluster Commands
-// GroupKeyManagement Cluster Attributes
-CHIP_ERROR GroupKeyManagementCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGroupKeyManagementClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR GroupKeyManagementCluster::ReadAttributeGroups(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGroupKeyManagementClusterReadGroupsAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GroupKeyManagementCluster::ReadAttributeGroupKeys(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGroupKeyManagementClusterReadGroupKeysAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GroupKeyManagementCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGroupKeyManagementClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Groups Cluster Commands
-CHIP_ERROR GroupsCluster::AddGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, chip::ByteSpan groupName)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kAddGroupCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // groupName: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupName));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR GroupsCluster::AddGroupIfIdentifying(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, chip::ByteSpan groupName)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kAddGroupIfIdentifyingCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // groupName: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupName));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR GroupsCluster::GetGroupMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t groupCount, uint16_t groupList)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetGroupMembershipCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupCount: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupCount));
- // groupList: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupList));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR GroupsCluster::RemoveAllGroups(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRemoveAllGroupsCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR GroupsCluster::RemoveGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRemoveGroupCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR GroupsCluster::ViewGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kViewGroupCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// Groups Cluster Attributes
-CHIP_ERROR GroupsCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGroupsClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR GroupsCluster::ReadAttributeNameSupport(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGroupsClusterReadNameSupportAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR GroupsCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeGroupsClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Identify Cluster Commands
-CHIP_ERROR IdentifyCluster::Identify(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t identifyTime)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kIdentifyCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // identifyTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), identifyTime));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR IdentifyCluster::IdentifyQuery(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kIdentifyQueryCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// Identify Cluster Attributes
-CHIP_ERROR IdentifyCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeIdentifyClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR IdentifyCluster::ReadAttributeIdentifyTime(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeIdentifyClusterReadIdentifyTimeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR IdentifyCluster::WriteAttributeIdentifyTime(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeIdentifyClusterWriteIdentifyTimeAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR IdentifyCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeIdentifyClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// KeypadInput Cluster Commands
-CHIP_ERROR KeypadInputCluster::SendKey(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t keyCode)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSendKeyCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // keyCode: keypadInputCecKeyCode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), keyCode));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// KeypadInput Cluster Attributes
-CHIP_ERROR KeypadInputCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeKeypadInputClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR KeypadInputCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeKeypadInputClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// LevelControl Cluster Commands
-CHIP_ERROR LevelControlCluster::Move(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t moveMode, uint8_t rate, uint8_t optionMask, uint8_t optionOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // moveMode: moveMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), moveMode));
- // rate: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), rate));
- // optionMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionMask));
- // optionOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR LevelControlCluster::MoveToLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t level, uint16_t transitionTime, uint8_t optionMask, uint8_t optionOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveToLevelCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // level: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), level));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionMask));
- // optionOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR LevelControlCluster::MoveToLevelWithOnOff(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t level,
- uint16_t transitionTime)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveToLevelWithOnOffCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // level: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), level));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR LevelControlCluster::MoveWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t moveMode, uint8_t rate)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMoveWithOnOffCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // moveMode: moveMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), moveMode));
- // rate: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), rate));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR LevelControlCluster::Step(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t stepMode, uint8_t stepSize, uint16_t transitionTime, uint8_t optionMask,
- uint8_t optionOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStepCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // stepMode: stepMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepMode));
- // stepSize: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepSize));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // optionMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionMask));
- // optionOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR LevelControlCluster::StepWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t stepMode, uint8_t stepSize, uint16_t transitionTime)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStepWithOnOffCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // stepMode: stepMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepMode));
- // stepSize: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), stepSize));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR LevelControlCluster::Stop(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t optionMask, uint8_t optionOverride)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStopCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // optionMask: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionMask));
- // optionOverride: bitmap8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), optionOverride));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR LevelControlCluster::StopWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStopWithOnOffCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// LevelControl Cluster Attributes
-CHIP_ERROR LevelControlCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeLevelControlClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR LevelControlCluster::ReadAttributeCurrentLevel(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeLevelControlClusterReadCurrentLevelAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR LevelControlCluster::ConfigureAttributeCurrentLevel(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint8_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeLevelControlClusterConfigureCurrentLevelAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR LevelControlCluster::ReportAttributeCurrentLevel(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0000, onReportCallback);
-}
-
-CHIP_ERROR LevelControlCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeLevelControlClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// LowPower Cluster Commands
-CHIP_ERROR LowPowerCluster::Sleep(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSleepCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// LowPower Cluster Attributes
-CHIP_ERROR LowPowerCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeLowPowerClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR LowPowerCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeLowPowerClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// MediaInput Cluster Commands
-CHIP_ERROR MediaInputCluster::HideInputStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kHideInputStatusCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaInputCluster::RenameInput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t index, chip::ByteSpan name)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRenameInputCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // index: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), index));
- // name: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), name));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaInputCluster::SelectInput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t index)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSelectInputCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // index: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), index));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaInputCluster::ShowInputStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kShowInputStatusCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// MediaInput Cluster Attributes
-CHIP_ERROR MediaInputCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeMediaInputClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR MediaInputCluster::ReadAttributeMediaInputList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeMediaInputClusterReadMediaInputListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR MediaInputCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeMediaInputClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// MediaPlayback Cluster Commands
-CHIP_ERROR MediaPlaybackCluster::MediaFastForward(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaFastForwardCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaNext(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaNextCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaPause(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaPauseCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaPlay(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaPlayCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaPrevious(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaPreviousCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaRewind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaRewindCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaSkipBackward(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint64_t deltaPositionMilliseconds)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaSkipBackwardCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // deltaPositionMilliseconds: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), deltaPositionMilliseconds));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaSkipForward(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint64_t deltaPositionMilliseconds)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaSkipForwardCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // deltaPositionMilliseconds: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), deltaPositionMilliseconds));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaSkipSeek(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint64_t position)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaSkipSeekCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // position: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), position));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaStartOver(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaStartOverCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR MediaPlaybackCluster::MediaStop(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kMediaStopCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// MediaPlayback Cluster Attributes
-CHIP_ERROR MediaPlaybackCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeMediaPlaybackClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR MediaPlaybackCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeMediaPlaybackClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// NetworkCommissioning Cluster Commands
-CHIP_ERROR NetworkCommissioningCluster::AddThreadNetwork(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback,
- chip::ByteSpan operationalDataset, uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kAddThreadNetworkCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // operationalDataset: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), operationalDataset));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::AddWiFiNetwork(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan ssid,
- chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kAddWiFiNetworkCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // ssid: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), ssid));
- // credentials: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), credentials));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::DisableNetwork(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan networkID,
- uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kDisableNetworkCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // networkID: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), networkID));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::EnableNetwork(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan networkID,
- uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kEnableNetworkCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // networkID: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), networkID));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::GetLastNetworkCommissioningResult(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback,
- uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetLastNetworkCommissioningResultCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::RemoveNetwork(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan networkID,
- uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRemoveNetworkCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // networkID: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), networkID));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::ScanNetworks(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan ssid,
- uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kScanNetworksCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // ssid: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), ssid));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::UpdateThreadNetwork(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback,
- chip::ByteSpan operationalDataset, uint64_t breadcrumb,
- uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kUpdateThreadNetworkCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // operationalDataset: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), operationalDataset));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR NetworkCommissioningCluster::UpdateWiFiNetwork(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan ssid,
- chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kUpdateWiFiNetworkCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // ssid: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), ssid));
- // credentials: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), credentials));
- // breadcrumb: int64u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), breadcrumb));
- // timeoutMs: int32u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), timeoutMs));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// NetworkCommissioning Cluster Attributes
-CHIP_ERROR NetworkCommissioningCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeNetworkCommissioningClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR NetworkCommissioningCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeNetworkCommissioningClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// OnOff Cluster Commands
-CHIP_ERROR OnOffCluster::Off(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kOffCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR OnOffCluster::On(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kOnCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR OnOffCluster::Toggle(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kToggleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// OnOff Cluster Attributes
-CHIP_ERROR OnOffCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeOnOffClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR OnOffCluster::ReadAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeOnOffClusterReadOnOffAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR OnOffCluster::ConfigureAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeOnOffClusterConfigureOnOffAttribute(seqNum, mEndpoint, minInterval, maxInterval);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR OnOffCluster::ReportAttributeOnOff(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0000, onReportCallback);
-}
-
-CHIP_ERROR OnOffCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeOnOffClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// OperationalCredentials Cluster Commands
-CHIP_ERROR OperationalCredentialsCluster::AddOpCert(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan noc,
- chip::ByteSpan iCACertificate, chip::ByteSpan iPKValue,
- chip::NodeId caseAdminNode, uint16_t adminVendorId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kAddOpCertCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // noc: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), noc));
- // iCACertificate: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), iCACertificate));
- // iPKValue: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), iPKValue));
- // caseAdminNode: nodeId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), caseAdminNode));
- // adminVendorId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), adminVendorId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR OperationalCredentialsCluster::OpCSRRequest(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan cSRNonce)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kOpCSRRequestCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // cSRNonce: octetString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), cSRNonce));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR OperationalCredentialsCluster::RemoveAllFabrics(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRemoveAllFabricsCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR OperationalCredentialsCluster::RemoveFabric(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::FabricId fabricId,
- chip::NodeId nodeId, uint16_t vendorId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRemoveFabricCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // fabricId: fabricId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), fabricId));
- // nodeId: nodeId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), nodeId));
- // vendorId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), vendorId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR OperationalCredentialsCluster::SetFabric(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t vendorId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetFabricCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // vendorId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), vendorId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR OperationalCredentialsCluster::UpdateFabricLabel(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan label)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kUpdateFabricLabelCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // label: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), label));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// OperationalCredentials Cluster Attributes
-CHIP_ERROR OperationalCredentialsCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeOperationalCredentialsClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR OperationalCredentialsCluster::ReadAttributeFabricsList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeOperationalCredentialsClusterReadFabricsListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR OperationalCredentialsCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeOperationalCredentialsClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// PumpConfigurationAndControl Cluster Commands
-// PumpConfigurationAndControl Cluster Attributes
-CHIP_ERROR PumpConfigurationAndControlCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodePumpConfigurationAndControlClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeMaxPressure(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodePumpConfigurationAndControlClusterReadMaxPressureAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeMaxSpeed(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodePumpConfigurationAndControlClusterReadMaxSpeedAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeMaxFlow(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodePumpConfigurationAndControlClusterReadMaxFlowAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeEffectiveOperationMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodePumpConfigurationAndControlClusterReadEffectiveOperationModeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeEffectiveControlMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodePumpConfigurationAndControlClusterReadEffectiveControlModeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeCapacity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodePumpConfigurationAndControlClusterReadCapacityAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ConfigureAttributeCapacity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval,
- int16_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodePumpConfigurationAndControlClusterConfigureCapacityAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReportAttributeCapacity(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0013, onReportCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeOperationMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodePumpConfigurationAndControlClusterReadOperationModeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::WriteAttributeOperationMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodePumpConfigurationAndControlClusterWriteOperationModeAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR PumpConfigurationAndControlCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodePumpConfigurationAndControlClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Scenes Cluster Commands
-CHIP_ERROR ScenesCluster::AddScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, uint8_t sceneId, uint16_t transitionTime, chip::ByteSpan sceneName,
- chip::ClusterId clusterId, uint8_t length, uint8_t value)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kAddSceneCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // sceneId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), sceneId));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
- // sceneName: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), sceneName));
- // clusterId: clusterId
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), clusterId));
- // length: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), length));
- // value: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), value));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ScenesCluster::GetSceneMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetSceneMembershipCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ScenesCluster::RecallScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, uint8_t sceneId, uint16_t transitionTime)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRecallSceneCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // sceneId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), sceneId));
- // transitionTime: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), transitionTime));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ScenesCluster::RemoveAllScenes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRemoveAllScenesCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ScenesCluster::RemoveScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, uint8_t sceneId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kRemoveSceneCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // sceneId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), sceneId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ScenesCluster::StoreScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, uint8_t sceneId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kStoreSceneCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // sceneId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), sceneId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ScenesCluster::ViewScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, uint8_t sceneId)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kViewSceneCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // groupId: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), groupId));
- // sceneId: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), sceneId));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// Scenes Cluster Attributes
-CHIP_ERROR ScenesCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeScenesClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR ScenesCluster::ReadAttributeSceneCount(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeScenesClusterReadSceneCountAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ScenesCluster::ReadAttributeCurrentScene(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeScenesClusterReadCurrentSceneAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ScenesCluster::ReadAttributeCurrentGroup(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeScenesClusterReadCurrentGroupAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ScenesCluster::ReadAttributeSceneValid(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeScenesClusterReadSceneValidAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ScenesCluster::ReadAttributeNameSupport(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeScenesClusterReadNameSupportAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ScenesCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeScenesClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Switch Cluster Commands
-// Switch Cluster Attributes
-CHIP_ERROR SwitchCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeSwitchClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR SwitchCluster::ReadAttributeNumberOfPositions(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeSwitchClusterReadNumberOfPositionsAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR SwitchCluster::ReadAttributeCurrentPosition(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeSwitchClusterReadCurrentPositionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR SwitchCluster::ConfigureAttributeCurrentPosition(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint8_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeSwitchClusterConfigureCurrentPositionAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR SwitchCluster::ReportAttributeCurrentPosition(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0001, onReportCallback);
-}
-
-CHIP_ERROR SwitchCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeSwitchClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// TvChannel Cluster Commands
-CHIP_ERROR TvChannelCluster::ChangeChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan match)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kChangeChannelCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // match: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), match));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR TvChannelCluster::ChangeChannelByNumber(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t majorNumber,
- uint16_t minorNumber)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kChangeChannelByNumberCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // majorNumber: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), majorNumber));
- // minorNumber: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), minorNumber));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR TvChannelCluster::SkipChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t count)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSkipChannelCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // count: int16u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), count));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// TvChannel Cluster Attributes
-CHIP_ERROR TvChannelCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTvChannelClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR TvChannelCluster::ReadAttributeTvChannelList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTvChannelClusterReadTvChannelListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TvChannelCluster::ReadAttributeTvChannelLineup(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTvChannelClusterReadTvChannelLineupAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TvChannelCluster::ReadAttributeCurrentTvChannel(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTvChannelClusterReadCurrentTvChannelAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TvChannelCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTvChannelClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// TargetNavigator Cluster Commands
-CHIP_ERROR TargetNavigatorCluster::NavigateTarget(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t target, chip::ByteSpan data)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kNavigateTargetCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // target: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), target));
- // data: charString
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), data));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// TargetNavigator Cluster Attributes
-CHIP_ERROR TargetNavigatorCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTargetNavigatorClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR TargetNavigatorCluster::ReadAttributeTargetNavigatorList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTargetNavigatorClusterReadTargetNavigatorListAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TargetNavigatorCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTargetNavigatorClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// TemperatureMeasurement Cluster Commands
-// TemperatureMeasurement Cluster Attributes
-CHIP_ERROR TemperatureMeasurementCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTemperatureMeasurementClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR TemperatureMeasurementCluster::ReadAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTemperatureMeasurementClusterReadMeasuredValueAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TemperatureMeasurementCluster::ConfigureAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval,
- int16_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeTemperatureMeasurementClusterConfigureMeasuredValueAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TemperatureMeasurementCluster::ReportAttributeMeasuredValue(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0000, onReportCallback);
-}
-
-CHIP_ERROR TemperatureMeasurementCluster::ReadAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTemperatureMeasurementClusterReadMinMeasuredValueAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TemperatureMeasurementCluster::ReadAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTemperatureMeasurementClusterReadMaxMeasuredValueAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TemperatureMeasurementCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTemperatureMeasurementClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// TestCluster Cluster Commands
-CHIP_ERROR TestClusterCluster::Test(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kTestCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR TestClusterCluster::TestNotHandled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kTestNotHandledCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR TestClusterCluster::TestSpecific(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kTestSpecificCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// TestCluster Cluster Attributes
-CHIP_ERROR TestClusterCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR TestClusterCluster::ReadAttributeBoolean(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadBooleanAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeBoolean(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteBooleanAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeBitmap8(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadBitmap8Attribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeBitmap8(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteBitmap8Attribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeBitmap16(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadBitmap16Attribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeBitmap16(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteBitmap16Attribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeBitmap32(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadBitmap32Attribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeBitmap32(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint32_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteBitmap32Attribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeBitmap64(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadBitmap64Attribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeBitmap64(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint64_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteBitmap64Attribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt8u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt8uAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt8u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt8uAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt16u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt16uAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt16u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt16uAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt32u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt32uAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt32u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint32_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt32uAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt64u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt64uAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt64u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint64_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt64uAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt8s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt8sAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt8s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt8sAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt16s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt16sAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt16s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt16sAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt32s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt32sAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt32s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int32_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt32sAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeInt64s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadInt64sAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeInt64s(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int64_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteInt64sAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeEnum8(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadEnum8Attribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeEnum8(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteEnum8Attribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeEnum16(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadEnum16Attribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeEnum16(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteEnum16Attribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeOctetString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadOctetStringAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::WriteAttributeOctetString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, chip::ByteSpan value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterWriteOctetStringAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeListInt8u(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadListInt8uAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeListOctetString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadListOctetStringAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeListStructOctetString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadListStructOctetStringAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR TestClusterCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeTestClusterClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// Thermostat Cluster Commands
-CHIP_ERROR ThermostatCluster::ClearWeeklySchedule(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kClearWeeklyScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ThermostatCluster::GetRelayStatusLog(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetRelayStatusLogCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- // Command takes no arguments.
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ThermostatCluster::GetWeeklySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t daysToReturn, uint8_t modeToReturn)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kGetWeeklyScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // daysToReturn: dayOfWeek
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), daysToReturn));
- // modeToReturn: modeForSequence
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), modeToReturn));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ThermostatCluster::SetWeeklySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t numberOfTransitionsForSequence, uint8_t dayOfWeekForSequence,
- uint8_t modeForSequence, uint8_t payload)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetWeeklyScheduleCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // numberOfTransitionsForSequence: enum8
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), numberOfTransitionsForSequence));
- // dayOfWeekForSequence: dayOfWeek
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), dayOfWeekForSequence));
- // modeForSequence: modeForSequence
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), modeForSequence));
- // payload: int8u
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), payload));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-CHIP_ERROR ThermostatCluster::SetpointRaiseLower(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t mode, int8_t amount)
-{
- VerifyOrReturnError(mDevice != nullptr, CHIP_ERROR_INCORRECT_STATE);
-
- if (mpCommandSender == nullptr)
- {
- ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->NewCommandSender(&mpCommandSender));
- }
-
- app::CommandPathParams cmdParams = { mEndpoint, /* group id */ 0, mClusterId, kSetpointRaiseLowerCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- ReturnErrorOnFailure(mpCommandSender->PrepareCommand(&cmdParams));
-
- TLV::TLVWriter * writer = mpCommandSender->GetCommandDataElementTLVWriter();
- uint8_t argSeqNumber = 0;
- // mode: setpointAdjustMode
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), mode));
- // amount: int8s
- ReturnErrorOnFailure(writer->Put(TLV::ContextTag(argSeqNumber++), amount));
-
- ReturnErrorOnFailure(mpCommandSender->FinishCommand());
-
- // #6308: This is a temporary solution before we fully support IM on application side and should be replaced by IMDelegate.
- mDevice->AddIMResponseHandler(mpCommandSender, onSuccessCallback, onFailureCallback);
-
- return mDevice->SendCommands(mpCommandSender);
-}
-
-// Thermostat Cluster Attributes
-CHIP_ERROR ThermostatCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR ThermostatCluster::ReadAttributeLocalTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterReadLocalTemperatureAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::ConfigureAttributeLocalTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, int16_t change)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeThermostatClusterConfigureLocalTemperatureAttribute(seqNum, mEndpoint, minInterval, maxInterval, change);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::ReportAttributeLocalTemperature(Callback::Cancelable * onReportCallback)
-{
- return RequestAttributeReporting(0x0000, onReportCallback);
-}
-
-CHIP_ERROR ThermostatCluster::ReadAttributeOccupiedCoolingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterReadOccupiedCoolingSetpointAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::WriteAttributeOccupiedCoolingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeThermostatClusterWriteOccupiedCoolingSetpointAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::ReadAttributeOccupiedHeatingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterReadOccupiedHeatingSetpointAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::WriteAttributeOccupiedHeatingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int16_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeThermostatClusterWriteOccupiedHeatingSetpointAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::ReadAttributeControlSequenceOfOperation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterReadControlSequenceOfOperationAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::WriteAttributeControlSequenceOfOperation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand =
- encodeThermostatClusterWriteControlSequenceOfOperationAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::ReadAttributeSystemMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterReadSystemModeAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::WriteAttributeSystemMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterWriteSystemModeAttribute(seqNum, mEndpoint, value);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR ThermostatCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeThermostatClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-// WakeOnLan Cluster Commands
-// WakeOnLan Cluster Attributes
-CHIP_ERROR WakeOnLanCluster::DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeWakeOnLanClusterDiscoverAttributes(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-CHIP_ERROR WakeOnLanCluster::ReadAttributeWakeOnLanMacAddress(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeWakeOnLanClusterReadWakeOnLanMacAddressAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-CHIP_ERROR WakeOnLanCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback)
-{
- uint8_t seqNum = mDevice->GetNextSequenceNumber();
- System::PacketBufferHandle encodedCommand = encodeWakeOnLanClusterReadClusterRevisionAttribute(seqNum, mEndpoint);
- return SendCommand(seqNum, std::move(encodedCommand), onSuccessCallback, onFailureCallback);
-}
-
-} // namespace Controller
-} // namespace chip
diff --git a/examples/chip-tool/gen/CHIPClusters.h b/examples/chip-tool/gen/CHIPClusters.h
deleted file mode 100644
index 25e3e0d..0000000
--- a/examples/chip-tool/gen/CHIPClusters.h
+++ /dev/null
@@ -1,1163 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <controller/CHIPCluster.h>
-#include <core/CHIPCallback.h>
-#include <lib/support/Span.h>
-
-namespace chip {
-namespace Controller {
-
-constexpr ClusterId kAccountLoginClusterId = 0x050E;
-constexpr ClusterId kApplicationBasicClusterId = 0x050D;
-constexpr ClusterId kApplicationLauncherClusterId = 0x050C;
-constexpr ClusterId kAudioOutputClusterId = 0x050B;
-constexpr ClusterId kBarrierControlClusterId = 0x0103;
-constexpr ClusterId kBasicClusterId = 0x0028;
-constexpr ClusterId kBindingClusterId = 0xF000;
-constexpr ClusterId kColorControlClusterId = 0x0300;
-constexpr ClusterId kContentLaunchClusterId = 0x050A;
-constexpr ClusterId kDescriptorClusterId = 0x001D;
-constexpr ClusterId kDoorLockClusterId = 0x0101;
-constexpr ClusterId kEthernetNetworkDiagnosticsClusterId = 0x0037;
-constexpr ClusterId kGeneralCommissioningClusterId = 0x0030;
-constexpr ClusterId kGeneralDiagnosticsClusterId = 0x0033;
-constexpr ClusterId kGroupKeyManagementClusterId = 0xF004;
-constexpr ClusterId kGroupsClusterId = 0x0004;
-constexpr ClusterId kIdentifyClusterId = 0x0003;
-constexpr ClusterId kKeypadInputClusterId = 0x0509;
-constexpr ClusterId kLevelControlClusterId = 0x0008;
-constexpr ClusterId kLowPowerClusterId = 0x0508;
-constexpr ClusterId kMediaInputClusterId = 0x0507;
-constexpr ClusterId kMediaPlaybackClusterId = 0x0506;
-constexpr ClusterId kNetworkCommissioningClusterId = 0x0031;
-constexpr ClusterId kOnOffClusterId = 0x0006;
-constexpr ClusterId kOperationalCredentialsClusterId = 0x003E;
-constexpr ClusterId kPumpConfigurationAndControlClusterId = 0x0200;
-constexpr ClusterId kScenesClusterId = 0x0005;
-constexpr ClusterId kSwitchClusterId = 0x003B;
-constexpr ClusterId kTvChannelClusterId = 0x0504;
-constexpr ClusterId kTargetNavigatorClusterId = 0x0505;
-constexpr ClusterId kTemperatureMeasurementClusterId = 0x0402;
-constexpr ClusterId kTestClusterClusterId = 0x050F;
-constexpr ClusterId kThermostatClusterId = 0x0201;
-constexpr ClusterId kWakeOnLanClusterId = 0x0503;
-
-class DLL_EXPORT AccountLoginCluster : public ClusterBase
-{
-public:
- AccountLoginCluster() : ClusterBase(kAccountLoginClusterId) {}
- ~AccountLoginCluster() {}
-
- // Cluster Commands
- CHIP_ERROR GetSetupPIN(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan tempAccountIdentifier);
- CHIP_ERROR Login(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan tempAccountIdentifier, chip::ByteSpan setupPIN);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kGetSetupPINCommandId = 0x00;
- static constexpr CommandId kLoginCommandId = 0x01;
-};
-
-class DLL_EXPORT ApplicationBasicCluster : public ClusterBase
-{
-public:
- ApplicationBasicCluster() : ClusterBase(kApplicationBasicClusterId) {}
- ~ApplicationBasicCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeApplicationName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeProductId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeApplicationId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCatalogVendorId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeApplicationSatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-};
-
-class DLL_EXPORT ApplicationLauncherCluster : public ClusterBase
-{
-public:
- ApplicationLauncherCluster() : ClusterBase(kApplicationLauncherClusterId) {}
- ~ApplicationLauncherCluster() {}
-
- // Cluster Commands
- CHIP_ERROR LaunchApp(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan data,
- uint16_t catalogVendorId, chip::ByteSpan applicationId);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeApplicationLauncherList(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kLaunchAppCommandId = 0x00;
-};
-
-class DLL_EXPORT AudioOutputCluster : public ClusterBase
-{
-public:
- AudioOutputCluster() : ClusterBase(kAudioOutputClusterId) {}
- ~AudioOutputCluster() {}
-
- // Cluster Commands
- CHIP_ERROR RenameOutput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index,
- chip::ByteSpan name);
- CHIP_ERROR SelectOutput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeAudioOutputList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kRenameOutputCommandId = 0x01;
- static constexpr CommandId kSelectOutputCommandId = 0x00;
-};
-
-class DLL_EXPORT BarrierControlCluster : public ClusterBase
-{
-public:
- BarrierControlCluster() : ClusterBase(kBarrierControlClusterId) {}
- ~BarrierControlCluster() {}
-
- // Cluster Commands
- CHIP_ERROR BarrierControlGoToPercent(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t percentOpen);
- CHIP_ERROR BarrierControlStop(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBarrierMovingState(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBarrierSafetyStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBarrierCapabilities(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBarrierPosition(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kBarrierControlGoToPercentCommandId = 0x00;
- static constexpr CommandId kBarrierControlStopCommandId = 0x01;
-};
-
-class DLL_EXPORT BasicCluster : public ClusterBase
-{
-public:
- BasicCluster() : ClusterBase(kBasicClusterId) {}
- ~BasicCluster() {}
-
- // Cluster Commands
- CHIP_ERROR MfgSpecificPing(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInteractionModelVersion(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeVendorName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeVendorID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeProductName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeProductID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeSoftwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeSoftwareVersionString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeManufacturingDate(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePartNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeProductURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeProductLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeSerialNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeLocalConfigDisabled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan value);
- CHIP_ERROR WriteAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan value);
- CHIP_ERROR WriteAttributeLocalConfigDisabled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
-
-private:
- static constexpr CommandId kMfgSpecificPingCommandId = 0x00;
-};
-
-class DLL_EXPORT BindingCluster : public ClusterBase
-{
-public:
- BindingCluster() : ClusterBase(kBindingClusterId) {}
- ~BindingCluster() {}
-
- // Cluster Commands
- CHIP_ERROR Bind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::NodeId nodeId,
- chip::GroupId groupId, chip::EndpointId endpointId, chip::ClusterId clusterId);
- CHIP_ERROR Unbind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::NodeId nodeId,
- chip::GroupId groupId, chip::EndpointId endpointId, chip::ClusterId clusterId);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kBindCommandId = 0x00;
- static constexpr CommandId kUnbindCommandId = 0x01;
-};
-
-class DLL_EXPORT ColorControlCluster : public ClusterBase
-{
-public:
- ColorControlCluster() : ClusterBase(kColorControlClusterId) {}
- ~ColorControlCluster() {}
-
- // Cluster Commands
- CHIP_ERROR MoveColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t rateX,
- int16_t rateY, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR MoveColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t moveMode, uint16_t rate, uint16_t colorTemperatureMinimum,
- uint16_t colorTemperatureMaximum, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR MoveHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
- uint8_t rate, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR MoveSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
- uint8_t rate, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR MoveToColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t colorX,
- uint16_t colorY, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR MoveToColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t colorTemperature, uint16_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride);
- CHIP_ERROR MoveToHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t hue,
- uint8_t direction, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR MoveToHueAndSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t hue, uint8_t saturation, uint16_t transitionTime, uint8_t optionsMask,
- uint8_t optionsOverride);
- CHIP_ERROR MoveToSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t saturation, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR StepColor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, int16_t stepX,
- int16_t stepY, uint16_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR StepColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t stepMode, uint16_t stepSize, uint16_t transitionTime, uint16_t colorTemperatureMinimum,
- uint16_t colorTemperatureMaximum, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR StepHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
- uint8_t stepSize, uint8_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR StepSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
- uint8_t stepSize, uint8_t transitionTime, uint8_t optionsMask, uint8_t optionsOverride);
- CHIP_ERROR StopMoveStep(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t optionsMask,
- uint8_t optionsOverride);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentSaturation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeRemainingTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeDriftCompensation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCompensationText(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorControlOptions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeNumberOfPrimaries(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary1X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary1Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary1Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary2X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary2Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary2Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary3X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary3Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary3Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary4X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary4Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary4Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary5X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary5Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary5Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary6X(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary6Y(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePrimary6Intensity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeWhitePointX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeWhitePointY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointRX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointRY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointRIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointGX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointGY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointGIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointBX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointBY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorPointBIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeEnhancedCurrentHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeEnhancedColorMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorLoopActive(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorLoopDirection(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorLoopTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorCapabilities(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorTempPhysicalMin(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeColorTempPhysicalMax(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCoupleColorTempToLevelMinMireds(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeStartUpColorTemperatureMireds(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeColorControlOptions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
- CHIP_ERROR WriteAttributeWhitePointX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeWhitePointY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeColorPointRX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeColorPointRY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeColorPointRIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value);
- CHIP_ERROR WriteAttributeColorPointGX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeColorPointGY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeColorPointGIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value);
- CHIP_ERROR WriteAttributeColorPointBX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeColorPointBY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeColorPointBIntensity(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value);
- CHIP_ERROR WriteAttributeStartUpColorTemperatureMireds(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t value);
- CHIP_ERROR ConfigureAttributeCurrentHue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval, uint8_t change);
- CHIP_ERROR ReportAttributeCurrentHue(Callback::Cancelable * onReportCallback);
- CHIP_ERROR ConfigureAttributeCurrentSaturation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint8_t change);
- CHIP_ERROR ReportAttributeCurrentSaturation(Callback::Cancelable * onReportCallback);
- CHIP_ERROR ConfigureAttributeCurrentX(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval, uint16_t change);
- CHIP_ERROR ReportAttributeCurrentX(Callback::Cancelable * onReportCallback);
- CHIP_ERROR ConfigureAttributeCurrentY(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval, uint16_t change);
- CHIP_ERROR ReportAttributeCurrentY(Callback::Cancelable * onReportCallback);
- CHIP_ERROR ConfigureAttributeColorTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, uint16_t change);
- CHIP_ERROR ReportAttributeColorTemperature(Callback::Cancelable * onReportCallback);
-
-private:
- static constexpr CommandId kMoveColorCommandId = 0x08;
- static constexpr CommandId kMoveColorTemperatureCommandId = 0x4B;
- static constexpr CommandId kMoveHueCommandId = 0x01;
- static constexpr CommandId kMoveSaturationCommandId = 0x04;
- static constexpr CommandId kMoveToColorCommandId = 0x07;
- static constexpr CommandId kMoveToColorTemperatureCommandId = 0x0A;
- static constexpr CommandId kMoveToHueCommandId = 0x00;
- static constexpr CommandId kMoveToHueAndSaturationCommandId = 0x06;
- static constexpr CommandId kMoveToSaturationCommandId = 0x03;
- static constexpr CommandId kStepColorCommandId = 0x09;
- static constexpr CommandId kStepColorTemperatureCommandId = 0x4C;
- static constexpr CommandId kStepHueCommandId = 0x02;
- static constexpr CommandId kStepSaturationCommandId = 0x05;
- static constexpr CommandId kStopMoveStepCommandId = 0x47;
-};
-
-class DLL_EXPORT ContentLaunchCluster : public ClusterBase
-{
-public:
- ContentLaunchCluster() : ClusterBase(kContentLaunchClusterId) {}
- ~ContentLaunchCluster() {}
-
- // Cluster Commands
- CHIP_ERROR LaunchContent(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t autoPlay,
- chip::ByteSpan data);
- CHIP_ERROR LaunchURL(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan contentURL, chip::ByteSpan displayString);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeAcceptsHeaderList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeSupportedStreamingTypes(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kLaunchContentCommandId = 0x00;
- static constexpr CommandId kLaunchURLCommandId = 0x01;
-};
-
-class DLL_EXPORT DescriptorCluster : public ClusterBase
-{
-public:
- DescriptorCluster() : ClusterBase(kDescriptorClusterId) {}
- ~DescriptorCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeDeviceList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeServerList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClientList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePartsList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-};
-
-class DLL_EXPORT DoorLockCluster : public ClusterBase
-{
-public:
- DoorLockCluster() : ClusterBase(kDoorLockClusterId) {}
- ~DoorLockCluster() {}
-
- // Cluster Commands
- CHIP_ERROR ClearAllPins(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ClearAllRfids(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ClearHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId);
- CHIP_ERROR ClearPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
- CHIP_ERROR ClearRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
- CHIP_ERROR ClearWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId);
- CHIP_ERROR ClearYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId);
- CHIP_ERROR GetHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId);
- CHIP_ERROR GetLogRecord(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t logIndex);
- CHIP_ERROR GetPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
- CHIP_ERROR GetRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
- CHIP_ERROR GetUserType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId);
- CHIP_ERROR GetWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId);
- CHIP_ERROR GetYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId);
- CHIP_ERROR LockDoor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan pin);
- CHIP_ERROR SetHolidaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint32_t localStartTime, uint32_t localEndTime,
- uint8_t operatingModeDuringHoliday);
- CHIP_ERROR SetPin(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId,
- uint8_t userStatus, uint8_t userType, chip::ByteSpan pin);
- CHIP_ERROR SetRfid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId,
- uint8_t userStatus, uint8_t userType, chip::ByteSpan id);
- CHIP_ERROR SetUserType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t userId,
- uint8_t userType);
- CHIP_ERROR SetWeekdaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId, uint8_t daysMask, uint8_t startHour, uint8_t startMinute,
- uint8_t endHour, uint8_t endMinute);
- CHIP_ERROR SetYeardaySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t scheduleId, uint16_t userId, uint32_t localStartTime, uint32_t localEndTime);
- CHIP_ERROR UnlockDoor(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan pin);
- CHIP_ERROR UnlockWithTimeout(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t timeoutInSeconds, chip::ByteSpan pin);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeLockState(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeLockType(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeActuatorEnabled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ConfigureAttributeLockState(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval);
- CHIP_ERROR ReportAttributeLockState(Callback::Cancelable * onReportCallback);
-
-private:
- static constexpr CommandId kClearAllPinsCommandId = 0x08;
- static constexpr CommandId kClearAllRfidsCommandId = 0x19;
- static constexpr CommandId kClearHolidayScheduleCommandId = 0x13;
- static constexpr CommandId kClearPinCommandId = 0x07;
- static constexpr CommandId kClearRfidCommandId = 0x18;
- static constexpr CommandId kClearWeekdayScheduleCommandId = 0x0D;
- static constexpr CommandId kClearYeardayScheduleCommandId = 0x10;
- static constexpr CommandId kGetHolidayScheduleCommandId = 0x12;
- static constexpr CommandId kGetLogRecordCommandId = 0x04;
- static constexpr CommandId kGetPinCommandId = 0x06;
- static constexpr CommandId kGetRfidCommandId = 0x17;
- static constexpr CommandId kGetUserTypeCommandId = 0x15;
- static constexpr CommandId kGetWeekdayScheduleCommandId = 0x0C;
- static constexpr CommandId kGetYeardayScheduleCommandId = 0x0F;
- static constexpr CommandId kLockDoorCommandId = 0x00;
- static constexpr CommandId kSetHolidayScheduleCommandId = 0x11;
- static constexpr CommandId kSetPinCommandId = 0x05;
- static constexpr CommandId kSetRfidCommandId = 0x16;
- static constexpr CommandId kSetUserTypeCommandId = 0x14;
- static constexpr CommandId kSetWeekdayScheduleCommandId = 0x0B;
- static constexpr CommandId kSetYeardayScheduleCommandId = 0x0E;
- static constexpr CommandId kUnlockDoorCommandId = 0x01;
- static constexpr CommandId kUnlockWithTimeoutCommandId = 0x03;
-};
-
-class DLL_EXPORT EthernetNetworkDiagnosticsCluster : public ClusterBase
-{
-public:
- EthernetNetworkDiagnosticsCluster() : ClusterBase(kEthernetNetworkDiagnosticsClusterId) {}
- ~EthernetNetworkDiagnosticsCluster() {}
-
- // Cluster Commands
- CHIP_ERROR ResetCounts(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePacketRxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributePacketTxCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeTxErrCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCollisionCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeOverrunCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kResetCountsCommandId = 0x00;
-};
-
-class DLL_EXPORT GeneralCommissioningCluster : public ClusterBase
-{
-public:
- GeneralCommissioningCluster() : ClusterBase(kGeneralCommissioningClusterId) {}
- ~GeneralCommissioningCluster() {}
-
- // Cluster Commands
- CHIP_ERROR ArmFailSafe(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t expiryLengthSeconds, uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR CommissioningComplete(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR SetRegulatoryConfig(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t location, chip::ByteSpan countryCode, uint64_t breadcrumb, uint32_t timeoutMs);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeFabricId(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeBreadcrumb(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint64_t value);
-
-private:
- static constexpr CommandId kArmFailSafeCommandId = 0x00;
- static constexpr CommandId kCommissioningCompleteCommandId = 0x04;
- static constexpr CommandId kSetRegulatoryConfigCommandId = 0x02;
-};
-
-class DLL_EXPORT GeneralDiagnosticsCluster : public ClusterBase
-{
-public:
- GeneralDiagnosticsCluster() : ClusterBase(kGeneralDiagnosticsClusterId) {}
- ~GeneralDiagnosticsCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeNetworkInterfaces(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeRebootCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-};
-
-class DLL_EXPORT GroupKeyManagementCluster : public ClusterBase
-{
-public:
- GroupKeyManagementCluster() : ClusterBase(kGroupKeyManagementClusterId) {}
- ~GroupKeyManagementCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeGroups(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeGroupKeys(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-};
-
-class DLL_EXPORT GroupsCluster : public ClusterBase
-{
-public:
- GroupsCluster() : ClusterBase(kGroupsClusterId) {}
- ~GroupsCluster() {}
-
- // Cluster Commands
- CHIP_ERROR AddGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
- chip::ByteSpan groupName);
- CHIP_ERROR AddGroupIfIdentifying(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId, chip::ByteSpan groupName);
- CHIP_ERROR GetGroupMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t groupCount, uint16_t groupList);
- CHIP_ERROR RemoveAllGroups(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR RemoveGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId);
- CHIP_ERROR ViewGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeNameSupport(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kAddGroupCommandId = 0x00;
- static constexpr CommandId kAddGroupIfIdentifyingCommandId = 0x05;
- static constexpr CommandId kGetGroupMembershipCommandId = 0x02;
- static constexpr CommandId kRemoveAllGroupsCommandId = 0x04;
- static constexpr CommandId kRemoveGroupCommandId = 0x03;
- static constexpr CommandId kViewGroupCommandId = 0x01;
-};
-
-class DLL_EXPORT IdentifyCluster : public ClusterBase
-{
-public:
- IdentifyCluster() : ClusterBase(kIdentifyClusterId) {}
- ~IdentifyCluster() {}
-
- // Cluster Commands
- CHIP_ERROR Identify(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t identifyTime);
- CHIP_ERROR IdentifyQuery(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeIdentifyTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeIdentifyTime(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
-
-private:
- static constexpr CommandId kIdentifyCommandId = 0x00;
- static constexpr CommandId kIdentifyQueryCommandId = 0x01;
-};
-
-class DLL_EXPORT KeypadInputCluster : public ClusterBase
-{
-public:
- KeypadInputCluster() : ClusterBase(kKeypadInputClusterId) {}
- ~KeypadInputCluster() {}
-
- // Cluster Commands
- CHIP_ERROR SendKey(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t keyCode);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kSendKeyCommandId = 0x00;
-};
-
-class DLL_EXPORT LevelControlCluster : public ClusterBase
-{
-public:
- LevelControlCluster() : ClusterBase(kLevelControlClusterId) {}
- ~LevelControlCluster() {}
-
- // Cluster Commands
- CHIP_ERROR Move(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
- uint8_t rate, uint8_t optionMask, uint8_t optionOverride);
- CHIP_ERROR MoveToLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t level,
- uint16_t transitionTime, uint8_t optionMask, uint8_t optionOverride);
- CHIP_ERROR MoveToLevelWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t level, uint16_t transitionTime);
- CHIP_ERROR MoveWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t moveMode,
- uint8_t rate);
- CHIP_ERROR Step(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
- uint8_t stepSize, uint16_t transitionTime, uint8_t optionMask, uint8_t optionOverride);
- CHIP_ERROR StepWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t stepMode,
- uint8_t stepSize, uint16_t transitionTime);
- CHIP_ERROR Stop(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t optionMask,
- uint8_t optionOverride);
- CHIP_ERROR StopWithOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ConfigureAttributeCurrentLevel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval, uint8_t change);
- CHIP_ERROR ReportAttributeCurrentLevel(Callback::Cancelable * onReportCallback);
-
-private:
- static constexpr CommandId kMoveCommandId = 0x01;
- static constexpr CommandId kMoveToLevelCommandId = 0x00;
- static constexpr CommandId kMoveToLevelWithOnOffCommandId = 0x04;
- static constexpr CommandId kMoveWithOnOffCommandId = 0x05;
- static constexpr CommandId kStepCommandId = 0x02;
- static constexpr CommandId kStepWithOnOffCommandId = 0x06;
- static constexpr CommandId kStopCommandId = 0x03;
- static constexpr CommandId kStopWithOnOffCommandId = 0x07;
-};
-
-class DLL_EXPORT LowPowerCluster : public ClusterBase
-{
-public:
- LowPowerCluster() : ClusterBase(kLowPowerClusterId) {}
- ~LowPowerCluster() {}
-
- // Cluster Commands
- CHIP_ERROR Sleep(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kSleepCommandId = 0x00;
-};
-
-class DLL_EXPORT MediaInputCluster : public ClusterBase
-{
-public:
- MediaInputCluster() : ClusterBase(kMediaInputClusterId) {}
- ~MediaInputCluster() {}
-
- // Cluster Commands
- CHIP_ERROR HideInputStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR RenameInput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index,
- chip::ByteSpan name);
- CHIP_ERROR SelectInput(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t index);
- CHIP_ERROR ShowInputStatus(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeMediaInputList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kHideInputStatusCommandId = 0x02;
- static constexpr CommandId kRenameInputCommandId = 0x03;
- static constexpr CommandId kSelectInputCommandId = 0x00;
- static constexpr CommandId kShowInputStatusCommandId = 0x01;
-};
-
-class DLL_EXPORT MediaPlaybackCluster : public ClusterBase
-{
-public:
- MediaPlaybackCluster() : ClusterBase(kMediaPlaybackClusterId) {}
- ~MediaPlaybackCluster() {}
-
- // Cluster Commands
- CHIP_ERROR MediaFastForward(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR MediaNext(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR MediaPause(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR MediaPlay(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR MediaPrevious(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR MediaRewind(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR MediaSkipBackward(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint64_t deltaPositionMilliseconds);
- CHIP_ERROR MediaSkipForward(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint64_t deltaPositionMilliseconds);
- CHIP_ERROR MediaSkipSeek(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint64_t position);
- CHIP_ERROR MediaStartOver(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR MediaStop(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kMediaFastForwardCommandId = 0x07;
- static constexpr CommandId kMediaNextCommandId = 0x05;
- static constexpr CommandId kMediaPauseCommandId = 0x01;
- static constexpr CommandId kMediaPlayCommandId = 0x00;
- static constexpr CommandId kMediaPreviousCommandId = 0x04;
- static constexpr CommandId kMediaRewindCommandId = 0x06;
- static constexpr CommandId kMediaSkipBackwardCommandId = 0x09;
- static constexpr CommandId kMediaSkipForwardCommandId = 0x08;
- static constexpr CommandId kMediaSkipSeekCommandId = 0x0A;
- static constexpr CommandId kMediaStartOverCommandId = 0x03;
- static constexpr CommandId kMediaStopCommandId = 0x02;
-};
-
-class DLL_EXPORT NetworkCommissioningCluster : public ClusterBase
-{
-public:
- NetworkCommissioningCluster() : ClusterBase(kNetworkCommissioningClusterId) {}
- ~NetworkCommissioningCluster() {}
-
- // Cluster Commands
- CHIP_ERROR AddThreadNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan operationalDataset, uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR AddWiFiNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan ssid, chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR DisableNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan networkID, uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR EnableNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan networkID, uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR GetLastNetworkCommissioningResult(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint32_t timeoutMs);
- CHIP_ERROR RemoveNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan networkID, uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR ScanNetworks(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan ssid,
- uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR UpdateThreadNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan operationalDataset, uint64_t breadcrumb, uint32_t timeoutMs);
- CHIP_ERROR UpdateWiFiNetwork(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan ssid, chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kAddThreadNetworkCommandId = 0x06;
- static constexpr CommandId kAddWiFiNetworkCommandId = 0x02;
- static constexpr CommandId kDisableNetworkCommandId = 0x0E;
- static constexpr CommandId kEnableNetworkCommandId = 0x0C;
- static constexpr CommandId kGetLastNetworkCommissioningResultCommandId = 0x10;
- static constexpr CommandId kRemoveNetworkCommandId = 0x0A;
- static constexpr CommandId kScanNetworksCommandId = 0x00;
- static constexpr CommandId kUpdateThreadNetworkCommandId = 0x08;
- static constexpr CommandId kUpdateWiFiNetworkCommandId = 0x04;
-};
-
-class DLL_EXPORT OnOffCluster : public ClusterBase
-{
-public:
- OnOffCluster() : ClusterBase(kOnOffClusterId) {}
- ~OnOffCluster() {}
-
- // Cluster Commands
- CHIP_ERROR Off(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR On(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR Toggle(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ConfigureAttributeOnOff(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval);
- CHIP_ERROR ReportAttributeOnOff(Callback::Cancelable * onReportCallback);
-
-private:
- static constexpr CommandId kOffCommandId = 0x00;
- static constexpr CommandId kOnCommandId = 0x01;
- static constexpr CommandId kToggleCommandId = 0x02;
-};
-
-class DLL_EXPORT OperationalCredentialsCluster : public ClusterBase
-{
-public:
- OperationalCredentialsCluster() : ClusterBase(kOperationalCredentialsClusterId) {}
- ~OperationalCredentialsCluster() {}
-
- // Cluster Commands
- CHIP_ERROR AddOpCert(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, chip::ByteSpan noc,
- chip::ByteSpan iCACertificate, chip::ByteSpan iPKValue, chip::NodeId caseAdminNode,
- uint16_t adminVendorId);
- CHIP_ERROR OpCSRRequest(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan cSRNonce);
- CHIP_ERROR RemoveAllFabrics(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR RemoveFabric(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::FabricId fabricId, chip::NodeId nodeId, uint16_t vendorId);
- CHIP_ERROR SetFabric(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t vendorId);
- CHIP_ERROR UpdateFabricLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan label);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeFabricsList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kAddOpCertCommandId = 0x06;
- static constexpr CommandId kOpCSRRequestCommandId = 0x04;
- static constexpr CommandId kRemoveAllFabricsCommandId = 0x0B;
- static constexpr CommandId kRemoveFabricCommandId = 0x0A;
- static constexpr CommandId kSetFabricCommandId = 0x00;
- static constexpr CommandId kUpdateFabricLabelCommandId = 0x09;
-};
-
-class DLL_EXPORT PumpConfigurationAndControlCluster : public ClusterBase
-{
-public:
- PumpConfigurationAndControlCluster() : ClusterBase(kPumpConfigurationAndControlClusterId) {}
- ~PumpConfigurationAndControlCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeMaxPressure(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeMaxSpeed(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeMaxFlow(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeEffectiveOperationMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeEffectiveControlMode(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCapacity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeOperationMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeOperationMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
- CHIP_ERROR ConfigureAttributeCapacity(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval, int16_t change);
- CHIP_ERROR ReportAttributeCapacity(Callback::Cancelable * onReportCallback);
-};
-
-class DLL_EXPORT ScenesCluster : public ClusterBase
-{
-public:
- ScenesCluster() : ClusterBase(kScenesClusterId) {}
- ~ScenesCluster() {}
-
- // Cluster Commands
- CHIP_ERROR AddScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
- uint8_t sceneId, uint16_t transitionTime, chip::ByteSpan sceneName, chip::ClusterId clusterId,
- uint8_t length, uint8_t value);
- CHIP_ERROR GetSceneMembership(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId);
- CHIP_ERROR RecallScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
- uint8_t sceneId, uint16_t transitionTime);
- CHIP_ERROR RemoveAllScenes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t groupId);
- CHIP_ERROR RemoveScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
- uint8_t sceneId);
- CHIP_ERROR StoreScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
- uint8_t sceneId);
- CHIP_ERROR ViewScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t groupId,
- uint8_t sceneId);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeSceneCount(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentScene(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentGroup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeSceneValid(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeNameSupport(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kAddSceneCommandId = 0x00;
- static constexpr CommandId kGetSceneMembershipCommandId = 0x06;
- static constexpr CommandId kRecallSceneCommandId = 0x05;
- static constexpr CommandId kRemoveAllScenesCommandId = 0x03;
- static constexpr CommandId kRemoveSceneCommandId = 0x02;
- static constexpr CommandId kStoreSceneCommandId = 0x04;
- static constexpr CommandId kViewSceneCommandId = 0x01;
-};
-
-class DLL_EXPORT SwitchCluster : public ClusterBase
-{
-public:
- SwitchCluster() : ClusterBase(kSwitchClusterId) {}
- ~SwitchCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeNumberOfPositions(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentPosition(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ConfigureAttributeCurrentPosition(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval, uint8_t change);
- CHIP_ERROR ReportAttributeCurrentPosition(Callback::Cancelable * onReportCallback);
-};
-
-class DLL_EXPORT TvChannelCluster : public ClusterBase
-{
-public:
- TvChannelCluster() : ClusterBase(kTvChannelClusterId) {}
- ~TvChannelCluster() {}
-
- // Cluster Commands
- CHIP_ERROR ChangeChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan match);
- CHIP_ERROR ChangeChannelByNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t majorNumber, uint16_t minorNumber);
- CHIP_ERROR SkipChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint16_t count);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeTvChannelList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeTvChannelLineup(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeCurrentTvChannel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kChangeChannelCommandId = 0x00;
- static constexpr CommandId kChangeChannelByNumberCommandId = 0x01;
- static constexpr CommandId kSkipChannelCommandId = 0x02;
-};
-
-class DLL_EXPORT TargetNavigatorCluster : public ClusterBase
-{
-public:
- TargetNavigatorCluster() : ClusterBase(kTargetNavigatorClusterId) {}
- ~TargetNavigatorCluster() {}
-
- // Cluster Commands
- CHIP_ERROR NavigateTarget(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t target,
- chip::ByteSpan data);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeTargetNavigatorList(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
-private:
- static constexpr CommandId kNavigateTargetCommandId = 0x00;
-};
-
-class DLL_EXPORT TemperatureMeasurementCluster : public ClusterBase
-{
-public:
- TemperatureMeasurementCluster() : ClusterBase(kTemperatureMeasurementClusterId) {}
- ~TemperatureMeasurementCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeMinMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeMaxMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ConfigureAttributeMeasuredValue(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t minInterval, uint16_t maxInterval, int16_t change);
- CHIP_ERROR ReportAttributeMeasuredValue(Callback::Cancelable * onReportCallback);
-};
-
-class DLL_EXPORT TestClusterCluster : public ClusterBase
-{
-public:
- TestClusterCluster() : ClusterBase(kTestClusterClusterId) {}
- ~TestClusterCluster() {}
-
- // Cluster Commands
- CHIP_ERROR Test(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR TestNotHandled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR TestSpecific(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBoolean(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBitmap8(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBitmap16(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBitmap32(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeBitmap64(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt8u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt16u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt32u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt64u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt8s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt16s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt32s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeInt64s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeEnum8(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeEnum16(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeOctetString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeListInt8u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeListOctetString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeListStructOctetString(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeBoolean(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
- CHIP_ERROR WriteAttributeBitmap8(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
- CHIP_ERROR WriteAttributeBitmap16(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeBitmap32(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint32_t value);
- CHIP_ERROR WriteAttributeBitmap64(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint64_t value);
- CHIP_ERROR WriteAttributeInt8u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
- CHIP_ERROR WriteAttributeInt16u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeInt32u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint32_t value);
- CHIP_ERROR WriteAttributeInt64u(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint64_t value);
- CHIP_ERROR WriteAttributeInt8s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- int8_t value);
- CHIP_ERROR WriteAttributeInt16s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- int16_t value);
- CHIP_ERROR WriteAttributeInt32s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- int32_t value);
- CHIP_ERROR WriteAttributeInt64s(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- int64_t value);
- CHIP_ERROR WriteAttributeEnum8(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
- CHIP_ERROR WriteAttributeEnum16(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint16_t value);
- CHIP_ERROR WriteAttributeOctetString(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- chip::ByteSpan value);
-
-private:
- static constexpr CommandId kTestCommandId = 0x00;
- static constexpr CommandId kTestNotHandledCommandId = 0x01;
- static constexpr CommandId kTestSpecificCommandId = 0x02;
-};
-
-class DLL_EXPORT ThermostatCluster : public ClusterBase
-{
-public:
- ThermostatCluster() : ClusterBase(kThermostatClusterId) {}
- ~ThermostatCluster() {}
-
- // Cluster Commands
- CHIP_ERROR ClearWeeklySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR GetRelayStatusLog(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR GetWeeklySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t daysToReturn, uint8_t modeToReturn);
- CHIP_ERROR SetWeeklySchedule(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t numberOfTransitionsForSequence, uint8_t dayOfWeekForSequence, uint8_t modeForSequence,
- uint8_t payload);
- CHIP_ERROR SetpointRaiseLower(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback, uint8_t mode,
- int8_t amount);
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeLocalTemperature(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeOccupiedCoolingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeOccupiedHeatingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeControlSequenceOfOperation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeSystemMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeOccupiedCoolingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int16_t value);
- CHIP_ERROR WriteAttributeOccupiedHeatingSetpoint(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, int16_t value);
- CHIP_ERROR WriteAttributeControlSequenceOfOperation(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint8_t value);
- CHIP_ERROR WriteAttributeSystemMode(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
- uint8_t value);
- CHIP_ERROR ConfigureAttributeLocalTemperature(Callback::Cancelable * onSuccessCallback,
- Callback::Cancelable * onFailureCallback, uint16_t minInterval,
- uint16_t maxInterval, int16_t change);
- CHIP_ERROR ReportAttributeLocalTemperature(Callback::Cancelable * onReportCallback);
-
-private:
- static constexpr CommandId kClearWeeklyScheduleCommandId = 0x03;
- static constexpr CommandId kGetRelayStatusLogCommandId = 0x04;
- static constexpr CommandId kGetWeeklyScheduleCommandId = 0x02;
- static constexpr CommandId kSetWeeklyScheduleCommandId = 0x01;
- static constexpr CommandId kSetpointRaiseLowerCommandId = 0x00;
-};
-
-class DLL_EXPORT WakeOnLanCluster : public ClusterBase
-{
-public:
- WakeOnLanCluster() : ClusterBase(kWakeOnLanClusterId) {}
- ~WakeOnLanCluster() {}
-
- // Cluster Attributes
- CHIP_ERROR DiscoverAttributes(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeWakeOnLanMacAddress(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
-};
-
-} // namespace Controller
-} // namespace chip
diff --git a/examples/chip-tool/gen/IMClusterCommandHandler.cpp b/examples/chip-tool/gen/IMClusterCommandHandler.cpp
deleted file mode 100644
index cbed2c2..0000000
--- a/examples/chip-tool/gen/IMClusterCommandHandler.cpp
+++ /dev/null
@@ -1,5367 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-#include <cinttypes>
-#include <cstdint>
-
-#include "af-structs.h"
-#include "app/util/util.h"
-#include "call-command-handler.h"
-#include "callback.h"
-#include "cluster-id.h"
-#include "command-id.h"
-
-#include <app/InteractionModelEngine.h>
-
-// Currently we need some work to keep compatible with ember lib.
-#include <app/util/ember-compatibility-functions.h>
-
-namespace chip {
-namespace app {
-
-// Cluster specific command parsing
-
-namespace clusters {
-
-namespace AccountLogin {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_GET_SETUP_PIN_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- const uint8_t * setupPIN;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(setupPIN);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfAccountLoginClusterGetSetupPINResponseCallback(apCommandObj, const_cast<uint8_t *>(setupPIN));
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_ACCOUNT_LOGIN_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_ACCOUNT_LOGIN_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_ACCOUNT_LOGIN_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace AccountLogin
-
-namespace ApplicationLauncher {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_LAUNCH_APP_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t status;
- const uint8_t * data;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled =
- emberAfApplicationLauncherClusterLaunchAppResponseCallback(apCommandObj, status, const_cast<uint8_t *>(data));
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_APPLICATION_LAUNCHER_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_APPLICATION_LAUNCHER_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_APPLICATION_LAUNCHER_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace ApplicationLauncher
-
-namespace ContentLaunch {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_LAUNCH_CONTENT_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- const uint8_t * data;
- uint8_t contentLaunchStatus;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(contentLaunchStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfContentLaunchClusterLaunchContentResponseCallback(apCommandObj, const_cast<uint8_t *>(data),
- contentLaunchStatus);
- }
- break;
- }
- case ZCL_LAUNCH_URL_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- const uint8_t * data;
- uint8_t contentLaunchStatus;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(contentLaunchStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfContentLaunchClusterLaunchURLResponseCallback(apCommandObj, const_cast<uint8_t *>(data),
- contentLaunchStatus);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_CONTENT_LAUNCH_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_CONTENT_LAUNCH_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_CONTENT_LAUNCH_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace ContentLaunch
-
-namespace DoorLock {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_CLEAR_ALL_PINS_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterClearAllPinsResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_CLEAR_ALL_RFIDS_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterClearAllRfidsResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_CLEAR_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterClearHolidayScheduleResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_CLEAR_PIN_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterClearPinResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_CLEAR_RFID_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterClearRfidResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_CLEAR_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterClearWeekdayScheduleResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_CLEAR_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterClearYeardayScheduleResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_GET_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 5;
- uint8_t scheduleId;
- uint8_t status;
- uint32_t localStartTime;
- uint32_t localEndTime;
- uint8_t operatingModeDuringHoliday;
- bool argExists[5];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 5)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(scheduleId);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(localStartTime);
- break;
- case 3:
- TLVUnpackError = aDataTlv.Get(localEndTime);
- break;
- case 4:
- TLVUnpackError = aDataTlv.Get(operatingModeDuringHoliday);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 5 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterGetHolidayScheduleResponseCallback(
- apCommandObj, scheduleId, status, localStartTime, localEndTime, operatingModeDuringHoliday);
- }
- break;
- }
- case ZCL_GET_LOG_RECORD_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 7;
- uint16_t logEntryId;
- uint32_t timestamp;
- uint8_t eventType;
- uint8_t source;
- uint8_t eventIdOrAlarmCode;
- uint16_t userId;
- const uint8_t * pin;
- bool argExists[7];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 7)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(logEntryId);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(timestamp);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(eventType);
- break;
- case 3:
- TLVUnpackError = aDataTlv.Get(source);
- break;
- case 4:
- TLVUnpackError = aDataTlv.Get(eventIdOrAlarmCode);
- break;
- case 5:
- TLVUnpackError = aDataTlv.Get(userId);
- break;
- case 6:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(pin);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 7 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterGetLogRecordResponseCallback(
- apCommandObj, logEntryId, timestamp, eventType, source, eventIdOrAlarmCode, userId, const_cast<uint8_t *>(pin));
- }
- break;
- }
- case ZCL_GET_PIN_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 4;
- uint16_t userId;
- uint8_t userStatus;
- uint8_t userType;
- const uint8_t * pin;
- bool argExists[4];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 4)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(userId);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(userStatus);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(userType);
- break;
- case 3:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(pin);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 4 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterGetPinResponseCallback(apCommandObj, userId, userStatus, userType,
- const_cast<uint8_t *>(pin));
- }
- break;
- }
- case ZCL_GET_RFID_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 4;
- uint16_t userId;
- uint8_t userStatus;
- uint8_t userType;
- const uint8_t * rfid;
- bool argExists[4];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 4)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(userId);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(userStatus);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(userType);
- break;
- case 3:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(rfid);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 4 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterGetRfidResponseCallback(apCommandObj, userId, userStatus, userType,
- const_cast<uint8_t *>(rfid));
- }
- break;
- }
- case ZCL_GET_USER_TYPE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint16_t userId;
- uint8_t userType;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(userId);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(userType);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterGetUserTypeResponseCallback(apCommandObj, userId, userType);
- }
- break;
- }
- case ZCL_GET_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 8;
- uint8_t scheduleId;
- uint16_t userId;
- uint8_t status;
- uint8_t daysMask;
- uint8_t startHour;
- uint8_t startMinute;
- uint8_t endHour;
- uint8_t endMinute;
- bool argExists[8];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 8)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(scheduleId);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(userId);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 3:
- TLVUnpackError = aDataTlv.Get(daysMask);
- break;
- case 4:
- TLVUnpackError = aDataTlv.Get(startHour);
- break;
- case 5:
- TLVUnpackError = aDataTlv.Get(startMinute);
- break;
- case 6:
- TLVUnpackError = aDataTlv.Get(endHour);
- break;
- case 7:
- TLVUnpackError = aDataTlv.Get(endMinute);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 8 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterGetWeekdayScheduleResponseCallback(
- apCommandObj, scheduleId, userId, status, daysMask, startHour, startMinute, endHour, endMinute);
- }
- break;
- }
- case ZCL_GET_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 5;
- uint8_t scheduleId;
- uint16_t userId;
- uint8_t status;
- uint32_t localStartTime;
- uint32_t localEndTime;
- bool argExists[5];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 5)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(scheduleId);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(userId);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 3:
- TLVUnpackError = aDataTlv.Get(localStartTime);
- break;
- case 4:
- TLVUnpackError = aDataTlv.Get(localEndTime);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 5 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterGetYeardayScheduleResponseCallback(apCommandObj, scheduleId, userId, status,
- localStartTime, localEndTime);
- }
- break;
- }
- case ZCL_LOCK_DOOR_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterLockDoorResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_SET_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterSetHolidayScheduleResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_SET_PIN_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterSetPinResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_SET_RFID_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterSetRfidResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_SET_USER_TYPE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterSetUserTypeResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_SET_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterSetWeekdayScheduleResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_SET_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterSetYeardayScheduleResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_UNLOCK_DOOR_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterUnlockDoorResponseCallback(apCommandObj, status);
- }
- break;
- }
- case ZCL_UNLOCK_WITH_TIMEOUT_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfDoorLockClusterUnlockWithTimeoutResponseCallback(apCommandObj, status);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_DOOR_LOCK_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_DOOR_LOCK_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_DOOR_LOCK_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace DoorLock
-
-namespace GeneralCommissioning {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_ARM_FAIL_SAFE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfGeneralCommissioningClusterArmFailSafeResponseCallback(apCommandObj, errorCode,
- const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_COMMISSIONING_COMPLETE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfGeneralCommissioningClusterCommissioningCompleteResponseCallback(
- apCommandObj, errorCode, const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_SET_REGULATORY_CONFIG_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfGeneralCommissioningClusterSetRegulatoryConfigResponseCallback(
- apCommandObj, errorCode, const_cast<uint8_t *>(debugText));
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_GENERAL_COMMISSIONING_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_GENERAL_COMMISSIONING_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_GENERAL_COMMISSIONING_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace GeneralCommissioning
-
-namespace Groups {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_ADD_GROUP_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t status;
- uint16_t groupId;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfGroupsClusterAddGroupResponseCallback(apCommandObj, status, groupId);
- }
- break;
- }
- case ZCL_GET_GROUP_MEMBERSHIP_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 3;
- uint8_t capacity;
- uint8_t groupCount;
- /* TYPE WARNING: array array defaults to */ uint8_t * groupList;
- bool argExists[3];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 3)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(capacity);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupCount);
- break;
- case 2:
- // Just for compatibility, we will add array type support in IM later.
- TLVUnpackError = aDataTlv.GetDataPtr(const_cast<const uint8_t *&>(groupList));
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 3 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfGroupsClusterGetGroupMembershipResponseCallback(apCommandObj, capacity, groupCount, groupList);
- }
- break;
- }
- case ZCL_REMOVE_GROUP_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t status;
- uint16_t groupId;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfGroupsClusterRemoveGroupResponseCallback(apCommandObj, status, groupId);
- }
- break;
- }
- case ZCL_VIEW_GROUP_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 3;
- uint8_t status;
- uint16_t groupId;
- const uint8_t * groupName;
- bool argExists[3];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 3)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- case 2:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(groupName);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 3 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled =
- emberAfGroupsClusterViewGroupResponseCallback(apCommandObj, status, groupId, const_cast<uint8_t *>(groupName));
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_GROUPS_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_GROUPS_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_GROUPS_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace Groups
-
-namespace Identify {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_IDENTIFY_QUERY_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint16_t timeout;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(timeout);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfIdentifyClusterIdentifyQueryResponseCallback(apCommandObj, timeout);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_IDENTIFY_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_IDENTIFY_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_IDENTIFY_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace Identify
-
-namespace KeypadInput {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_SEND_KEY_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t status;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfKeypadInputClusterSendKeyResponseCallback(apCommandObj, status);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_KEYPAD_INPUT_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_KEYPAD_INPUT_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_KEYPAD_INPUT_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace KeypadInput
-
-namespace MediaPlayback {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_MEDIA_FAST_FORWARD_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaFastForwardResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_NEXT_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaNextResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_PAUSE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaPauseResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_PLAY_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaPlayResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_PREVIOUS_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaPreviousResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_REWIND_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaRewindResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_SKIP_BACKWARD_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaSkipBackwardResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_SKIP_FORWARD_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaSkipForwardResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_SKIP_SEEK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaSkipSeekResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_START_OVER_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaStartOverResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- case ZCL_MEDIA_STOP_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t mediaPlaybackStatus;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(mediaPlaybackStatus);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfMediaPlaybackClusterMediaStopResponseCallback(apCommandObj, mediaPlaybackStatus);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_MEDIA_PLAYBACK_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_MEDIA_PLAYBACK_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_MEDIA_PLAYBACK_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace MediaPlayback
-
-namespace NetworkCommissioning {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_ADD_THREAD_NETWORK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterAddThreadNetworkResponseCallback(apCommandObj, errorCode,
- const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_ADD_WI_FI_NETWORK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterAddWiFiNetworkResponseCallback(apCommandObj, errorCode,
- const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_DISABLE_NETWORK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterDisableNetworkResponseCallback(apCommandObj, errorCode,
- const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_ENABLE_NETWORK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterEnableNetworkResponseCallback(apCommandObj, errorCode,
- const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_REMOVE_NETWORK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterRemoveNetworkResponseCallback(apCommandObj, errorCode,
- const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_SCAN_NETWORKS_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 4;
- uint8_t errorCode;
- const uint8_t * debugText;
- /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults;
- /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults;
- bool argExists[4];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 4)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- case 2:
- // Just for compatibility, we will add array type support in IM later.
- TLVUnpackError = aDataTlv.GetDataPtr(const_cast<const uint8_t *&>(wifiScanResults));
- break;
- case 3:
- // Just for compatibility, we will add array type support in IM later.
- TLVUnpackError = aDataTlv.GetDataPtr(const_cast<const uint8_t *&>(threadScanResults));
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 4 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterScanNetworksResponseCallback(
- apCommandObj, errorCode, const_cast<uint8_t *>(debugText), wifiScanResults, threadScanResults);
- }
- break;
- }
- case ZCL_UPDATE_THREAD_NETWORK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterUpdateThreadNetworkResponseCallback(
- apCommandObj, errorCode, const_cast<uint8_t *>(debugText));
- }
- break;
- }
- case ZCL_UPDATE_WI_FI_NETWORK_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t errorCode;
- const uint8_t * debugText;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(errorCode);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(debugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback(apCommandObj, errorCode,
- const_cast<uint8_t *>(debugText));
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_NETWORK_COMMISSIONING_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_NETWORK_COMMISSIONING_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_NETWORK_COMMISSIONING_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace NetworkCommissioning
-
-namespace OperationalCredentials {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_OP_CSR_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 6;
- chip::ByteSpan CSR;
- chip::ByteSpan CSRNonce;
- chip::ByteSpan VendorReserved1;
- chip::ByteSpan VendorReserved2;
- chip::ByteSpan VendorReserved3;
- chip::ByteSpan Signature;
- bool argExists[6];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 6)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0: {
- const uint8_t * data = nullptr;
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- CSR = chip::ByteSpan(data, aDataTlv.GetLength());
- }
- break;
- case 1: {
- const uint8_t * data = nullptr;
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- CSRNonce = chip::ByteSpan(data, aDataTlv.GetLength());
- }
- break;
- case 2: {
- const uint8_t * data = nullptr;
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- VendorReserved1 = chip::ByteSpan(data, aDataTlv.GetLength());
- }
- break;
- case 3: {
- const uint8_t * data = nullptr;
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- VendorReserved2 = chip::ByteSpan(data, aDataTlv.GetLength());
- }
- break;
- case 4: {
- const uint8_t * data = nullptr;
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- VendorReserved3 = chip::ByteSpan(data, aDataTlv.GetLength());
- }
- break;
- case 5: {
- const uint8_t * data = nullptr;
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- Signature = chip::ByteSpan(data, aDataTlv.GetLength());
- }
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 6 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfOperationalCredentialsClusterOpCSRResponseCallback(apCommandObj, CSR, CSRNonce, VendorReserved1,
- VendorReserved2, VendorReserved3, Signature);
- }
- break;
- }
- case ZCL_OP_CERT_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 3;
- uint8_t StatusCode;
- uint64_t FabricIndex;
- const uint8_t * DebugText;
- bool argExists[3];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 3)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(StatusCode);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(FabricIndex);
- break;
- case 2:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(DebugText);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 3 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfOperationalCredentialsClusterOpCertResponseCallback(apCommandObj, StatusCode, FabricIndex,
- const_cast<uint8_t *>(DebugText));
- }
- break;
- }
- case ZCL_SET_FABRIC_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- chip::FabricId FabricId;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(FabricId);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfOperationalCredentialsClusterSetFabricResponseCallback(apCommandObj, FabricId);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId,
- ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace OperationalCredentials
-
-namespace Scenes {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_ADD_SCENE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 3;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
- bool argExists[3];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 3)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(sceneId);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 3 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfScenesClusterAddSceneResponseCallback(apCommandObj, status, groupId, sceneId);
- }
- break;
- }
- case ZCL_GET_SCENE_MEMBERSHIP_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 5;
- uint8_t status;
- uint8_t capacity;
- uint16_t groupId;
- uint8_t sceneCount;
- /* TYPE WARNING: array array defaults to */ uint8_t * sceneList;
- bool argExists[5];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 5)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(capacity);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- case 3:
- TLVUnpackError = aDataTlv.Get(sceneCount);
- break;
- case 4:
- // Just for compatibility, we will add array type support in IM later.
- TLVUnpackError = aDataTlv.GetDataPtr(const_cast<const uint8_t *&>(sceneList));
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 5 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfScenesClusterGetSceneMembershipResponseCallback(apCommandObj, status, capacity, groupId,
- sceneCount, sceneList);
- }
- break;
- }
- case ZCL_REMOVE_ALL_SCENES_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t status;
- uint16_t groupId;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfScenesClusterRemoveAllScenesResponseCallback(apCommandObj, status, groupId);
- }
- break;
- }
- case ZCL_REMOVE_SCENE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 3;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
- bool argExists[3];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 3)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(sceneId);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 3 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfScenesClusterRemoveSceneResponseCallback(apCommandObj, status, groupId, sceneId);
- }
- break;
- }
- case ZCL_STORE_SCENE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 3;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
- bool argExists[3];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 3)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(sceneId);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 3 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfScenesClusterStoreSceneResponseCallback(apCommandObj, status, groupId, sceneId);
- }
- break;
- }
- case ZCL_VIEW_SCENE_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 6;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
- uint16_t transitionTime;
- const uint8_t * sceneName;
- /* TYPE WARNING: array array defaults to */ uint8_t * extensionFieldSets;
- bool argExists[6];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 6)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(groupId);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(sceneId);
- break;
- case 3:
- TLVUnpackError = aDataTlv.Get(transitionTime);
- break;
- case 4:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(sceneName);
- break;
- case 5:
- // Just for compatibility, we will add array type support in IM later.
- TLVUnpackError = aDataTlv.GetDataPtr(const_cast<const uint8_t *&>(extensionFieldSets));
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 6 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfScenesClusterViewSceneResponseCallback(apCommandObj, status, groupId, sceneId, transitionTime,
- const_cast<uint8_t *>(sceneName), extensionFieldSets);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_SCENES_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_SCENES_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_SCENES_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace Scenes
-
-namespace TvChannel {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_CHANGE_CHANNEL_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch;
- uint8_t ErrorType;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- // Just for compatibility, we will add array type support in IM later.
- TLVUnpackError = aDataTlv.GetDataPtr(const_cast<const uint8_t *&>(ChannelMatch));
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(ErrorType);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfTvChannelClusterChangeChannelResponseCallback(apCommandObj, ChannelMatch, ErrorType);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_TV_CHANNEL_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_TV_CHANNEL_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_TV_CHANNEL_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace TvChannel
-
-namespace TargetNavigator {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_NAVIGATE_TARGET_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 2;
- uint8_t status;
- const uint8_t * data;
- bool argExists[2];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 2)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(status);
- break;
- case 1:
- // TODO(#5542): The cluster handlers should accept a ByteSpan for all string types.
- TLVUnpackError = aDataTlv.GetDataPtr(data);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 2 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled =
- emberAfTargetNavigatorClusterNavigateTargetResponseCallback(apCommandObj, status, const_cast<uint8_t *>(data));
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_TARGET_NAVIGATOR_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_TARGET_NAVIGATOR_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_TARGET_NAVIGATOR_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace TargetNavigator
-
-namespace TestCluster {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_TEST_SPECIFIC_RESPONSE_COMMAND_ID: {
- expectArgumentCount = 1;
- uint8_t returnValue;
- bool argExists[1];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 1)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(returnValue);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 1 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfTestClusterClusterTestSpecificResponseCallback(apCommandObj, returnValue);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_TEST_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_TEST_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_TEST_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace TestCluster
-
-namespace Thermostat {
-
-void DispatchClientCommand(app::Command * apCommandObj, CommandId aCommandId, EndpointId aEndpointId, TLV::TLVReader & aDataTlv)
-{
- // We are using TLVUnpackError and TLVError here since both of them can be CHIP_END_OF_TLV
- // When TLVError is CHIP_END_OF_TLV, it means we have iterated all of the items, which is not a real error.
- // Any error value TLVUnpackError means we have received an illegal value.
- // The following variables are used for all commands to save code size.
- CHIP_ERROR TLVError = CHIP_NO_ERROR;
- CHIP_ERROR TLVUnpackError = CHIP_NO_ERROR;
- uint32_t validArgumentCount = 0;
- uint32_t expectArgumentCount = 0;
- uint32_t currentDecodeTagId = 0;
- bool wasHandled = false;
- {
- switch (aCommandId)
- {
- case ZCL_CURRENT_WEEKLY_SCHEDULE_COMMAND_ID: {
- expectArgumentCount = 4;
- uint8_t numberOfTransitionsForSequence;
- uint8_t dayOfWeekForSequence;
- uint8_t modeForSequence;
- /* TYPE WARNING: array array defaults to */ uint8_t * payload;
- bool argExists[4];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 4)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(numberOfTransitionsForSequence);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(dayOfWeekForSequence);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(modeForSequence);
- break;
- case 3:
- // Just for compatibility, we will add array type support in IM later.
- TLVUnpackError = aDataTlv.GetDataPtr(const_cast<const uint8_t *&>(payload));
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 4 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfThermostatClusterCurrentWeeklyScheduleCallback(apCommandObj, numberOfTransitionsForSequence,
- dayOfWeekForSequence, modeForSequence, payload);
- }
- break;
- }
- case ZCL_RELAY_STATUS_LOG_COMMAND_ID: {
- expectArgumentCount = 6;
- uint16_t timeOfDay;
- uint16_t relayStatus;
- int16_t localTemperature;
- uint8_t humidityInPercentage;
- int16_t setpoint;
- uint16_t unreadEntries;
- bool argExists[6];
-
- memset(argExists, 0, sizeof argExists);
-
- while ((TLVError = aDataTlv.Next()) == CHIP_NO_ERROR)
- {
- // Since call to aDataTlv.Next() is CHIP_NO_ERROR, the read head always points to an element.
- // Skip this element if it is not a ContextTag, not consider it as an error if other values are valid.
- if (!TLV::IsContextTag(aDataTlv.GetTag()))
- {
- continue;
- }
- currentDecodeTagId = TLV::TagNumFromTag(aDataTlv.GetTag());
- if (currentDecodeTagId < 6)
- {
- if (argExists[currentDecodeTagId])
- {
- ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
- TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
- break;
- }
- else
- {
- argExists[currentDecodeTagId] = true;
- validArgumentCount++;
- }
- }
- switch (currentDecodeTagId)
- {
- case 0:
- TLVUnpackError = aDataTlv.Get(timeOfDay);
- break;
- case 1:
- TLVUnpackError = aDataTlv.Get(relayStatus);
- break;
- case 2:
- TLVUnpackError = aDataTlv.Get(localTemperature);
- break;
- case 3:
- TLVUnpackError = aDataTlv.Get(humidityInPercentage);
- break;
- case 4:
- TLVUnpackError = aDataTlv.Get(setpoint);
- break;
- case 5:
- TLVUnpackError = aDataTlv.Get(unreadEntries);
- break;
- default:
- // Unsupported tag, ignore it.
- ChipLogProgress(Zcl, "Unknown TLV tag during processing.");
- break;
- }
- if (CHIP_NO_ERROR != TLVUnpackError)
- {
- break;
- }
- }
-
- if (CHIP_END_OF_TLV == TLVError)
- {
- // CHIP_END_OF_TLV means we have iterated all items in the structure, which is not a real error.
- TLVError = CHIP_NO_ERROR;
- }
-
- if (CHIP_NO_ERROR == TLVError && CHIP_NO_ERROR == TLVUnpackError && 6 == validArgumentCount)
- {
- // TODO(#5098) We should pass the Command Object and EndpointId to the cluster callbacks.
- wasHandled = emberAfThermostatClusterRelayStatusLogCallback(apCommandObj, timeOfDay, relayStatus, localTemperature,
- humidityInPercentage, setpoint, unreadEntries);
- }
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_THERMOSTAT_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown command %" PRIx16 " for cluster %" PRIx16, aCommandId, ZCL_THERMOSTAT_CLUSTER_ID);
- return;
- }
- }
- }
-
- if (CHIP_NO_ERROR != TLVError || CHIP_NO_ERROR != TLVUnpackError || expectArgumentCount != validArgumentCount || !wasHandled)
- {
- chip::app::CommandPathParams returnStatusParam = { aEndpointId,
- 0, // GroupId
- ZCL_THERMOSTAT_CLUSTER_ID, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kBadRequest,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogProgress(Zcl,
- "Failed to dispatch command, %d/%" PRIu32 " arguments parsed, TLVError=%" PRIu32 ", UnpackError=%" PRIu32
- " (last decoded tag = %" PRIu32,
- validArgumentCount, expectArgumentCount, TLVError, TLVUnpackError, currentDecodeTagId);
- }
-}
-
-} // namespace Thermostat
-
-} // namespace clusters
-
-void DispatchSingleClusterCommand(chip::ClusterId aClusterId, chip::CommandId aCommandId, chip::EndpointId aEndPointId,
- chip::TLV::TLVReader & aReader, Command * apCommandObj)
-{
- ChipLogDetail(Zcl, "Received Cluster Command: Cluster=%" PRIx16 " Command=%" PRIx8 " Endpoint=%" PRIx8, aClusterId, aCommandId,
- aEndPointId);
- Compatibility::SetupEmberAfObjects(apCommandObj, aClusterId, aCommandId, aEndPointId);
- TLV::TLVType dataTlvType;
- SuccessOrExit(aReader.EnterContainer(dataTlvType));
- switch (aClusterId)
- {
- case ZCL_ACCOUNT_LOGIN_CLUSTER_ID:
- clusters::AccountLogin::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_APPLICATION_LAUNCHER_CLUSTER_ID:
- clusters::ApplicationLauncher::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_CONTENT_LAUNCH_CLUSTER_ID:
- clusters::ContentLaunch::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_DOOR_LOCK_CLUSTER_ID:
- clusters::DoorLock::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_GENERAL_COMMISSIONING_CLUSTER_ID:
- clusters::GeneralCommissioning::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_GROUPS_CLUSTER_ID:
- clusters::Groups::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_IDENTIFY_CLUSTER_ID:
- clusters::Identify::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_KEYPAD_INPUT_CLUSTER_ID:
- clusters::KeypadInput::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_MEDIA_PLAYBACK_CLUSTER_ID:
- clusters::MediaPlayback::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_NETWORK_COMMISSIONING_CLUSTER_ID:
- clusters::NetworkCommissioning::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID:
- clusters::OperationalCredentials::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_SCENES_CLUSTER_ID:
- clusters::Scenes::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_TV_CHANNEL_CLUSTER_ID:
- clusters::TvChannel::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_TARGET_NAVIGATOR_CLUSTER_ID:
- clusters::TargetNavigator::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_TEST_CLUSTER_ID:
- clusters::TestCluster::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- case ZCL_THERMOSTAT_CLUSTER_ID:
- clusters::Thermostat::DispatchClientCommand(apCommandObj, aCommandId, aEndPointId, aReader);
- break;
- default:
- // Unrecognized cluster ID, error status will apply.
- chip::app::CommandPathParams returnStatusParam = { aEndPointId,
- 0, // GroupId
- aClusterId, aCommandId,
- (chip::app::CommandPathFlags::kEndpointIdValid) };
-
- apCommandObj->AddStatusCode(&returnStatusParam, Protocols::SecureChannel::GeneralStatusCode::kNotFound,
- Protocols::SecureChannel::Id, Protocols::SecureChannel::kProtocolCodeGeneralFailure);
- ChipLogError(Zcl, "Unknown cluster %" PRIx16, aClusterId);
- break;
- }
-exit:
- Compatibility::ResetEmberAfObjects();
- aReader.ExitContainer(dataTlvType);
-}
-
-} // namespace app
-} // namespace chip
diff --git a/examples/chip-tool/gen/af-gen-event.h b/examples/chip-tool/gen/af-gen-event.h
deleted file mode 100644
index 0b0c750..0000000
--- a/examples/chip-tool/gen/af-gen-event.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- *
- * Copyright (c) 2020 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- *
- * Copyright (c) 2020 Silicon Labs
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// This file is generated by Simplicity Studio. Please do not edit manually.
-//
-//
-
-// Enclosing macro to prevent multiple inclusion
-#ifndef __AF_GEN_EVENT__
-#define __AF_GEN_EVENT__
-
-// Code used to configure the cluster event mechanism
-#define EMBER_AF_GENERATED_EVENT_CODE
-// EmberEventData structs used to populate the EmberEventData table
-#define EMBER_AF_GENERATED_EVENTS
-#define EMBER_AF_GENERATED_EVENT_STRINGS
-
-#endif // __AF_GEN_EVENT__
diff --git a/examples/chip-tool/gen/af-structs.h b/examples/chip-tool/gen/af-structs.h
deleted file mode 100644
index 566b1bc..0000000
--- a/examples/chip-tool/gen/af-structs.h
+++ /dev/null
@@ -1,671 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include "enums.h"
-#include <app/util/basic-types.h>
-#include <stdint.h>
-#include <support/Span.h>
-
-// Struct for ApplicationLauncherApp
-typedef struct _ApplicationLauncherApp
-{
- uint16_t catalogVendorId;
- uint8_t * applicationId;
-} EmberAfApplicationLauncherApp;
-
-// Struct for AudioOutputInfo
-typedef struct _AudioOutputInfo
-{
- uint8_t index;
- uint8_t outputType;
- chip::ByteSpan name;
-} EmberAfAudioOutputInfo;
-
-// Struct for BasicCommissioningInfoType
-typedef struct _BasicCommissioningInfoType
-{
- uint32_t FailSafeExpiryLengthMs;
-} EmberAfBasicCommissioningInfoType;
-
-// Struct for BlockThreshold
-typedef struct _BlockThreshold
-{
- uint8_t blockThreshold;
- uint8_t priceControl;
- uint32_t blockPeriodStartTime;
- uint32_t blockPeriodDurationMinutes;
- uint8_t fuelType;
- uint32_t standingCharge;
-} EmberAfBlockThreshold;
-
-// Struct for BlockThresholdSubPayload
-typedef struct _BlockThresholdSubPayload
-{
- uint8_t tierNumberOfBlockThresholds;
- uint8_t * blockThreshold;
-} EmberAfBlockThresholdSubPayload;
-
-// Struct for ChatParticipant
-typedef struct _ChatParticipant
-{
- uint16_t uid;
- uint8_t * nickname;
-} EmberAfChatParticipant;
-
-// Struct for ChatRoom
-typedef struct _ChatRoom
-{
- uint16_t cid;
- uint8_t * name;
-} EmberAfChatRoom;
-
-// Struct for ConfigureReportingRecord
-typedef struct _ConfigureReportingRecord
-{
- uint8_t direction;
- chip::AttributeId attributeId;
- uint8_t attributeType;
- uint16_t minimumReportingInterval;
- uint16_t maximumReportingInterval;
- uint8_t * reportableChangeLocation;
- uint16_t timeoutPeriod;
-} EmberAfConfigureReportingRecord;
-
-// Struct for ConfigureReportingStatusRecord
-typedef struct _ConfigureReportingStatusRecord
-{
- uint8_t status;
- uint8_t direction;
- chip::AttributeId attributeId;
-} EmberAfConfigureReportingStatusRecord;
-
-// Struct for ContentLaunchAdditionalInfo
-typedef struct _ContentLaunchAdditionalInfo
-{
- uint8_t * name;
- uint8_t * value;
-} EmberAfContentLaunchAdditionalInfo;
-
-// Struct for ContentLaunchBrandingInformation
-typedef struct _ContentLaunchBrandingInformation
-{
- uint8_t * providerName;
- uint8_t background;
- uint8_t logo;
- uint8_t progressBar;
- uint8_t splash;
- uint8_t waterMark;
-} EmberAfContentLaunchBrandingInformation;
-
-// Struct for ContentLaunchDimension
-typedef struct _ContentLaunchDimension
-{
- uint8_t * width;
- uint8_t * height;
- uint8_t metric;
-} EmberAfContentLaunchDimension;
-
-// Struct for ContentLaunchParamater
-typedef struct _ContentLaunchParamater
-{
- uint8_t Type;
- uint8_t * Value;
- /* TYPE WARNING: array array defaults to */ uint8_t * ExternalIDList;
-} EmberAfContentLaunchParamater;
-
-// Struct for ContentLaunchStyleInformation
-typedef struct _ContentLaunchStyleInformation
-{
- uint8_t * imageUrl;
- uint8_t * color;
- uint8_t size;
-} EmberAfContentLaunchStyleInformation;
-
-// Struct for DebtPayload
-typedef struct _DebtPayload
-{
- uint32_t collectionTime;
- uint32_t amountCollected;
- uint8_t debtType;
- uint32_t outstandingDebt;
-} EmberAfDebtPayload;
-
-// Struct for DeviceInformationRecord
-typedef struct _DeviceInformationRecord
-{
- uint64_t ieeeAddress;
- chip::EndpointId endpointId;
- uint16_t profileId;
- uint16_t deviceId;
- uint8_t version;
- uint8_t groupIdCount;
- uint8_t sort;
-} EmberAfDeviceInformationRecord;
-
-// Struct for DeviceType
-typedef struct _DeviceType
-{
- chip::DeviceTypeId type;
- uint16_t revision;
-} EmberAfDeviceType;
-
-// Struct for DiscoverAttributesInfoRecord
-typedef struct _DiscoverAttributesInfoRecord
-{
- chip::AttributeId attributeId;
- uint8_t attributeType;
-} EmberAfDiscoverAttributesInfoRecord;
-
-// Struct for EndpointInformationRecord
-typedef struct _EndpointInformationRecord
-{
- uint16_t networkAddress;
- chip::EndpointId endpointId;
- uint16_t profileId;
- uint16_t deviceId;
- uint8_t version;
-} EmberAfEndpointInformationRecord;
-
-// Void typedef for EmberAfEphemeralData which is empty.
-// this will result in all the references to the data being as uint8_t*
-typedef uint8_t EmberAfEphemeralData;
-
-// Struct for EventConfigurationPayload
-typedef struct _EventConfigurationPayload
-{
- uint16_t eventId;
- uint8_t eventConfiguration;
-} EmberAfEventConfigurationPayload;
-
-// Struct for EventLogPayload
-typedef struct _EventLogPayload
-{
- uint8_t logId;
- uint16_t eventId;
- uint32_t eventTime;
- chip::ByteSpan eventData;
-} EmberAfEventLogPayload;
-
-// Struct for ExtendedDiscoverAttributesInfoRecord
-typedef struct _ExtendedDiscoverAttributesInfoRecord
-{
- chip::AttributeId attributeId;
- uint8_t attributeType;
- uint8_t attributeAccessControl;
-} EmberAfExtendedDiscoverAttributesInfoRecord;
-
-// Struct for FabricDescriptor
-typedef struct _FabricDescriptor
-{
- chip::FabricId FabricId;
- uint16_t VendorId;
- chip::NodeId NodeId;
-} EmberAfFabricDescriptor;
-
-// Struct for GpPairingConfigurationGroupList
-typedef struct _GpPairingConfigurationGroupList
-{
- uint16_t SinkGroup;
- uint16_t Alias;
-} EmberAfGpPairingConfigurationGroupList;
-
-// Struct for GpTranslationTableUpdateTranslation
-typedef struct _GpTranslationTableUpdateTranslation
-{
- uint8_t index;
- uint8_t gpdCommandId;
- chip::EndpointId endpoint;
- uint16_t profile;
- uint16_t cluster;
- uint8_t zigbeeCommandId;
- chip::ByteSpan zigbeeCommandPayload;
- chip::ByteSpan additionalInfoBlock;
-} EmberAfGpTranslationTableUpdateTranslation;
-
-// Struct for GroupInformationRecord
-typedef struct _GroupInformationRecord
-{
- chip::GroupId groupId;
- uint8_t groupType;
-} EmberAfGroupInformationRecord;
-
-// Struct for GroupKey
-typedef struct _GroupKey
-{
- uint16_t VendorId;
- uint16_t GroupKeyIndex;
- chip::ByteSpan GroupKeyRoot;
- uint64_t GroupKeyEpochStartTime;
- uint8_t GroupKeySecurityPolicy;
-} EmberAfGroupKey;
-
-// Struct for GroupState
-typedef struct _GroupState
-{
- uint16_t VendorId;
- uint16_t VendorGroupId;
- uint16_t GroupKeySetIndex;
-} EmberAfGroupState;
-
-// Struct for IasAceZoneStatusResult
-typedef struct _IasAceZoneStatusResult
-{
- uint8_t zoneId;
- uint16_t zoneStatus;
-} EmberAfIasAceZoneStatusResult;
-
-// Void typedef for EmberAfIdentity which is empty.
-// this will result in all the references to the data being as uint8_t*
-typedef uint8_t EmberAfIdentity;
-
-// Struct for MediaInputInfo
-typedef struct _MediaInputInfo
-{
- uint8_t index;
- uint8_t inputType;
- chip::ByteSpan name;
- chip::ByteSpan description;
-} EmberAfMediaInputInfo;
-
-// Struct for MediaPlaybackPosition
-typedef struct _MediaPlaybackPosition
-{
- uint64_t updatedAt;
- uint64_t position;
-} EmberAfMediaPlaybackPosition;
-
-// Struct for NavigateTargetTargetInfo
-typedef struct _NavigateTargetTargetInfo
-{
- uint8_t identifier;
- chip::ByteSpan name;
-} EmberAfNavigateTargetTargetInfo;
-
-// Struct for NeighborInfo
-typedef struct _NeighborInfo
-{
- uint64_t neighbor;
- int16_t x;
- int16_t y;
- int16_t z;
- int8_t rssi;
- uint8_t numberRssiMeasurements;
-} EmberAfNeighborInfo;
-
-// Struct for NeighborTable
-typedef struct _NeighborTable
-{
- uint64_t ExtAddress;
- uint32_t Age;
- uint16_t Rloc16;
- uint32_t LinkFrameCounter;
- uint32_t MleFrameCounter;
- uint8_t LQI;
- int8_t AverageRssi;
- int8_t LastRssi;
- uint8_t FrameErrorRate;
- uint8_t MessageErrorRate;
- uint8_t RxOnWhenIdle;
- uint8_t FullThreadDevice;
- uint8_t FullNetworkData;
- uint8_t IsChild;
-} EmberAfNeighborTable;
-
-// Struct for NetworkInterfaceType
-typedef struct _NetworkInterfaceType
-{
- chip::ByteSpan Name;
- uint8_t FabricConnected;
- uint8_t OffPremiseServicesReachableIPv4;
- uint8_t OffPremiseServicesReachableIPv6;
- uint64_t HardwareAddress;
- uint8_t Type;
-} EmberAfNetworkInterfaceType;
-
-// Struct for NodeInformation
-typedef struct _NodeInformation
-{
- uint16_t uid;
- uint16_t address;
- chip::EndpointId endpoint;
- uint8_t * nickname;
-} EmberAfNodeInformation;
-
-// Struct for Notification
-typedef struct _Notification
-{
- uint16_t contentId;
- uint8_t statusFeedback;
-} EmberAfNotification;
-
-// Struct for OperationalDatasetComponents
-typedef struct _OperationalDatasetComponents
-{
- uint8_t ActiveTimestampPresent;
- uint8_t PendingTimestampPresent;
- uint8_t MasterKeyPresent;
- uint8_t NetworkNamePresent;
- uint8_t ExtendedPanIdPresent;
- uint8_t MeshLocalPrefixPresent;
- uint8_t DelayPresent;
- uint8_t PanIdPresent;
- uint8_t ChannelPresent;
- uint8_t PskcPresent;
- uint8_t SecurityPolicyPresent;
- uint8_t ChannelMaskPresent;
-} EmberAfOperationalDatasetComponents;
-
-// Struct for PowerProfileRecord
-typedef struct _PowerProfileRecord
-{
- uint8_t powerProfileId;
- uint8_t energyPhaseId;
- uint8_t powerProfileRemoteControl;
- uint8_t powerProfileState;
-} EmberAfPowerProfileRecord;
-
-// Struct for PriceMatrixSubPayload
-typedef struct _PriceMatrixSubPayload
-{
- uint8_t tierBlockId;
- uint32_t price;
-} EmberAfPriceMatrixSubPayload;
-
-// Struct for Protocol
-typedef struct _Protocol
-{
- uint16_t manufacturerCode;
- uint8_t protocolId;
-} EmberAfProtocol;
-
-// Struct for ReadAttributeStatusRecord
-typedef struct _ReadAttributeStatusRecord
-{
- chip::AttributeId attributeId;
- uint8_t status;
- uint8_t attributeType;
- uint8_t * attributeLocation;
-} EmberAfReadAttributeStatusRecord;
-
-// Struct for ReadReportingConfigurationAttributeRecord
-typedef struct _ReadReportingConfigurationAttributeRecord
-{
- uint8_t direction;
- chip::AttributeId attributeId;
-} EmberAfReadReportingConfigurationAttributeRecord;
-
-// Struct for ReadReportingConfigurationRecord
-typedef struct _ReadReportingConfigurationRecord
-{
- uint8_t status;
- uint8_t direction;
- chip::AttributeId attributeId;
- uint8_t attributeType;
- uint16_t minimumReportingInterval;
- uint16_t maximumReportingInterval;
- uint8_t * reportableChangeLocation;
- uint16_t timeoutPeriod;
-} EmberAfReadReportingConfigurationRecord;
-
-// Struct for ReadStructuredAttributeRecord
-typedef struct _ReadStructuredAttributeRecord
-{
- chip::AttributeId attributeId;
- uint8_t indicator;
- uint16_t indicies;
-} EmberAfReadStructuredAttributeRecord;
-
-// Struct for ReportAttributeRecord
-typedef struct _ReportAttributeRecord
-{
- chip::AttributeId attributeId;
- uint8_t attributeType;
- uint8_t * attributeLocation;
-} EmberAfReportAttributeRecord;
-
-// Struct for RouteTable
-typedef struct _RouteTable
-{
- uint64_t ExtAddress;
- uint16_t Rloc16;
- uint8_t RouterId;
- uint8_t NextHop;
- uint8_t PathCost;
- uint8_t LQIIn;
- uint8_t LQIOut;
- uint8_t Age;
- uint8_t Allocated;
- uint8_t LinkEstablished;
-} EmberAfRouteTable;
-
-// Struct for SceneExtensionAttributeInfo
-typedef struct _SceneExtensionAttributeInfo
-{
- uint8_t attributeType;
- uint8_t * attributeLocation;
-} EmberAfSceneExtensionAttributeInfo;
-
-// Struct for SceneExtensionFieldSet
-typedef struct _SceneExtensionFieldSet
-{
- chip::ClusterId clusterId;
- uint8_t length;
- uint8_t value;
-} EmberAfSceneExtensionFieldSet;
-
-// Struct for ScheduleEntry
-typedef struct _ScheduleEntry
-{
- uint16_t startTime;
- uint8_t activePriceTierOrFriendlyCreditEnable;
-} EmberAfScheduleEntry;
-
-// Struct for ScheduleEntryAuxilliaryLoadSwitchTimes
-typedef struct _ScheduleEntryAuxilliaryLoadSwitchTimes
-{
- uint16_t startTime;
- uint8_t auxiliaryLoadSwitchState;
-} EmberAfScheduleEntryAuxilliaryLoadSwitchTimes;
-
-// Struct for ScheduleEntryFriendlyCreditSwitchTimes
-typedef struct _ScheduleEntryFriendlyCreditSwitchTimes
-{
- uint16_t startTime;
- uint8_t friendlyCreditEnable;
-} EmberAfScheduleEntryFriendlyCreditSwitchTimes;
-
-// Struct for ScheduleEntryRateSwitchTimes
-typedef struct _ScheduleEntryRateSwitchTimes
-{
- uint16_t startTime;
- uint8_t priceTier;
-} EmberAfScheduleEntryRateSwitchTimes;
-
-// Struct for ScheduledPhase
-typedef struct _ScheduledPhase
-{
- uint8_t energyPhaseId;
- uint16_t scheduledTime;
-} EmberAfScheduledPhase;
-
-// Struct for SeasonEntry
-typedef struct _SeasonEntry
-{
- uint32_t seasonStartDate;
- uint8_t weekIdRef;
-} EmberAfSeasonEntry;
-
-// Struct for SecurityPolicy
-typedef struct _SecurityPolicy
-{
- uint16_t RotationTime;
- uint8_t Flags;
-} EmberAfSecurityPolicy;
-
-// Void typedef for EmberAfSignature which is empty.
-// this will result in all the references to the data being as uint8_t*
-typedef uint8_t EmberAfSignature;
-
-// Void typedef for EmberAfSmac which is empty.
-// this will result in all the references to the data being as uint8_t*
-typedef uint8_t EmberAfSmac;
-
-// Struct for SnapshotResponsePayload
-typedef struct _SnapshotResponsePayload
-{
- uint8_t snapshotScheduleId;
- uint8_t snapshotScheduleConfirmation;
-} EmberAfSnapshotResponsePayload;
-
-// Struct for SnapshotSchedulePayload
-typedef struct _SnapshotSchedulePayload
-{
- uint8_t snapshotScheduleId;
- uint32_t snapshotStartTime;
- uint32_t snapshotSchedule;
- uint8_t snapshotPayloadType;
- uint32_t snapshotCause;
-} EmberAfSnapshotSchedulePayload;
-
-// Struct for SpecialDay
-typedef struct _SpecialDay
-{
- uint32_t specialDayDate;
- uint8_t dayIdRef;
-} EmberAfSpecialDay;
-
-// Struct for TestListStructOctet
-typedef struct _TestListStructOctet
-{
- uint64_t fabricIndex;
- chip::ByteSpan operationalCert;
-} EmberAfTestListStructOctet;
-
-// Struct for ThreadInterfaceScanResult
-typedef struct _ThreadInterfaceScanResult
-{
- chip::ByteSpan DiscoveryResponse;
-} EmberAfThreadInterfaceScanResult;
-
-// Struct for TierLabelsPayload
-typedef struct _TierLabelsPayload
-{
- uint8_t tierId;
- chip::ByteSpan tierLabel;
-} EmberAfTierLabelsPayload;
-
-// Struct for TopUpPayload
-typedef struct _TopUpPayload
-{
- chip::ByteSpan topUpCode;
- int32_t topUpAmount;
- uint32_t topUpTime;
-} EmberAfTopUpPayload;
-
-// Struct for TransferredPhase
-typedef struct _TransferredPhase
-{
- uint8_t energyPhaseId;
- uint8_t macroPhaseId;
- uint16_t expectedDuration;
- uint16_t peakPower;
- uint16_t energy;
- uint16_t maxActivationDelay;
-} EmberAfTransferredPhase;
-
-// Struct for TvChannelInfo
-typedef struct _TvChannelInfo
-{
- uint16_t majorNumber;
- uint16_t minorNumber;
- chip::ByteSpan name;
- chip::ByteSpan callSign;
- chip::ByteSpan affiliateCallSign;
-} EmberAfTvChannelInfo;
-
-// Struct for TvChannelLineupInfo
-typedef struct _TvChannelLineupInfo
-{
- uint8_t * operatorName;
- uint8_t * lineupName;
- uint8_t * postalCode;
- uint8_t lineupInfoType;
-} EmberAfTvChannelLineupInfo;
-
-// Struct for WiFiInterfaceScanResult
-typedef struct _WiFiInterfaceScanResult
-{
- uint8_t Security;
- chip::ByteSpan SSID;
- chip::ByteSpan BSSID;
- uint8_t Channel;
- uint32_t FrequencyBand;
-} EmberAfWiFiInterfaceScanResult;
-
-// Struct for WriteAttributeRecord
-typedef struct _WriteAttributeRecord
-{
- chip::AttributeId attributeId;
- uint8_t attributeType;
- uint8_t * attributeLocation;
-} EmberAfWriteAttributeRecord;
-
-// Struct for WriteAttributeStatusRecord
-typedef struct _WriteAttributeStatusRecord
-{
- uint8_t status;
- chip::AttributeId attributeId;
-} EmberAfWriteAttributeStatusRecord;
-
-// Struct for WriteStructuredAttributeRecord
-typedef struct _WriteStructuredAttributeRecord
-{
- chip::AttributeId attributeId;
- uint8_t indicator;
- uint16_t indicies;
- uint8_t attributeType;
- uint8_t * attributeLocation;
-} EmberAfWriteStructuredAttributeRecord;
-
-// Struct for WriteStructuredAttributeStatusRecord
-typedef struct _WriteStructuredAttributeStatusRecord
-{
- uint8_t status;
- chip::AttributeId attributeId;
- uint8_t indicator;
- uint16_t indicies;
-} EmberAfWriteStructuredAttributeStatusRecord;
-
-// Struct for WwahBeaconSurvey
-typedef struct _WwahBeaconSurvey
-{
- uint16_t deviceShort;
- uint8_t rssi;
- uint8_t classificationMask;
-} EmberAfWwahBeaconSurvey;
-
-// Struct for WwahClusterStatusToUseTC
-typedef struct _WwahClusterStatusToUseTC
-{
- chip::ClusterId clusterId;
- uint8_t status;
-} EmberAfWwahClusterStatusToUseTC;
diff --git a/examples/chip-tool/gen/att-storage.h b/examples/chip-tool/gen/att-storage.h
deleted file mode 100644
index bd817b7..0000000
--- a/examples/chip-tool/gen/att-storage.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// Attribute masks modify how attributes are used by the framework
-//
-// Attribute that has this mask is NOT read-only
-#define ATTRIBUTE_MASK_WRITABLE (0x01)
-// Attribute that has this mask is saved to a token
-#define ATTRIBUTE_MASK_TOKENIZE (0x02)
-// Attribute that has this mask has a min/max values
-#define ATTRIBUTE_MASK_MIN_MAX (0x04)
-// Manufacturer specific attribute
-#define ATTRIBUTE_MASK_MANUFACTURER_SPECIFIC (0x08)
-// Attribute deferred to external storage
-#define ATTRIBUTE_MASK_EXTERNAL_STORAGE (0x10)
-// Attribute is singleton
-#define ATTRIBUTE_MASK_SINGLETON (0x20)
-// Attribute is a client attribute
-#define ATTRIBUTE_MASK_CLIENT (0x40)
-
-// Cluster masks modify how clusters are used by the framework
-//
-// Does this cluster have init function?
-#define CLUSTER_MASK_INIT_FUNCTION (0x01)
-// Does this cluster have attribute changed function?
-#define CLUSTER_MASK_ATTRIBUTE_CHANGED_FUNCTION (0x02)
-// Does this cluster have default response function?
-#define CLUSTER_MASK_DEFAULT_RESPONSE_FUNCTION (0x04)
-// Does this cluster have message sent function?
-#define CLUSTER_MASK_MESSAGE_SENT_FUNCTION (0x08)
-// Does this cluster have manufacturer specific attribute changed function?
-#define CLUSTER_MASK_MANUFACTURER_SPECIFIC_ATTRIBUTE_CHANGED_FUNCTION (0x10)
-// Does this cluster have pre-attribute changed function?
-#define CLUSTER_MASK_PRE_ATTRIBUTE_CHANGED_FUNCTION (0x20)
-// Cluster is a server
-#define CLUSTER_MASK_SERVER (0x40)
-// Cluster is a client
-#define CLUSTER_MASK_CLIENT (0x80)
-
-// Command masks modify meanings of commands
-//
-// Is sending of this client command supported
-#define COMMAND_MASK_OUTGOING_CLIENT (0x01)
-// Is sending of this server command supported
-#define COMMAND_MASK_OUTGOING_SERVER (0x02)
-// Is receiving of this client command supported
-#define COMMAND_MASK_INCOMING_CLIENT (0x04)
-// Is receiving of this server command supported
-#define COMMAND_MASK_INCOMING_SERVER (0x08)
-// Is this command manufacturer specific?
-#define COMMAND_MASK_MANUFACTURER_SPECIFIC (0x10)
diff --git a/examples/chip-tool/gen/attribute-id.h b/examples/chip-tool/gen/attribute-id.h
deleted file mode 100644
index 8a27c16..0000000
--- a/examples/chip-tool/gen/attribute-id.h
+++ /dev/null
@@ -1,4432 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// Global cluster attribute ids
-#define ZCL_FEATURE_MAP_CLIENT_ATTRIBUTE_ID (0xFFFC)
-#define ZCL_FEATURE_MAP_SERVER_ATTRIBUTE_ID (0xFFFC)
-#define ZCL_CLUSTER_REVISION_CLIENT_ATTRIBUTE_ID (0xFFFD)
-#define ZCL_CLUSTER_REVISION_SERVER_ATTRIBUTE_ID (0xFFFD)
-
-// Attribute ids for cluster: Power Configuration
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MAINS_VOLTAGE_ATTRIBUTE_ID (0x0000)
-#define ZCL_MAINS_FREQUENCY_ATTRIBUTE_ID (0x0001)
-#define ZCL_MAINS_ALARM_MASK_ATTRIBUTE_ID (0x0010)
-#define ZCL_MAINS_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0011)
-#define ZCL_MAINS_VOLTAGE_MAX_THRESHOLD_ATTRIBUTE_ID (0x0012)
-#define ZCL_MAINS_VOLTAGE_DWELL_TRIP_POINT_ATTRIBUTE_ID (0x0013)
-#define ZCL_BATTERY_VOLTAGE_ATTRIBUTE_ID (0x0020)
-#define ZCL_BATTERY_PERCENTAGE_REMAINING_ATTRIBUTE_ID (0x0021)
-#define ZCL_BATTERY_MANUFACTURER_ATTRIBUTE_ID (0x0030)
-#define ZCL_BATTERY_SIZE_ATTRIBUTE_ID (0x0031)
-#define ZCL_BATTERY_AHR_RATING_ATTRIBUTE_ID (0x0032)
-#define ZCL_BATTERY_QUANTITY_ATTRIBUTE_ID (0x0033)
-#define ZCL_BATTERY_RATED_VOLTAGE_ATTRIBUTE_ID (0x0034)
-#define ZCL_BATTERY_ALARM_MASK_ATTRIBUTE_ID (0x0035)
-#define ZCL_BATTERY_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0036)
-#define ZCL_BATTERY_VOLTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x0037)
-#define ZCL_BATTERY_VOLTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x0038)
-#define ZCL_BATTERY_VOLTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x0039)
-#define ZCL_BATTERY_PERCENTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x003A)
-#define ZCL_BATTERY_PERCENTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x003B)
-#define ZCL_BATTERY_PERCENTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x003C)
-#define ZCL_BATTERY_PERCENTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x003D)
-#define ZCL_BATTERY_ALARM_STATE_ATTRIBUTE_ID (0x003E)
-#define ZCL_BATTERY_2_VOLTAGE_ATTRIBUTE_ID (0x0040)
-#define ZCL_BATTERY_2_PERCENTAGE_REMAINING_ATTRIBUTE_ID (0x0041)
-#define ZCL_BATTERY_2_MANUFACTURER_ATTRIBUTE_ID (0x0050)
-#define ZCL_BATTERY_2_SIZE_ATTRIBUTE_ID (0x0051)
-#define ZCL_BATTERY_2_AHR_RATING_ATTRIBUTE_ID (0x0052)
-#define ZCL_BATTERY_2_QUANTITY_ATTRIBUTE_ID (0x0053)
-#define ZCL_BATTERY_2_RATED_VOLTAGE_ATTRIBUTE_ID (0x0054)
-#define ZCL_BATTERY_2_ALARM_MASK_ATTRIBUTE_ID (0x0055)
-#define ZCL_BATTERY_2_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0056)
-#define ZCL_BATTERY_2_VOLTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x0057)
-#define ZCL_BATTERY_2_VOLTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x0058)
-#define ZCL_BATTERY_2_VOLTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x0059)
-#define ZCL_BATTERY_2_PERCENTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x005A)
-#define ZCL_BATTERY_2_PERCENTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x005B)
-#define ZCL_BATTERY_2_PERCENTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x005C)
-#define ZCL_BATTERY_2_PERCENTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x005D)
-#define ZCL_BATTERY_2_ALARM_STATE_ATTRIBUTE_ID (0x005E)
-#define ZCL_BATTERY_3_VOLTAGE_ATTRIBUTE_ID (0x0060)
-#define ZCL_BATTERY_3_PERCENTAGE_REMAINING_ATTRIBUTE_ID (0x0061)
-#define ZCL_BATTERY_3_MANUFACTURER_ATTRIBUTE_ID (0x0070)
-#define ZCL_BATTERY_3_SIZE_ATTRIBUTE_ID (0x0071)
-#define ZCL_BATTERY_3_AHR_RATING_ATTRIBUTE_ID (0x0072)
-#define ZCL_BATTERY_3_QUANTITY_ATTRIBUTE_ID (0x0073)
-#define ZCL_BATTERY_3_RATED_VOLTAGE_ATTRIBUTE_ID (0x0074)
-#define ZCL_BATTERY_3_ALARM_MASK_ATTRIBUTE_ID (0x0075)
-#define ZCL_BATTERY_3_VOLTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x0076)
-#define ZCL_BATTERY_3_VOLTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x0077)
-#define ZCL_BATTERY_3_VOLTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x0078)
-#define ZCL_BATTERY_3_VOLTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x0079)
-#define ZCL_BATTERY_3_PERCENTAGE_MIN_THRESHOLD_ATTRIBUTE_ID (0x007A)
-#define ZCL_BATTERY_3_PERCENTAGE_THRESHOLD_1_ATTRIBUTE_ID (0x007B)
-#define ZCL_BATTERY_3_PERCENTAGE_THRESHOLD_2_ATTRIBUTE_ID (0x007C)
-#define ZCL_BATTERY_3_PERCENTAGE_THRESHOLD_3_ATTRIBUTE_ID (0x007D)
-#define ZCL_BATTERY_3_ALARM_STATE_ATTRIBUTE_ID (0x007E)
-
-// Attribute ids for cluster: Device Temperature Configuration
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CURRENT_TEMPERATURE_ATTRIBUTE_ID (0x0000)
-#define ZCL_MIN_TEMP_EXPERIENCED_ATTRIBUTE_ID (0x0001)
-#define ZCL_MAX_TEMP_EXPERIENCED_ATTRIBUTE_ID (0x0002)
-#define ZCL_OVER_TEMP_TOTAL_DWELL_ATTRIBUTE_ID (0x0003)
-#define ZCL_DEVICE_TEMP_ALARM_MASK_ATTRIBUTE_ID (0x0010)
-#define ZCL_LOW_TEMP_THRESHOLD_ATTRIBUTE_ID (0x0011)
-#define ZCL_HIGH_TEMP_THRESHOLD_ATTRIBUTE_ID (0x0012)
-#define ZCL_LOW_TEMP_DWELL_TRIP_POINT_ATTRIBUTE_ID (0x0013)
-#define ZCL_HIGH_TEMP_DWELL_TRIP_POINT_ATTRIBUTE_ID (0x0014)
-
-// Attribute ids for cluster: Identify
-
-// Client attributes
-
-// Server attributes
-#define ZCL_IDENTIFY_TIME_ATTRIBUTE_ID (0x0000)
-#define ZCL_COMMISSION_STATE_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Groups
-
-// Client attributes
-
-// Server attributes
-#define ZCL_GROUP_NAME_SUPPORT_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: Scenes
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SCENE_COUNT_ATTRIBUTE_ID (0x0000)
-#define ZCL_CURRENT_SCENE_ATTRIBUTE_ID (0x0001)
-#define ZCL_CURRENT_GROUP_ATTRIBUTE_ID (0x0002)
-#define ZCL_SCENE_VALID_ATTRIBUTE_ID (0x0003)
-#define ZCL_SCENE_NAME_SUPPORT_ATTRIBUTE_ID (0x0004)
-#define ZCL_LAST_CONFIGURED_BY_ATTRIBUTE_ID (0x0005)
-
-// Attribute ids for cluster: On/off
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ON_OFF_ATTRIBUTE_ID (0x0000)
-#define ZCL_SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_ATTRIBUTE_ID (0x0000)
-#define ZCL_SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_2_ATTRIBUTE_ID (0x0000)
-#define ZCL_SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_3_ATTRIBUTE_ID (0x0001)
-#define ZCL_SAMPLE_MFG_SPECIFIC_TRANSITION_TIME_4_ATTRIBUTE_ID (0x0001)
-#define ZCL_GLOBAL_SCENE_CONTROL_ATTRIBUTE_ID (0x4000)
-#define ZCL_ON_TIME_ATTRIBUTE_ID (0x4001)
-#define ZCL_OFF_WAIT_TIME_ATTRIBUTE_ID (0x4002)
-#define ZCL_START_UP_ON_OFF_ATTRIBUTE_ID (0x4003)
-
-// Attribute ids for cluster: On/off Switch Configuration
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SWITCH_TYPE_ATTRIBUTE_ID (0x0000)
-#define ZCL_SWITCH_ACTIONS_ATTRIBUTE_ID (0x0010)
-
-// Attribute ids for cluster: Level Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CURRENT_LEVEL_ATTRIBUTE_ID (0x0000)
-#define ZCL_LEVEL_CONTROL_REMAINING_TIME_ATTRIBUTE_ID (0x0001)
-#define ZCL_OPTIONS_ATTRIBUTE_ID (0x000F)
-#define ZCL_ON_OFF_TRANSITION_TIME_ATTRIBUTE_ID (0x0010)
-#define ZCL_ON_LEVEL_ATTRIBUTE_ID (0x0011)
-#define ZCL_ON_TRANSITION_TIME_ATTRIBUTE_ID (0x0012)
-#define ZCL_OFF_TRANSITION_TIME_ATTRIBUTE_ID (0x0013)
-#define ZCL_DEFAULT_MOVE_RATE_ATTRIBUTE_ID (0x0014)
-#define ZCL_START_UP_CURRENT_LEVEL_ATTRIBUTE_ID (0x4000)
-
-// Attribute ids for cluster: Alarms
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ALARM_COUNT_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: Time
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TIME_ATTRIBUTE_ID (0x0000)
-#define ZCL_TIME_STATUS_ATTRIBUTE_ID (0x0001)
-#define ZCL_TIME_ZONE_ATTRIBUTE_ID (0x0002)
-#define ZCL_DST_START_ATTRIBUTE_ID (0x0003)
-#define ZCL_DST_END_ATTRIBUTE_ID (0x0004)
-#define ZCL_DST_SHIFT_ATTRIBUTE_ID (0x0005)
-#define ZCL_STANDARD_TIME_ATTRIBUTE_ID (0x0006)
-#define ZCL_LOCAL_TIME_ATTRIBUTE_ID (0x0007)
-#define ZCL_LAST_SET_TIME_ATTRIBUTE_ID (0x0008)
-#define ZCL_VALID_UNTIL_TIME_ATTRIBUTE_ID (0x0009)
-
-// Attribute ids for cluster: RSSI Location
-
-// Client attributes
-
-// Server attributes
-#define ZCL_LOCATION_TYPE_ATTRIBUTE_ID (0x0000)
-#define ZCL_LOCATION_METHOD_ATTRIBUTE_ID (0x0001)
-#define ZCL_LOCATION_AGE_ATTRIBUTE_ID (0x0002)
-#define ZCL_QUALITY_MEASURE_ATTRIBUTE_ID (0x0003)
-#define ZCL_NUMBER_OF_DEVICES_ATTRIBUTE_ID (0x0004)
-#define ZCL_COORDINATE1_ATTRIBUTE_ID (0x0010)
-#define ZCL_COORDINATE2_ATTRIBUTE_ID (0x0011)
-#define ZCL_COORDINATE3_ATTRIBUTE_ID (0x0012)
-#define ZCL_POWER_ATTRIBUTE_ID (0x0013)
-#define ZCL_PATH_LOSS_EXPONENT_ATTRIBUTE_ID (0x0014)
-#define ZCL_REPORTING_PERIOD_ATTRIBUTE_ID (0x0015)
-#define ZCL_CALCULATION_PERIOD_ATTRIBUTE_ID (0x0016)
-#define ZCL_NUMBER_RSSI_MEASUREMENTS_ATTRIBUTE_ID (0x0017)
-
-// Attribute ids for cluster: Binary Input (Basic)
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ACTIVE_TEXT_ATTRIBUTE_ID (0x0004)
-#define ZCL_DESCRIPTION_ATTRIBUTE_ID (0x001C)
-#define ZCL_INACTIVE_TEXT_ATTRIBUTE_ID (0x002E)
-#define ZCL_OUT_OF_SERVICE_ATTRIBUTE_ID (0x0051)
-#define ZCL_POLARITY_ATTRIBUTE_ID (0x0054)
-#define ZCL_PRESENT_VALUE_ATTRIBUTE_ID (0x0055)
-#define ZCL_RELIABILITY_ATTRIBUTE_ID (0x0067)
-#define ZCL_STATUS_FLAGS_ATTRIBUTE_ID (0x006F)
-#define ZCL_APPLICATION_TYPE_ATTRIBUTE_ID (0x0100)
-
-// Attribute ids for cluster: Commissioning
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SHORT_ADDRESS_ATTRIBUTE_ID (0x0000)
-#define ZCL_EXTENDED_PAN_ID_ATTRIBUTE_ID (0x0001)
-#define ZCL_PAN_ID_ATTRIBUTE_ID (0x0002)
-#define ZCL_CHANNEL_MASK_ATTRIBUTE_ID (0x0003)
-#define ZCL_PROTOCOL_VERSION_ATTRIBUTE_ID (0x0004)
-#define ZCL_STACK_PROFILE_ATTRIBUTE_ID (0x0005)
-#define ZCL_STARTUP_CONTROL_ATTRIBUTE_ID (0x0006)
-#define ZCL_TRUST_CENTER_ADDRESS_ATTRIBUTE_ID (0x0010)
-#define ZCL_TRUST_CENTER_MASTER_KEY_ATTRIBUTE_ID (0x0011)
-#define ZCL_NETWORK_KEY_ATTRIBUTE_ID (0x0012)
-#define ZCL_USE_INSECURE_JOIN_ATTRIBUTE_ID (0x0013)
-#define ZCL_PRECONFIGURED_LINK_KEY_ATTRIBUTE_ID (0x0014)
-#define ZCL_NETWORK_KEY_SEQUENCE_NUMBER_ATTRIBUTE_ID (0x0015)
-#define ZCL_NETWORK_KEY_TYPE_ATTRIBUTE_ID (0x0016)
-#define ZCL_NETWORK_MANAGER_ADDRESS_ATTRIBUTE_ID (0x0017)
-#define ZCL_SCAN_ATTEMPTS_ATTRIBUTE_ID (0x0020)
-#define ZCL_TIME_BETWEEN_SCANS_ATTRIBUTE_ID (0x0021)
-#define ZCL_REJOIN_INTERVAL_ATTRIBUTE_ID (0x0022)
-#define ZCL_MAX_REJOIN_INTERVAL_ATTRIBUTE_ID (0x0023)
-#define ZCL_INDIRECT_POLL_RATE_ATTRIBUTE_ID (0x0030)
-#define ZCL_PARENT_RETRY_THRESHOLD_ATTRIBUTE_ID (0x0031)
-#define ZCL_CONCENTRATOR_FLAG_ATTRIBUTE_ID (0x0040)
-#define ZCL_CONCENTRATOR_RADIUS_ATTRIBUTE_ID (0x0041)
-#define ZCL_CONCENTRATOR_DISCOVERY_TIME_ATTRIBUTE_ID (0x0042)
-
-// Attribute ids for cluster: Partition
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PARTITION_MAXIMUM_INCOMING_TRANSFER_SIZE_ATTRIBUTE_ID (0x0000)
-#define ZCL_PARTITION_MAXIMUM_OUTGOING_TRANSFER_SIZE_ATTRIBUTE_ID (0x0001)
-#define ZCL_PARTIONED_FRAME_SIZE_ATTRIBUTE_ID (0x0002)
-#define ZCL_LARGE_FRAME_SIZE_ATTRIBUTE_ID (0x0003)
-#define ZCL_NUMBER_OF_ACK_FRAME_ATTRIBUTE_ID (0x0004)
-#define ZCL_NACK_TIMEOUT_ATTRIBUTE_ID (0x0005)
-#define ZCL_INTERFRAME_DELAY_ATTRIBUTE_ID (0x0006)
-#define ZCL_NUMBER_OF_SEND_RETRIES_ATTRIBUTE_ID (0x0007)
-#define ZCL_SENDER_TIMEOUT_ATTRIBUTE_ID (0x0008)
-#define ZCL_RECEIVER_TIMEOUT_ATTRIBUTE_ID (0x0009)
-
-// Attribute ids for cluster: Over the Air Bootloading
-
-// Client attributes
-#define ZCL_UPGRADE_SERVER_ID_ATTRIBUTE_ID (0x0000)
-#define ZCL_FILE_OFFSET_ATTRIBUTE_ID (0x0001)
-#define ZCL_CURRENT_FILE_VERSION_ATTRIBUTE_ID (0x0002)
-#define ZCL_CURRENT_ZIGBEE_STACK_VERSION_ATTRIBUTE_ID (0x0003)
-#define ZCL_DOWNLOADED_FILE_VERSION_ATTRIBUTE_ID (0x0004)
-#define ZCL_DOWNLOADED_ZIGBEE_STACK_VERSION_ATTRIBUTE_ID (0x0005)
-#define ZCL_IMAGE_UPGRADE_STATUS_ATTRIBUTE_ID (0x0006)
-#define ZCL_MANUFACTURER_ID_ATTRIBUTE_ID (0x0007)
-#define ZCL_IMAGE_TYPE_ID_ATTRIBUTE_ID (0x0008)
-#define ZCL_MINIMUM_BLOCK_REQUEST_PERIOD_ATTRIBUTE_ID (0x0009)
-#define ZCL_IMAGE_STAMP_ATTRIBUTE_ID (0x000A)
-#define ZCL_UPGRADE_ACTIVATION_POLICY_ATTRIBUTE_ID (0x000B)
-#define ZCL_UPGRADE_TIMEOUT_POLICY_ATTRIBUTE_ID (0x000C)
-
-// Server attributes
-
-// Attribute ids for cluster: Power Profile
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TOTAL_PROFILE_NUM_ATTRIBUTE_ID (0x0000)
-#define ZCL_MULTIPLE_SCHEDULING_ATTRIBUTE_ID (0x0001)
-#define ZCL_ENERGY_FORMATTING_ATTRIBUTE_ID (0x0002)
-#define ZCL_ENERGY_REMOTE_ATTRIBUTE_ID (0x0003)
-#define ZCL_SCHEDULE_MODE_ATTRIBUTE_ID (0x0004)
-
-// Attribute ids for cluster: Appliance Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_START_TIME_ATTRIBUTE_ID (0x0000)
-#define ZCL_FINISH_TIME_ATTRIBUTE_ID (0x0001)
-#define ZCL_REMAINING_TIME_ATTRIBUTE_ID (0x0002)
-
-// Attribute ids for cluster: Descriptor
-
-// Client attributes
-
-// Server attributes
-#define ZCL_DEVICE_LIST_ATTRIBUTE_ID (0x0000)
-#define ZCL_SERVER_LIST_ATTRIBUTE_ID (0x0001)
-#define ZCL_CLIENT_LIST_ATTRIBUTE_ID (0x0002)
-#define ZCL_PARTS_LIST_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Poll Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CHECK_IN_INTERVAL_ATTRIBUTE_ID (0x0000)
-#define ZCL_LONG_POLL_INTERVAL_ATTRIBUTE_ID (0x0001)
-#define ZCL_SHORT_POLL_INTERVAL_ATTRIBUTE_ID (0x0002)
-#define ZCL_FAST_POLL_TIMEOUT_ATTRIBUTE_ID (0x0003)
-#define ZCL_CHECK_IN_INTERVAL_MIN_ATTRIBUTE_ID (0x0004)
-#define ZCL_LONG_POLL_INTERVAL_MIN_ATTRIBUTE_ID (0x0005)
-#define ZCL_FAST_POLL_TIMEOUT_MAX_ATTRIBUTE_ID (0x0006)
-
-// Attribute ids for cluster: Green Power
-
-// Client attributes
-#define ZCL_GP_CLIENT_GPP_MAX_PROXY_TABLE_ENTRIES_ATTRIBUTE_ID (0x0010)
-#define ZCL_GP_CLIENT_PROXY_TABLE_ATTRIBUTE_ID (0x0011)
-#define ZCL_GP_CLIENT_GPP_NOTIFICATION_RETRY_NUMBER_ATTRIBUTE_ID (0x0012)
-#define ZCL_GP_CLIENT_GPP_NOTIFICATION_RETRY_TIMER_ATTRIBUTE_ID (0x0013)
-#define ZCL_GP_CLIENT_GPP_MAX_SEARCH_COUNTER_ATTRIBUTE_ID (0x0014)
-#define ZCL_GP_CLIENT_GPP_BLOCKED_GPD_ID_ATTRIBUTE_ID (0x0015)
-#define ZCL_GP_CLIENT_GPP_FUNCTIONALITY_ATTRIBUTE_ID (0x0016)
-#define ZCL_GP_CLIENT_GPP_ACTIVE_FUNCTIONALITY_ATTRIBUTE_ID (0x0017)
-#define ZCL_GP_CLIENT_GP_SHARED_SECURITY_KEY_TYPE_ATTRIBUTE_ID (0x0020)
-#define ZCL_GP_CLIENT_GP_SHARED_SECURITY_KEY_ATTRIBUTE_ID (0x0021)
-#define ZCL_GP_CLIENT_GP_LINK_KEY_ATTRIBUTE_ID (0x0022)
-
-// Server attributes
-#define ZCL_GP_SERVER_GPS_MAX_SINK_TABLE_ENTRIES_ATTRIBUTE_ID (0x0000)
-#define ZCL_GP_SERVER_SINK_TABLE_ATTRIBUTE_ID (0x0001)
-#define ZCL_GP_SERVER_GPS_COMMUNICATION_MODE_ATTRIBUTE_ID (0x0002)
-#define ZCL_GP_SERVER_GPS_COMMISSIONING_EXIT_MODE_ATTRIBUTE_ID (0x0003)
-#define ZCL_GP_SERVER_GPS_COMMISSIONING_WINDOW_ATTRIBUTE_ID (0x0004)
-#define ZCL_GP_SERVER_GPS_SECURITY_LEVEL_ATTRIBUTE_ID (0x0005)
-#define ZCL_GP_SERVER_GPS_FUNCTIONALITY_ATTRIBUTE_ID (0x0006)
-#define ZCL_GP_SERVER_GPS_ACTIVE_FUNCTIONALITY_ATTRIBUTE_ID (0x0007)
-#define ZCL_GP_SERVER_GP_SHARED_SECURITY_KEY_TYPE_ATTRIBUTE_ID (0x0020)
-#define ZCL_GP_SERVER_GP_SHARED_SECURITY_KEY_ATTRIBUTE_ID (0x0021)
-#define ZCL_GP_SERVER_GP_LINK_KEY_ATTRIBUTE_ID (0x0022)
-
-// Attribute ids for cluster: Keep-Alive
-
-// Client attributes
-
-// Server attributes
-#define ZCL_KEEPALIVE_BASE_ATTRIBUTE_ID (0x0000)
-#define ZCL_KEEPALIVE_JITTER_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Basic
-
-// Client attributes
-
-// Server attributes
-#define ZCL_INTERACTION_MODEL_VERSION_ATTRIBUTE_ID (0x0000)
-#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0001)
-#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0002)
-#define ZCL_PRODUCT_NAME_ATTRIBUTE_ID (0x0003)
-#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0004)
-#define ZCL_USER_LABEL_ATTRIBUTE_ID (0x0005)
-#define ZCL_LOCATION_ATTRIBUTE_ID (0x0006)
-#define ZCL_HARDWARE_VERSION_ATTRIBUTE_ID (0x0007)
-#define ZCL_HARDWARE_VERSION_STRING_ATTRIBUTE_ID (0x0008)
-#define ZCL_SOFTWARE_VERSION_ATTRIBUTE_ID (0x0009)
-#define ZCL_SOFTWARE_VERSION_STRING_ATTRIBUTE_ID (0x000A)
-#define ZCL_MANUFACTURING_DATE_ATTRIBUTE_ID (0x000B)
-#define ZCL_PART_NUMBER_ATTRIBUTE_ID (0x000C)
-#define ZCL_PRODUCT_URL_ATTRIBUTE_ID (0x000D)
-#define ZCL_PRODUCT_LABEL_ATTRIBUTE_ID (0x000E)
-#define ZCL_SERIAL_NUMBER_ATTRIBUTE_ID (0x000F)
-#define ZCL_LOCAL_CONFIG_DISABLED_ATTRIBUTE_ID (0x0010)
-
-// Attribute ids for cluster: OTA Software Update Server
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: OTA Software Update Client
-
-// Client attributes
-#define ZCL_DEFAULT_OTA_SERVER_ATTRIBUTE_ID (0x0000)
-#define ZCL_UPDATE_POSSIBLE_ATTRIBUTE_ID (0x0001)
-
-// Server attributes
-
-// Attribute ids for cluster: General Commissioning
-
-// Client attributes
-
-// Server attributes
-#define ZCL_FABRIC_ID_ATTRIBUTE_ID (0x0000)
-#define ZCL_BREADCRUMB_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Network Commissioning
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: General Diagnostics
-
-// Client attributes
-
-// Server attributes
-#define ZCL_NETWORK_INTERFACES_ATTRIBUTE_ID (0x0000)
-#define ZCL_REBOOT_COUNT_ATTRIBUTE_ID (0x0001)
-#define ZCL_UPTIME_ATTRIBUTE_ID (0x0002)
-#define ZCL_TOTAL_OPERATIONAL_HOURS_ATTRIBUTE_ID (0x0003)
-#define ZCL_BOOT_REASONS_ATTRIBUTE_ID (0x0004)
-#define ZCL_ACTIVE_HARDWARE_FAULTS_ATTRIBUTE_ID (0x0005)
-#define ZCL_ACTIVE_RADIO_FAULTS_ATTRIBUTE_ID (0x0006)
-#define ZCL_ACTIVE_NETWORK_FAULTS_ATTRIBUTE_ID (0x0007)
-
-// Attribute ids for cluster: Thread Network Diagnostics
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CHANNEL_ATTRIBUTE_ID (0x0000)
-#define ZCL_ROUTING_ROLE_ATTRIBUTE_ID (0x0001)
-#define ZCL_NETWORK_NAME_ATTRIBUTE_ID (0x0002)
-#define ZCL_DIAG_PAN_ID_ATTRIBUTE_ID (0x0003)
-#define ZCL_DIAG_EXTENDED_PAN_ID_ATTRIBUTE_ID (0x0004)
-#define ZCL_MESH_LOCAL_PREFIX_ATTRIBUTE_ID (0x0005)
-#define ZCL_DIAG_OVERRUN_COUNT_ATTRIBUTE_ID (0x0006)
-#define ZCL_NEIGHBOR_TABLE_ATTRIBUTE_ID (0x0007)
-#define ZCL_ROUTE_TABLE_ATTRIBUTE_ID (0x0008)
-#define ZCL_PARTITION_ID_ATTRIBUTE_ID (0x0009)
-#define ZCL_WEIGHTING_ATTRIBUTE_ID (0x000A)
-#define ZCL_DATA_VERSION_ATTRIBUTE_ID (0x000B)
-#define ZCL_STABLE_DATA_VERSION_ATTRIBUTE_ID (0x000C)
-#define ZCL_LEADER_ROUTER_ID_ATTRIBUTE_ID (0x000D)
-#define ZCL_DETACHED_ROLE_COUNT_ATTRIBUTE_ID (0x000E)
-#define ZCL_CHILD_ROLE_COUNT_ATTRIBUTE_ID (0x000F)
-#define ZCL_ROUTER_ROLE_COUNT_ATTRIBUTE_ID (0x0010)
-#define ZCL_LEADER_ROLE_COUNT_ATTRIBUTE_ID (0x0011)
-#define ZCL_ATTACH_ATTEMPT_COUNT_ATTRIBUTE_ID (0x0012)
-#define ZCL_PARTITION_ID_CHANGE_COUNT_ATTRIBUTE_ID (0x0013)
-#define ZCL_BETTER_PARTITION_ATTACH_ATTEMPT_COUNT_ATTRIBUTE_ID (0x0014)
-#define ZCL_PARENT_CHANGE_COUNT_ATTRIBUTE_ID (0x0015)
-#define ZCL_TX_TOTAL_COUNT_ATTRIBUTE_ID (0x0016)
-#define ZCL_TX_UNICAST_COUNT_ATTRIBUTE_ID (0x0017)
-#define ZCL_TX_BROADCAST_COUNT_ATTRIBUTE_ID (0x0018)
-#define ZCL_TX_ACK_REQUESTED_COUNT_ATTRIBUTE_ID (0x0019)
-#define ZCL_TX_ACKED_COUNT_ATTRIBUTE_ID (0x001A)
-#define ZCL_TX_NO_ACK_REQUESTED_COUNT_ATTRIBUTE_ID (0x001B)
-#define ZCL_TX_DATA_COUNT_ATTRIBUTE_ID (0x001C)
-#define ZCL_TX_DATA_POLL_COUNT_ATTRIBUTE_ID (0x001D)
-#define ZCL_TX_BEACON_COUNT_ATTRIBUTE_ID (0x001E)
-#define ZCL_TX_BEACON_REQUEST_COUNT_ATTRIBUTE_ID (0x001F)
-#define ZCL_TX_OTHER_COUNT_ATTRIBUTE_ID (0x0020)
-#define ZCL_TX_RETRY_COUNT_ATTRIBUTE_ID (0x0021)
-#define ZCL_TX_DIRECT_MAX_RETRY_EXPIRY_COUNT_ATTRIBUTE_ID (0x0022)
-#define ZCL_TX_INDIRECT_MAX_RETRY_EXPIRY_COUNT_ATTRIBUTE_ID (0x0023)
-#define ZCL_TX_ERR_CCA_COUNT_ATTRIBUTE_ID (0x0024)
-#define ZCL_TX_ERR_ABORT_COUNT_ATTRIBUTE_ID (0x0025)
-#define ZCL_TX_ERR_BUSY_CHANNEL_COUNT_ATTRIBUTE_ID (0x0026)
-#define ZCL_RX_TOTAL_COUNT_ATTRIBUTE_ID (0x0027)
-#define ZCL_RX_UNICAST_COUNT_ATTRIBUTE_ID (0x0028)
-#define ZCL_RX_BROADCAST_COUNT_ATTRIBUTE_ID (0x0029)
-#define ZCL_RX_DATA_COUNT_ATTRIBUTE_ID (0x002A)
-#define ZCL_RX_DATA_POLL_COUNT_ATTRIBUTE_ID (0x002B)
-#define ZCL_RX_BEACON_COUNT_ATTRIBUTE_ID (0x002C)
-#define ZCL_RX_BEACON_REQUEST_COUNT_ATTRIBUTE_ID (0x002D)
-#define ZCL_RX_OTHER_COUNT_ATTRIBUTE_ID (0x002E)
-#define ZCL_RX_ADDRESS_FILTERED_COUNT_ATTRIBUTE_ID (0x002F)
-#define ZCL_RX_DESTADDR_FILTERED_COUNT_ATTRIBUTE_ID (0x0030)
-#define ZCL_RX_DUPLICATED_COUNT_ATTRIBUTE_ID (0x0031)
-#define ZCL_RX_ERR_NO_FRAME_COUNT_ATTRIBUTE_ID (0x0032)
-#define ZCL_RX_ERR_UNKNOWN_NEIGHBOR_COUNT_ATTRIBUTE_ID (0x0033)
-#define ZCL_RX_ERR_INVALID_SRC_ADDR_COUNT_ATTRIBUTE_ID (0x0034)
-#define ZCL_RX_ERR_SEC_COUNT_ATTRIBUTE_ID (0x0035)
-#define ZCL_RX_ERR_FCS_COUNT_ATTRIBUTE_ID (0x0036)
-#define ZCL_RX_ERR_OTHER_COUNT_ATTRIBUTE_ID (0x0037)
-#define ZCL_ACTIVE_TIMESTAMP_ATTRIBUTE_ID (0x0038)
-#define ZCL_PENDING_TIMESTAMP_ATTRIBUTE_ID (0x0039)
-#define ZCL_DELAY_ATTRIBUTE_ID (0x003A)
-#define ZCL_SECURITY_POLICY_ATTRIBUTE_ID (0x003B)
-#define ZCL_DIAG_CHANNEL_MASK_ATTRIBUTE_ID (0x003C)
-#define ZCL_OPERATIONAL_DATASET_COMPONENTS_ATTRIBUTE_ID (0x003D)
-#define ZCL_ACTIVE_THREAD_NETWORK_FAULTS_ATTRIBUTE_ID (0x003E)
-
-// Attribute ids for cluster: WiFi Network Diagnostics
-
-// Client attributes
-
-// Server attributes
-#define ZCL_BSSID_ATTRIBUTE_ID (0x0000)
-#define ZCL_SECURITY_TYPE_ATTRIBUTE_ID (0x0001)
-#define ZCL_WIFI_VERSION_ATTRIBUTE_ID (0x0002)
-#define ZCL_CHANNEL_NUMBER_ATTRIBUTE_ID (0x0003)
-#define ZCL_RSSI_ATTRIBUTE_ID (0x0004)
-#define ZCL_BEACON_LOST_COUNT_ATTRIBUTE_ID (0x0005)
-#define ZCL_BEACON_RX_COUNT_ATTRIBUTE_ID (0x0006)
-#define ZCL_PACKET_MULTICAST_RX_COUNT_ATTRIBUTE_ID (0x0007)
-#define ZCL_PACKET_MULTICAST_TX_COUNT_ATTRIBUTE_ID (0x0008)
-#define ZCL_PACKET_UNICAST_RX_COUNT_ATTRIBUTE_ID (0x0009)
-#define ZCL_PACKET_UNICAST_TX_COUNT_ATTRIBUTE_ID (0x000A)
-#define ZCL_CURRENT_MAX_RATE_ATTRIBUTE_ID (0x000B)
-#define ZCL_OVERRUN_COUNT_ATTRIBUTE_ID (0x000C)
-
-// Attribute ids for cluster: Ethernet Network Diagnostics
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PHY_RATE_ATTRIBUTE_ID (0x0000)
-#define ZCL_FULL_DUPLEX_ATTRIBUTE_ID (0x0001)
-#define ZCL_PACKET_RX_COUNT_ATTRIBUTE_ID (0x0002)
-#define ZCL_PACKET_TX_COUNT_ATTRIBUTE_ID (0x0003)
-#define ZCL_TX_ERR_COUNT_ATTRIBUTE_ID (0x0004)
-#define ZCL_COLLISION_COUNT_ATTRIBUTE_ID (0x0005)
-#define ZCL_ETHERNET_OVERRUN_COUNT_ATTRIBUTE_ID (0x0006)
-#define ZCL_CARRIER_DETECT_ATTRIBUTE_ID (0x0007)
-#define ZCL_TIME_SINCE_RESET_ATTRIBUTE_ID (0x0008)
-
-// Attribute ids for cluster: Switch
-
-// Client attributes
-
-// Server attributes
-#define ZCL_NUMBER_OF_POSITIONS_ATTRIBUTE_ID (0x0000)
-#define ZCL_CURRENT_POSITION_ATTRIBUTE_ID (0x0001)
-#define ZCL_MULTI_PRESS_MAX_ATTRIBUTE_ID (0x0002)
-
-// Attribute ids for cluster: Operational Credentials
-
-// Client attributes
-
-// Server attributes
-#define ZCL_FABRICS_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Trusted Root Certificates
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Shade Configuration
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SHADE_CONFIG_PHYSICAL_CLOSED_LIMIT_ATTRIBUTE_ID (0x0000)
-#define ZCL_SHADE_CONFIG_MOTOR_STEP_SIZE_ATTRIBUTE_ID (0x0001)
-#define ZCL_SHADE_CONFIG_STATUS_ATTRIBUTE_ID (0x0002)
-#define ZCL_SHADE_CONFIG_CLOSED_LIMIT_ATTRIBUTE_ID (0x0010)
-#define ZCL_SHADE_CONFIG_MODE_ATTRIBUTE_ID (0x0011)
-
-// Attribute ids for cluster: Door Lock
-
-// Client attributes
-
-// Server attributes
-#define ZCL_LOCK_STATE_ATTRIBUTE_ID (0x0000)
-#define ZCL_LOCK_TYPE_ATTRIBUTE_ID (0x0001)
-#define ZCL_ACTUATOR_ENABLED_ATTRIBUTE_ID (0x0002)
-#define ZCL_DOOR_STATE_ATTRIBUTE_ID (0x0003)
-#define ZCL_DOOR_OPEN_EVENTS_ATTRIBUTE_ID (0x0004)
-#define ZCL_DOOR_CLOSED_EVENTS_ATTRIBUTE_ID (0x0005)
-#define ZCL_OPEN_PERIOD_ATTRIBUTE_ID (0x0006)
-#define ZCL_NUM_LOCK_RECORDS_SUPPORTED_ATTRIBUTE_ID (0x0010)
-#define ZCL_NUM_TOTAL_USERS_SUPPORTED_ATTRIBUTE_ID (0x0011)
-#define ZCL_NUM_PIN_USERS_SUPPORTED_ATTRIBUTE_ID (0x0012)
-#define ZCL_NUM_RFID_USERS_SUPPORTED_ATTRIBUTE_ID (0x0013)
-#define ZCL_NUM_WEEKDAY_SCHEDULES_SUPPORTED_PER_USER_ATTRIBUTE_ID (0x0014)
-#define ZCL_NUM_YEARDAY_SCHEDULES_SUPPORTED_PER_USER_ATTRIBUTE_ID (0x0015)
-#define ZCL_NUM_HOLIDAY_SCHEDULES_SUPPORTED_PER_USER_ATTRIBUTE_ID (0x0016)
-#define ZCL_MAX_PIN_LENGTH_ATTRIBUTE_ID (0x0017)
-#define ZCL_MIN_PIN_LENGTH_ATTRIBUTE_ID (0x0018)
-#define ZCL_MAX_RFID_CODE_LENGTH_ATTRIBUTE_ID (0x0019)
-#define ZCL_MIN_RFID_CODE_LENGTH_ATTRIBUTE_ID (0x001A)
-#define ZCL_ENABLE_LOGGING_ATTRIBUTE_ID (0x0020)
-#define ZCL_LANGUAGE_ATTRIBUTE_ID (0x0021)
-#define ZCL_LED_SETTINGS_ATTRIBUTE_ID (0x0022)
-#define ZCL_AUTO_RELOCK_TIME_ATTRIBUTE_ID (0x0023)
-#define ZCL_SOUND_VOLUME_ATTRIBUTE_ID (0x0024)
-#define ZCL_OPERATING_MODE_ATTRIBUTE_ID (0x0025)
-#define ZCL_SUPPORTED_OPERATING_MODES_ATTRIBUTE_ID (0x0026)
-#define ZCL_DEFAULT_CONFIGURATION_REGISTER_ATTRIBUTE_ID (0x0027)
-#define ZCL_ENABLE_LOCAL_PROGRAMMING_ATTRIBUTE_ID (0x0028)
-#define ZCL_ENABLE_ONE_TOUCH_LOCKING_ATTRIBUTE_ID (0x0029)
-#define ZCL_ENABLE_INSIDE_STATUS_LED_ATTRIBUTE_ID (0x002A)
-#define ZCL_ENABLE_PRIVACY_MODE_BUTTON_ATTRIBUTE_ID (0x002B)
-#define ZCL_WRONG_CODE_ENTRY_LIMIT_ATTRIBUTE_ID (0x0030)
-#define ZCL_USER_CODE_TEMPORARY_DISABLE_TIME_ATTRIBUTE_ID (0x0031)
-#define ZCL_SEND_PIN_OVER_THE_AIR_ATTRIBUTE_ID (0x0032)
-#define ZCL_REQUIRE_PIN_FOR_RF_OPERATION_ATTRIBUTE_ID (0x0033)
-#define ZCL_ZIGBEE_SECURITY_LEVEL_ATTRIBUTE_ID (0x0034)
-#define ZCL_DOOR_LOCK_ALARM_MASK_ATTRIBUTE_ID (0x0040)
-#define ZCL_KEYPAD_OPERATION_EVENT_MASK_ATTRIBUTE_ID (0x0041)
-#define ZCL_RF_OPERATION_EVENT_MASK_ATTRIBUTE_ID (0x0042)
-#define ZCL_MANUAL_OPERATION_EVENT_MASK_ATTRIBUTE_ID (0x0043)
-#define ZCL_RFID_OPERATION_EVENT_MASK_ATTRIBUTE_ID (0x0044)
-#define ZCL_KEYPAD_PROGRAMMING_EVENT_MASK_ATTRIBUTE_ID (0x0045)
-#define ZCL_RF_PROGRAMMING_EVENT_MASK_ATTRIBUTE_ID (0x0046)
-#define ZCL_RFID_PROGRAMMING_EVENT_MASK_ATTRIBUTE_ID (0x0047)
-
-// Attribute ids for cluster: Window Covering
-
-// Client attributes
-
-// Server attributes
-#define ZCL_COVERING_TYPE_ATTRIBUTE_ID (0x0000)
-#define ZCL_LIMIT_LIFT_ATTRIBUTE_ID (0x0001)
-#define ZCL_LIMIT_TILT_ATTRIBUTE_ID (0x0002)
-#define ZCL_CURRENT_LIFT_ATTRIBUTE_ID (0x0003)
-#define ZCL_CURRENT_TILT_ATTRIBUTE_ID (0x0004)
-#define ZCL_NUMBER_LIFT_ATTRIBUTE_ID (0x0005)
-#define ZCL_NUMBER_TILT_ATTRIBUTE_ID (0x0006)
-#define ZCL_CONFIG_STATUS_ATTRIBUTE_ID (0x0007)
-#define ZCL_CURRENT_LIFT_PERCENTAGE_ATTRIBUTE_ID (0x0008)
-#define ZCL_CURRENT_TILT_PERCENTAGE_ATTRIBUTE_ID (0x0009)
-#define ZCL_OPEN_LIMIT_LIFT_ATTRIBUTE_ID (0x0010)
-#define ZCL_CLOSED_LIMIT_LIFT_ATTRIBUTE_ID (0x0011)
-#define ZCL_OPEN_LIMIT_TILT_ATTRIBUTE_ID (0x0012)
-#define ZCL_CLOSED_LIMIT_TILT_ATTRIBUTE_ID (0x0013)
-#define ZCL_VELOCITY_LIFT_ATTRIBUTE_ID (0x0014)
-#define ZCL_ACCELERATION_LIFT_ATTRIBUTE_ID (0x0015)
-#define ZCL_DECELERATION_LIFT_ATTRIBUTE_ID (0x0016)
-#define ZCL_MODE_ATTRIBUTE_ID (0x0017)
-#define ZCL_SETPOINTS_LIFT_ATTRIBUTE_ID (0x0018)
-#define ZCL_SETPOINTS_TILT_ATTRIBUTE_ID (0x0019)
-
-// Attribute ids for cluster: Barrier Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_BARRIER_MOVING_STATE_ATTRIBUTE_ID (0x0001)
-#define ZCL_BARRIER_SAFETY_STATUS_ATTRIBUTE_ID (0x0002)
-#define ZCL_BARRIER_CAPABILITIES_ATTRIBUTE_ID (0x0003)
-#define ZCL_BARRIER_OPEN_EVENTS_ATTRIBUTE_ID (0x0004)
-#define ZCL_BARRIER_CLOSE_EVENTS_ATTRIBUTE_ID (0x0005)
-#define ZCL_BARRIER_COMMAND_OPEN_EVENTS_ATTRIBUTE_ID (0x0006)
-#define ZCL_BARRIER_COMMAND_CLOSE_EVENTS_ATTRIBUTE_ID (0x0007)
-#define ZCL_BARRIER_OPEN_PERIOD_ATTRIBUTE_ID (0x0008)
-#define ZCL_BARRIER_CLOSE_PERIOD_ATTRIBUTE_ID (0x0009)
-#define ZCL_BARRIER_POSITION_ATTRIBUTE_ID (0x000A)
-
-// Attribute ids for cluster: Pump Configuration and Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MAX_PRESSURE_ATTRIBUTE_ID (0x0000)
-#define ZCL_MAX_SPEED_ATTRIBUTE_ID (0x0001)
-#define ZCL_MAX_FLOW_ATTRIBUTE_ID (0x0002)
-#define ZCL_MIN_CONST_PRESSURE_ATTRIBUTE_ID (0x0003)
-#define ZCL_MAX_CONST_PRESSURE_ATTRIBUTE_ID (0x0004)
-#define ZCL_MIN_COMP_PRESSURE_ATTRIBUTE_ID (0x0005)
-#define ZCL_MAX_COMP_PRESSURE_ATTRIBUTE_ID (0x0006)
-#define ZCL_MIN_CONST_SPEED_ATTRIBUTE_ID (0x0007)
-#define ZCL_MAX_CONST_SPEED_ATTRIBUTE_ID (0x0008)
-#define ZCL_MIN_CONST_FLOW_ATTRIBUTE_ID (0x0009)
-#define ZCL_MAX_CONST_FLOW_ATTRIBUTE_ID (0x000A)
-#define ZCL_MIN_CONST_TEMP_ATTRIBUTE_ID (0x000B)
-#define ZCL_MAX_CONST_TEMP_ATTRIBUTE_ID (0x000C)
-#define ZCL_PUMP_STATUS_ATTRIBUTE_ID (0x0010)
-#define ZCL_EFFECTIVE_OPERATION_MODE_ATTRIBUTE_ID (0x0011)
-#define ZCL_EFFECTIVE_CONTROL_MODE_ATTRIBUTE_ID (0x0012)
-#define ZCL_CAPACITY_ATTRIBUTE_ID (0x0013)
-#define ZCL_SPEED_ATTRIBUTE_ID (0x0014)
-#define ZCL_LIFETIME_RUNNING_HOURS_ATTRIBUTE_ID (0x0015)
-#define ZCL_PUMP_POWER_ATTRIBUTE_ID (0x0016)
-#define ZCL_LIFETIME_ENERGY_CONSUMED_ATTRIBUTE_ID (0x0017)
-#define ZCL_OPERATION_MODE_ATTRIBUTE_ID (0x0020)
-#define ZCL_CONTROL_MODE_ATTRIBUTE_ID (0x0021)
-#define ZCL_PUMP_ALARM_MASK_ATTRIBUTE_ID (0x0022)
-
-// Attribute ids for cluster: Thermostat
-
-// Client attributes
-
-// Server attributes
-#define ZCL_LOCAL_TEMPERATURE_ATTRIBUTE_ID (0x0000)
-#define ZCL_OUTDOOR_TEMPERATURE_ATTRIBUTE_ID (0x0001)
-#define ZCL_THERMOSTAT_OCCUPANCY_ATTRIBUTE_ID (0x0002)
-#define ZCL_ABS_MIN_HEAT_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0003)
-#define ZCL_ABS_MAX_HEAT_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0004)
-#define ZCL_ABS_MIN_COOL_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0005)
-#define ZCL_ABS_MAX_COOL_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0006)
-#define ZCL_PI_COOLING_DEMAND_ATTRIBUTE_ID (0x0007)
-#define ZCL_PI_HEATING_DEMAND_ATTRIBUTE_ID (0x0008)
-#define ZCL_HVAC_SYSTEM_TYPE_CONFIGURATION_ATTRIBUTE_ID (0x0009)
-#define ZCL_LOCAL_TEMPERATURE_CALIBRATION_ATTRIBUTE_ID (0x0010)
-#define ZCL_OCCUPIED_COOLING_SETPOINT_ATTRIBUTE_ID (0x0011)
-#define ZCL_OCCUPIED_HEATING_SETPOINT_ATTRIBUTE_ID (0x0012)
-#define ZCL_UNOCCUPIED_COOLING_SETPOINT_ATTRIBUTE_ID (0x0013)
-#define ZCL_UNOCCUPIED_HEATING_SETPOINT_ATTRIBUTE_ID (0x0014)
-#define ZCL_MIN_HEAT_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0015)
-#define ZCL_MAX_HEAT_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0016)
-#define ZCL_MIN_COOL_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0017)
-#define ZCL_MAX_COOL_SETPOINT_LIMIT_ATTRIBUTE_ID (0x0018)
-#define ZCL_MIN_SETPOINT_DEAD_BAND_ATTRIBUTE_ID (0x0019)
-#define ZCL_REMOTE_SENSING_ATTRIBUTE_ID (0x001A)
-#define ZCL_CONTROL_SEQUENCE_OF_OPERATION_ATTRIBUTE_ID (0x001B)
-#define ZCL_SYSTEM_MODE_ATTRIBUTE_ID (0x001C)
-#define ZCL_THERMOSTAT_ALARM_MASK_ATTRIBUTE_ID (0x001D)
-#define ZCL_THERMOSTAT_RUNNING_MODE_ATTRIBUTE_ID (0x001E)
-#define ZCL_START_OF_WEEK_ATTRIBUTE_ID (0x0020)
-#define ZCL_NUMBER_OF_WEEKLY_TRANSITIONS_ATTRIBUTE_ID (0x0021)
-#define ZCL_NUMBER_OF_DAILY_TRANSITIONS_ATTRIBUTE_ID (0x0022)
-#define ZCL_TEMPERATURE_SETPOINT_HOLD_ATTRIBUTE_ID (0x0023)
-#define ZCL_TEMPERATURE_SETPOINT_HOLD_DURATION_ATTRIBUTE_ID (0x0024)
-#define ZCL_THERMOSTAT_PROGRAMMING_OPERATION_MODE_ATTRIBUTE_ID (0x0025)
-#define ZCL_THERMOSTAT_RUNNING_STATE_ATTRIBUTE_ID (0x0029)
-#define ZCL_SETPOINT_CHANGE_SOURCE_ATTRIBUTE_ID (0x0030)
-#define ZCL_SETPOINT_CHANGE_AMOUNT_ATTRIBUTE_ID (0x0031)
-#define ZCL_SETPOINT_CHANGE_SOURCE_TIMESTAMP_ATTRIBUTE_ID (0x0032)
-#define ZCL_AC_TYPE_ATTRIBUTE_ID (0x0040)
-#define ZCL_AC_CAPACITY_ATTRIBUTE_ID (0x0041)
-#define ZCL_AC_REFRIGERANT_TYPE_ATTRIBUTE_ID (0x0042)
-#define ZCL_AC_COMPRESSOR_ATTRIBUTE_ID (0x0043)
-#define ZCL_AC_ERROR_CODE_ATTRIBUTE_ID (0x0044)
-#define ZCL_AC_LOUVER_POSITION_ATTRIBUTE_ID (0x0045)
-#define ZCL_AC_COIL_TEMPERATURE_ATTRIBUTE_ID (0x0046)
-#define ZCL_AC_CAPACITY_FORMAT_ATTRIBUTE_ID (0x0047)
-
-// Attribute ids for cluster: Fan Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_FAN_CONTROL_FAN_MODE_ATTRIBUTE_ID (0x0000)
-#define ZCL_FAN_CONTROL_FAN_MODE_SEQUENCE_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Dehumidification Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_RELATIVE_HUMIDITY_ATTRIBUTE_ID (0x0000)
-#define ZCL_DEHUMIDIFICATION_COOLING_ATTRIBUTE_ID (0x0001)
-#define ZCL_RH_DEHUMIDIFICATION_SETPOINT_ATTRIBUTE_ID (0x0010)
-#define ZCL_RELATIVE_HUMIDITY_MODE_ATTRIBUTE_ID (0x0011)
-#define ZCL_DEHUMIDIFICATION_LOCKOUT_ATTRIBUTE_ID (0x0012)
-#define ZCL_DEHUMIDIFICATION_HYSTERESIS_ATTRIBUTE_ID (0x0013)
-#define ZCL_DEHUMIDIFICATION_MAX_COOL_ATTRIBUTE_ID (0x0014)
-#define ZCL_RELATIVE_HUMIDITY_DISPLAY_ATTRIBUTE_ID (0x0015)
-
-// Attribute ids for cluster: Thermostat User Interface Configuration
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TEMPERATURE_DISPLAY_MODE_ATTRIBUTE_ID (0x0000)
-#define ZCL_KEYPAD_LOCKOUT_ATTRIBUTE_ID (0x0001)
-#define ZCL_SCHEDULE_PROGRAMMING_VISIBILITY_ATTRIBUTE_ID (0x0002)
-
-// Attribute ids for cluster: Color Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_COLOR_CONTROL_CURRENT_HUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_COLOR_CONTROL_CURRENT_SATURATION_ATTRIBUTE_ID (0x0001)
-#define ZCL_COLOR_CONTROL_REMAINING_TIME_ATTRIBUTE_ID (0x0002)
-#define ZCL_COLOR_CONTROL_CURRENT_X_ATTRIBUTE_ID (0x0003)
-#define ZCL_COLOR_CONTROL_CURRENT_Y_ATTRIBUTE_ID (0x0004)
-#define ZCL_COLOR_CONTROL_DRIFT_COMPENSATION_ATTRIBUTE_ID (0x0005)
-#define ZCL_COLOR_CONTROL_COMPENSATION_TEXT_ATTRIBUTE_ID (0x0006)
-#define ZCL_COLOR_CONTROL_COLOR_TEMPERATURE_ATTRIBUTE_ID (0x0007)
-#define ZCL_COLOR_CONTROL_COLOR_MODE_ATTRIBUTE_ID (0x0008)
-#define ZCL_COLOR_CONTROL_OPTIONS_ATTRIBUTE_ID (0x000F)
-#define ZCL_COLOR_CONTROL_NUMBER_OF_PRIMARIES_ATTRIBUTE_ID (0x0010)
-#define ZCL_COLOR_CONTROL_PRIMARY_1_X_ATTRIBUTE_ID (0x0011)
-#define ZCL_COLOR_CONTROL_PRIMARY_1_Y_ATTRIBUTE_ID (0x0012)
-#define ZCL_COLOR_CONTROL_PRIMARY_1_INTENSITY_ATTRIBUTE_ID (0x0013)
-#define ZCL_COLOR_CONTROL_PRIMARY_2_X_ATTRIBUTE_ID (0x0015)
-#define ZCL_COLOR_CONTROL_PRIMARY_2_Y_ATTRIBUTE_ID (0x0016)
-#define ZCL_COLOR_CONTROL_PRIMARY_2_INTENSITY_ATTRIBUTE_ID (0x0017)
-#define ZCL_COLOR_CONTROL_PRIMARY_3_X_ATTRIBUTE_ID (0x0019)
-#define ZCL_COLOR_CONTROL_PRIMARY_3_Y_ATTRIBUTE_ID (0x001A)
-#define ZCL_COLOR_CONTROL_PRIMARY_3_INTENSITY_ATTRIBUTE_ID (0x001B)
-#define ZCL_COLOR_CONTROL_PRIMARY_4_X_ATTRIBUTE_ID (0x0020)
-#define ZCL_COLOR_CONTROL_PRIMARY_4_Y_ATTRIBUTE_ID (0x0021)
-#define ZCL_COLOR_CONTROL_PRIMARY_4_INTENSITY_ATTRIBUTE_ID (0x0022)
-#define ZCL_COLOR_CONTROL_PRIMARY_5_X_ATTRIBUTE_ID (0x0024)
-#define ZCL_COLOR_CONTROL_PRIMARY_5_Y_ATTRIBUTE_ID (0x0025)
-#define ZCL_COLOR_CONTROL_PRIMARY_5_INTENSITY_ATTRIBUTE_ID (0x0026)
-#define ZCL_COLOR_CONTROL_PRIMARY_6_X_ATTRIBUTE_ID (0x0028)
-#define ZCL_COLOR_CONTROL_PRIMARY_6_Y_ATTRIBUTE_ID (0x0029)
-#define ZCL_COLOR_CONTROL_PRIMARY_6_INTENSITY_ATTRIBUTE_ID (0x002A)
-#define ZCL_COLOR_CONTROL_WHITE_POINT_X_ATTRIBUTE_ID (0x0030)
-#define ZCL_COLOR_CONTROL_WHITE_POINT_Y_ATTRIBUTE_ID (0x0031)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_R_X_ATTRIBUTE_ID (0x0032)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_R_Y_ATTRIBUTE_ID (0x0033)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_R_INTENSITY_ATTRIBUTE_ID (0x0034)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_G_X_ATTRIBUTE_ID (0x0036)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_G_Y_ATTRIBUTE_ID (0x0037)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_G_INTENSITY_ATTRIBUTE_ID (0x0038)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_B_X_ATTRIBUTE_ID (0x003A)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_B_Y_ATTRIBUTE_ID (0x003B)
-#define ZCL_COLOR_CONTROL_COLOR_POINT_B_INTENSITY_ATTRIBUTE_ID (0x003C)
-#define ZCL_COLOR_CONTROL_ENHANCED_CURRENT_HUE_ATTRIBUTE_ID (0x4000)
-#define ZCL_COLOR_CONTROL_ENHANCED_COLOR_MODE_ATTRIBUTE_ID (0x4001)
-#define ZCL_COLOR_CONTROL_COLOR_LOOP_ACTIVE_ATTRIBUTE_ID (0x4002)
-#define ZCL_COLOR_CONTROL_COLOR_LOOP_DIRECTION_ATTRIBUTE_ID (0x4003)
-#define ZCL_COLOR_CONTROL_COLOR_LOOP_TIME_ATTRIBUTE_ID (0x4004)
-#define ZCL_COLOR_CONTROL_COLOR_LOOP_START_ENHANCED_HUE_ATTRIBUTE_ID (0x4005)
-#define ZCL_COLOR_CONTROL_COLOR_LOOP_STORED_ENHANCED_HUE_ATTRIBUTE_ID (0x4006)
-#define ZCL_COLOR_CONTROL_COLOR_CAPABILITIES_ATTRIBUTE_ID (0x400A)
-#define ZCL_COLOR_CONTROL_COLOR_TEMP_PHYSICAL_MIN_ATTRIBUTE_ID (0x400B)
-#define ZCL_COLOR_CONTROL_COLOR_TEMP_PHYSICAL_MAX_ATTRIBUTE_ID (0x400C)
-#define ZCL_COLOR_CONTROL_TEMPERATURE_LEVEL_MIN_MIREDS_ATTRIBUTE_ID (0x400D)
-#define ZCL_START_UP_COLOR_TEMPERATURE_MIREDS_ATTRIBUTE_ID (0x4010)
-
-// Attribute ids for cluster: Ballast Configuration
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PHYSICAL_MIN_LEVEL_ATTRIBUTE_ID (0x0000)
-#define ZCL_PHYSICAL_MAX_LEVEL_ATTRIBUTE_ID (0x0001)
-#define ZCL_BALLAST_STATUS_ATTRIBUTE_ID (0x0002)
-#define ZCL_MIN_LEVEL_ATTRIBUTE_ID (0x0010)
-#define ZCL_MAX_LEVEL_ATTRIBUTE_ID (0x0011)
-#define ZCL_POWER_ON_LEVEL_ATTRIBUTE_ID (0x0012)
-#define ZCL_POWER_ON_FADE_TIME_ATTRIBUTE_ID (0x0013)
-#define ZCL_INTRINSIC_BALLAST_FACTOR_ATTRIBUTE_ID (0x0014)
-#define ZCL_BALLAST_FACTOR_ADJUSTMENT_ATTRIBUTE_ID (0x0015)
-#define ZCL_LAMP_QUALITY_ATTRIBUTE_ID (0x0020)
-#define ZCL_LAMP_TYPE_ATTRIBUTE_ID (0x0030)
-#define ZCL_LAMP_MANUFACTURER_ATTRIBUTE_ID (0x0031)
-#define ZCL_LAMP_RATED_HOURS_ATTRIBUTE_ID (0x0032)
-#define ZCL_LAMP_BURN_HOURS_ATTRIBUTE_ID (0x0033)
-#define ZCL_LAMP_ALARM_MODE_ATTRIBUTE_ID (0x0034)
-#define ZCL_LAMP_BURN_HOURS_TRIP_POINT_ATTRIBUTE_ID (0x0035)
-
-// Attribute ids for cluster: Illuminance Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ILLUM_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_ILLUM_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_ILLUM_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_ILLUM_TOLERANCE_ATTRIBUTE_ID (0x0003)
-#define ZCL_MEASUREMENT_LIGHT_SENSOR_TYPE_ATTRIBUTE_ID (0x0004)
-
-// Attribute ids for cluster: Illuminance Level Sensing
-
-// Client attributes
-
-// Server attributes
-#define ZCL_LEVEL_STATUS_ATTRIBUTE_ID (0x0000)
-#define ZCL_SENSING_LIGHT_SENSOR_TYPE_ATTRIBUTE_ID (0x0001)
-#define ZCL_ILLUMINANCE_TARGET_LEVEL_ATTRIBUTE_ID (0x0010)
-
-// Attribute ids for cluster: Temperature Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TEMP_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_TEMP_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_TEMP_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_TEMP_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Pressure Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PRESSURE_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_PRESSURE_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_PRESSURE_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_PRESSURE_TOLERANCE_ATTRIBUTE_ID (0x0003)
-#define ZCL_PRESSURE_SCALED_VALUE_ATTRIBUTE_ID (0x0010)
-#define ZCL_PRESSURE_MIN_SCALED_VALUE_ATTRIBUTE_ID (0x0011)
-#define ZCL_PRESSURE_MAX_SCALED_VALUE_ATTRIBUTE_ID (0x0012)
-#define ZCL_PRESSURE_SCALED_TOLERANCE_ATTRIBUTE_ID (0x0013)
-#define ZCL_PRESSURE_SCALE_ATTRIBUTE_ID (0x0014)
-
-// Attribute ids for cluster: Flow Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_FLOW_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_FLOW_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_FLOW_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_FLOW_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Relative Humidity Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_RELATIVE_HUMIDITY_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_RELATIVE_HUMIDITY_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_RELATIVE_HUMIDITY_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_RELATIVE_HUMIDITY_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Occupancy Sensing
-
-// Client attributes
-
-// Server attributes
-#define ZCL_OCCUPANCY_ATTRIBUTE_ID (0x0000)
-#define ZCL_OCCUPANCY_SENSOR_TYPE_ATTRIBUTE_ID (0x0001)
-#define ZCL_OCCUPANCY_SENSOR_TYPE_BITMAP_ATTRIBUTE_ID (0x0002)
-#define ZCL_PIR_OCCUPIED_TO_UNOCCUPIED_DELAY_ATTRIBUTE_ID (0x0010)
-#define ZCL_PIR_UNOCCUPIED_TO_OCCUPIED_DELAY_ATTRIBUTE_ID (0x0011)
-#define ZCL_PIR_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_ATTRIBUTE_ID (0x0012)
-#define ZCL_ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY_ATTRIBUTE_ID (0x0020)
-#define ZCL_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY_ATTRIBUTE_ID (0x0021)
-#define ZCL_ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_ATTRIBUTE_ID (0x0022)
-#define ZCL_PHYSICAL_CONTACT_OCCUPIED_TO_UNOCCUPIED_DELAY_ATTRIBUTE_ID (0x0030)
-#define ZCL_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY_ATTRIBUTE_ID (0x0031)
-#define ZCL_PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_THRESHOLD_ATTRIBUTE_ID (0x0032)
-
-// Attribute ids for cluster: Carbon Monoxide Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Carbon Dioxide Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Ethylene Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Ethylene Oxide Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Hydrogen Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Hydrogen Sulphide Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Nitric Oxide Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Nitrogen Dioxide Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Oxygen Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Ozone Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Sulfur Dioxide Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Dissolved Oxygen Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Bromate Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Chloramines Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Chlorine Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Fecal coliform and E. Coli Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Fluoride Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Haloacetic Acids Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Total Trihalomethanes Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Total Coliform Bacteria Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Turbidity Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Copper Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Lead Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Manganese Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Sulfate Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Bromodichloromethane Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Bromoform Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Chlorodibromomethane Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Chloroform Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: Sodium Concentration Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_MEASURED_VALUE_ATTRIBUTE_ID (0x0000)
-#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_MIN_MEASURED_VALUE_ATTRIBUTE_ID (0x0001)
-#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_MAX_MEASURED_VALUE_ATTRIBUTE_ID (0x0002)
-#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_TOLERANCE_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: IAS Zone
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ZONE_STATE_ATTRIBUTE_ID (0x0000)
-#define ZCL_ZONE_TYPE_ATTRIBUTE_ID (0x0001)
-#define ZCL_ZONE_STATUS_ATTRIBUTE_ID (0x0002)
-#define ZCL_IAS_CIE_ADDRESS_ATTRIBUTE_ID (0x0010)
-#define ZCL_ZONE_ID_ATTRIBUTE_ID (0x0011)
-#define ZCL_NUMBER_OF_ZONE_SENSITIVITY_LEVELS_SUPPORTED_ATTRIBUTE_ID (0x0012)
-#define ZCL_CURRENT_ZONE_SENSITIVITY_LEVEL_ATTRIBUTE_ID (0x0013)
-
-// Attribute ids for cluster: IAS ACE
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: IAS WD
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MAX_DURATION_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: Wake on LAN
-
-// Client attributes
-
-// Server attributes
-#define ZCL_WAKE_ON_LAN_MAC_ADDRESS_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: TV Channel
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TV_CHANNEL_LIST_ATTRIBUTE_ID (0x0000)
-#define ZCL_TV_CHANNEL_LINEUP_ATTRIBUTE_ID (0x0001)
-#define ZCL_TV_CHANNEL_CURRENT_CHANNEL_ATTRIBUTE_ID (0x0002)
-
-// Attribute ids for cluster: Target Navigator
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TARGET_NAVIGATOR_LIST_ATTRIBUTE_ID (0x0000)
-#define ZCL_TARGET_NAVIGATOR_CURRENT_TARGET_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Media Playback
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MEDIA_PLAYBACK_STATE_ATTRIBUTE_ID (0x0000)
-#define ZCL_MEDIA_PLAYBACK_START_TIME_ATTRIBUTE_ID (0x0001)
-#define ZCL_MEDIA_PLAYBACK_DURATION_ATTRIBUTE_ID (0x0002)
-#define ZCL_MEDIA_PLAYBACK_PLAYBACK_POSITION_UPDATED_AT_ATTRIBUTE_ID (0x0003)
-#define ZCL_MEDIA_PLAYBACK_PLAYBACK_POSITION_ATTRIBUTE_ID (0x0004)
-#define ZCL_MEDIA_PLAYBACK_PLAYBACK_SPEED_ATTRIBUTE_ID (0x0005)
-#define ZCL_MEDIA_PLAYBACK_PLAYBACK_SEEK_RANGE_END_ATTRIBUTE_ID (0x0006)
-#define ZCL_MEDIA_PLAYBACK_PLAYBACK_SEEK_RANGE_START_ATTRIBUTE_ID (0x0007)
-
-// Attribute ids for cluster: Media Input
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MEDIA_INPUT_LIST_ATTRIBUTE_ID (0x0000)
-#define ZCL_MEDIA_INPUT_CURRENT_INPUT_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Low Power
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Keypad Input
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Content Launch
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CONTENT_LAUNCHER_ACCEPTS_HEADER_ATTRIBUTE_ID (0x0000)
-#define ZCL_CONTENT_LAUNCHER_SUPPORTED_STREAMING_TYPES_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Audio Output
-
-// Client attributes
-
-// Server attributes
-#define ZCL_AUDIO_OUTPUT_LIST_ATTRIBUTE_ID (0x0000)
-#define ZCL_AUDIO_OUTPUT_CURRENT_OUTPUT_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Application Launcher
-
-// Client attributes
-
-// Server attributes
-#define ZCL_APPLICATION_LAUNCHER_LIST_ATTRIBUTE_ID (0x0000)
-#define ZCL_APPLICATION_LAUNCHER_CURRENT_APP_CATALOG_VENDOR_ID_ATTRIBUTE_ID (0x0001)
-#define ZCL_APPLICATION_LAUNCHER_CURRENT_APP_APPLICATION_ID_ATTRIBUTE_ID (0x0002)
-
-// Attribute ids for cluster: Application Basic
-
-// Client attributes
-
-// Server attributes
-#define ZCL_APPLICATION_VENDOR_NAME_ATTRIBUTE_ID (0x0000)
-#define ZCL_APPLICATION_VENDOR_ID_ATTRIBUTE_ID (0x0001)
-#define ZCL_APPLICATION_NAME_ATTRIBUTE_ID (0x0002)
-#define ZCL_APPLICATION_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: Account Login
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Test Cluster
-
-// Client attributes
-
-// Server attributes
-#define ZCL_BOOLEAN_ATTRIBUTE_ID (0x0000)
-#define ZCL_BITMAP8_ATTRIBUTE_ID (0x0001)
-#define ZCL_BITMAP16_ATTRIBUTE_ID (0x0002)
-#define ZCL_BITMAP32_ATTRIBUTE_ID (0x0003)
-#define ZCL_BITMAP64_ATTRIBUTE_ID (0x0004)
-#define ZCL_INT8_U_ATTRIBUTE_ID (0x0005)
-#define ZCL_INT16_U_ATTRIBUTE_ID (0x0006)
-#define ZCL_INT32_U_ATTRIBUTE_ID (0x0008)
-#define ZCL_INT64_U_ATTRIBUTE_ID (0x000C)
-#define ZCL_INT8_S_ATTRIBUTE_ID (0x000D)
-#define ZCL_INT16_S_ATTRIBUTE_ID (0x000E)
-#define ZCL_INT32_S_ATTRIBUTE_ID (0x0010)
-#define ZCL_INT64_S_ATTRIBUTE_ID (0x0014)
-#define ZCL_ENUM8_ATTRIBUTE_ID (0x0015)
-#define ZCL_ENUM16_ATTRIBUTE_ID (0x0016)
-#define ZCL_OCTET_STRING_ATTRIBUTE_ID (0x0019)
-#define ZCL_LIST_ATTRIBUTE_ID (0x001A)
-#define ZCL_LIST_OCTET_STRING_ATTRIBUTE_ID (0x001B)
-#define ZCL_LIST_STRUCT_OCTET_STRING_ATTRIBUTE_ID (0x001C)
-
-// Attribute ids for cluster: Generic Tunnel
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MAXIMUM_INCOMING_TRANSFER_SIZE_ATTRIBUTE_ID (0x0001)
-#define ZCL_MAXIMUM_OUTGOING_TRANSFER_SIZE_ATTRIBUTE_ID (0x0002)
-#define ZCL_PROTOCOL_ADDRESS_ATTRIBUTE_ID (0x0003)
-
-// Attribute ids for cluster: BACnet Protocol Tunnel
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: 11073 Protocol Tunnel
-
-// Client attributes
-
-// Server attributes
-#define ZCL_DEVICE_ID_LIST_ATTRIBUTE_ID (0x0000)
-#define ZCL_MANAGER_TARGET_ATTRIBUTE_ID (0x0001)
-#define ZCL_MANAGER_ENDPOINT_ATTRIBUTE_ID (0x0002)
-#define ZCL_CONNECTED_ATTRIBUTE_ID (0x0003)
-#define ZCL_PREEMPTIBLE_ATTRIBUTE_ID (0x0004)
-#define ZCL_IDLE_TIMEOUT_ATTRIBUTE_ID (0x0005)
-
-// Attribute ids for cluster: ISO 7816 Protocol Tunnel
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ISO7816_PROTOCOL_TUNNEL_STATUS_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: Price
-
-// Client attributes
-#define ZCL_PRICE_INCREASE_RANDOMIZE_MINUTES_ATTRIBUTE_ID (0x0000)
-#define ZCL_PRICE_DECREASE_RANDOMIZE_MINUTES_ATTRIBUTE_ID (0x0001)
-#define ZCL_COMMODITY_TYPE_CLIENT_ATTRIBUTE_ID (0x0002)
-
-// Server attributes
-#define ZCL_TIER1_PRICE_LABEL_ATTRIBUTE_ID (0x0000)
-#define ZCL_TIER2_PRICE_LABEL_ATTRIBUTE_ID (0x0001)
-#define ZCL_TIER3_PRICE_LABEL_ATTRIBUTE_ID (0x0002)
-#define ZCL_TIER4_PRICE_LABEL_ATTRIBUTE_ID (0x0003)
-#define ZCL_TIER5_PRICE_LABEL_ATTRIBUTE_ID (0x0004)
-#define ZCL_TIER6_PRICE_LABEL_ATTRIBUTE_ID (0x0005)
-#define ZCL_TIER7_PRICE_LABEL_ATTRIBUTE_ID (0x0006)
-#define ZCL_TIER8_PRICE_LABEL_ATTRIBUTE_ID (0x0007)
-#define ZCL_TIER9_PRICE_LABEL_ATTRIBUTE_ID (0x0008)
-#define ZCL_TIER10_PRICE_LABEL_ATTRIBUTE_ID (0x0009)
-#define ZCL_TIER11_PRICE_LABEL_ATTRIBUTE_ID (0x000A)
-#define ZCL_TIER12_PRICE_LABEL_ATTRIBUTE_ID (0x000B)
-#define ZCL_TIER13_PRICE_LABEL_ATTRIBUTE_ID (0x000C)
-#define ZCL_TIER14_PRICE_LABEL_ATTRIBUTE_ID (0x000D)
-#define ZCL_TIER15_PRICE_LABEL_ATTRIBUTE_ID (0x000E)
-#define ZCL_TIER16_PRICE_LABEL_ATTRIBUTE_ID (0x000F)
-#define ZCL_TIER17_PRICE_LABEL_ATTRIBUTE_ID (0x0010)
-#define ZCL_TIER18_PRICE_LABEL_ATTRIBUTE_ID (0x0011)
-#define ZCL_TIER19_PRICE_LABEL_ATTRIBUTE_ID (0x0012)
-#define ZCL_TIER20_PRICE_LABEL_ATTRIBUTE_ID (0x0013)
-#define ZCL_TIER21_PRICE_LABEL_ATTRIBUTE_ID (0x0014)
-#define ZCL_TIER22_PRICE_LABEL_ATTRIBUTE_ID (0x0015)
-#define ZCL_TIER23_PRICE_LABEL_ATTRIBUTE_ID (0x0016)
-#define ZCL_TIER24_PRICE_LABEL_ATTRIBUTE_ID (0x0017)
-#define ZCL_TIER25_PRICE_LABEL_ATTRIBUTE_ID (0x0018)
-#define ZCL_TIER26_PRICE_LABEL_ATTRIBUTE_ID (0x0019)
-#define ZCL_TIER27_PRICE_LABEL_ATTRIBUTE_ID (0x001A)
-#define ZCL_TIER28_PRICE_LABEL_ATTRIBUTE_ID (0x001B)
-#define ZCL_TIER29_PRICE_LABEL_ATTRIBUTE_ID (0x001C)
-#define ZCL_TIER30_PRICE_LABEL_ATTRIBUTE_ID (0x001D)
-#define ZCL_TIER31_PRICE_LABEL_ATTRIBUTE_ID (0x001E)
-#define ZCL_TIER32_PRICE_LABEL_ATTRIBUTE_ID (0x001F)
-#define ZCL_TIER33_PRICE_LABEL_ATTRIBUTE_ID (0x0020)
-#define ZCL_TIER34_PRICE_LABEL_ATTRIBUTE_ID (0x0021)
-#define ZCL_TIER35_PRICE_LABEL_ATTRIBUTE_ID (0x0022)
-#define ZCL_TIER36_PRICE_LABEL_ATTRIBUTE_ID (0x0023)
-#define ZCL_TIER37_PRICE_LABEL_ATTRIBUTE_ID (0x0024)
-#define ZCL_TIER38_PRICE_LABEL_ATTRIBUTE_ID (0x0025)
-#define ZCL_TIER39_PRICE_LABEL_ATTRIBUTE_ID (0x0026)
-#define ZCL_TIER40_PRICE_LABEL_ATTRIBUTE_ID (0x0027)
-#define ZCL_TIER41_PRICE_LABEL_ATTRIBUTE_ID (0x0028)
-#define ZCL_TIER42_PRICE_LABEL_ATTRIBUTE_ID (0x0029)
-#define ZCL_TIER43_PRICE_LABEL_ATTRIBUTE_ID (0x002A)
-#define ZCL_TIER44_PRICE_LABEL_ATTRIBUTE_ID (0x002B)
-#define ZCL_TIER45_PRICE_LABEL_ATTRIBUTE_ID (0x002C)
-#define ZCL_TIER46_PRICE_LABEL_ATTRIBUTE_ID (0x002D)
-#define ZCL_TIER47_PRICE_LABEL_ATTRIBUTE_ID (0x002E)
-#define ZCL_TIER48_PRICE_LABEL_ATTRIBUTE_ID (0x002F)
-#define ZCL_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0100)
-#define ZCL_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0101)
-#define ZCL_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0102)
-#define ZCL_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0103)
-#define ZCL_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0104)
-#define ZCL_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0105)
-#define ZCL_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0106)
-#define ZCL_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0107)
-#define ZCL_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0108)
-#define ZCL_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0109)
-#define ZCL_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x010A)
-#define ZCL_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x010B)
-#define ZCL_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x010C)
-#define ZCL_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x010D)
-#define ZCL_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x010E)
-#define ZCL_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x010F)
-#define ZCL_TIER1_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0110)
-#define ZCL_TIER1_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0111)
-#define ZCL_TIER1_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0112)
-#define ZCL_TIER1_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0113)
-#define ZCL_TIER1_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0114)
-#define ZCL_TIER1_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0115)
-#define ZCL_TIER1_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0116)
-#define ZCL_TIER1_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0117)
-#define ZCL_TIER1_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0118)
-#define ZCL_TIER1_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0119)
-#define ZCL_TIER1_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x011A)
-#define ZCL_TIER1_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x011B)
-#define ZCL_TIER1_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x011C)
-#define ZCL_TIER1_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x011D)
-#define ZCL_TIER1_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x011E)
-#define ZCL_TIER1_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x011F)
-#define ZCL_TIER2_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0120)
-#define ZCL_TIER2_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0121)
-#define ZCL_TIER2_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0122)
-#define ZCL_TIER2_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0123)
-#define ZCL_TIER2_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0124)
-#define ZCL_TIER2_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0125)
-#define ZCL_TIER2_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0126)
-#define ZCL_TIER2_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0127)
-#define ZCL_TIER2_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0128)
-#define ZCL_TIER2_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0129)
-#define ZCL_TIER2_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x012A)
-#define ZCL_TIER2_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x012B)
-#define ZCL_TIER2_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x012C)
-#define ZCL_TIER2_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x012D)
-#define ZCL_TIER2_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x012E)
-#define ZCL_TIER2_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x012F)
-#define ZCL_TIER3_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0130)
-#define ZCL_TIER3_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0131)
-#define ZCL_TIER3_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0132)
-#define ZCL_TIER3_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0133)
-#define ZCL_TIER3_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0134)
-#define ZCL_TIER3_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0135)
-#define ZCL_TIER3_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0136)
-#define ZCL_TIER3_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0137)
-#define ZCL_TIER3_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0138)
-#define ZCL_TIER3_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0139)
-#define ZCL_TIER3_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x013A)
-#define ZCL_TIER3_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x013B)
-#define ZCL_TIER3_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x013C)
-#define ZCL_TIER3_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x013D)
-#define ZCL_TIER3_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x013E)
-#define ZCL_TIER3_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x013F)
-#define ZCL_TIER4_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0140)
-#define ZCL_TIER4_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0141)
-#define ZCL_TIER4_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0142)
-#define ZCL_TIER4_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0143)
-#define ZCL_TIER4_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0144)
-#define ZCL_TIER4_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0145)
-#define ZCL_TIER4_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0146)
-#define ZCL_TIER4_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0147)
-#define ZCL_TIER4_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0148)
-#define ZCL_TIER4_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0149)
-#define ZCL_TIER4_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x014A)
-#define ZCL_TIER4_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x014B)
-#define ZCL_TIER4_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x014C)
-#define ZCL_TIER4_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x014D)
-#define ZCL_TIER4_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x014E)
-#define ZCL_TIER4_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x014F)
-#define ZCL_TIER5_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0150)
-#define ZCL_TIER5_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0151)
-#define ZCL_TIER5_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0152)
-#define ZCL_TIER5_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0153)
-#define ZCL_TIER5_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0154)
-#define ZCL_TIER5_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0155)
-#define ZCL_TIER5_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0156)
-#define ZCL_TIER5_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0157)
-#define ZCL_TIER5_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0158)
-#define ZCL_TIER5_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0159)
-#define ZCL_TIER5_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x015A)
-#define ZCL_TIER5_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x015B)
-#define ZCL_TIER5_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x015C)
-#define ZCL_TIER5_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x015D)
-#define ZCL_TIER5_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x015E)
-#define ZCL_TIER5_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x015F)
-#define ZCL_TIER6_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0160)
-#define ZCL_TIER6_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0161)
-#define ZCL_TIER6_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0162)
-#define ZCL_TIER6_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0163)
-#define ZCL_TIER6_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0164)
-#define ZCL_TIER6_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0165)
-#define ZCL_TIER6_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0166)
-#define ZCL_TIER6_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0167)
-#define ZCL_TIER6_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0168)
-#define ZCL_TIER6_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0169)
-#define ZCL_TIER6_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x016A)
-#define ZCL_TIER6_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x016B)
-#define ZCL_TIER6_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x016C)
-#define ZCL_TIER6_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x016D)
-#define ZCL_TIER6_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x016E)
-#define ZCL_TIER6_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x016F)
-#define ZCL_TIER7_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0170)
-#define ZCL_TIER7_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0171)
-#define ZCL_TIER7_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0172)
-#define ZCL_TIER7_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0173)
-#define ZCL_TIER7_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0174)
-#define ZCL_TIER7_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0175)
-#define ZCL_TIER7_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0176)
-#define ZCL_TIER7_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0177)
-#define ZCL_TIER7_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0178)
-#define ZCL_TIER7_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0179)
-#define ZCL_TIER7_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x017A)
-#define ZCL_TIER7_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x017B)
-#define ZCL_TIER7_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x017C)
-#define ZCL_TIER7_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x017D)
-#define ZCL_TIER7_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x017E)
-#define ZCL_TIER7_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x017F)
-#define ZCL_TIER8_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0180)
-#define ZCL_TIER8_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0181)
-#define ZCL_TIER8_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0182)
-#define ZCL_TIER8_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0183)
-#define ZCL_TIER8_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0184)
-#define ZCL_TIER8_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0185)
-#define ZCL_TIER8_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0186)
-#define ZCL_TIER8_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0187)
-#define ZCL_TIER8_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0188)
-#define ZCL_TIER8_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0189)
-#define ZCL_TIER8_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x018A)
-#define ZCL_TIER8_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x018B)
-#define ZCL_TIER8_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x018C)
-#define ZCL_TIER8_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x018D)
-#define ZCL_TIER8_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x018E)
-#define ZCL_TIER8_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x018F)
-#define ZCL_TIER9_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x0190)
-#define ZCL_TIER9_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x0191)
-#define ZCL_TIER9_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x0192)
-#define ZCL_TIER9_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x0193)
-#define ZCL_TIER9_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x0194)
-#define ZCL_TIER9_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x0195)
-#define ZCL_TIER9_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x0196)
-#define ZCL_TIER9_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x0197)
-#define ZCL_TIER9_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x0198)
-#define ZCL_TIER9_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x0199)
-#define ZCL_TIER9_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x019A)
-#define ZCL_TIER9_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x019B)
-#define ZCL_TIER9_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x019C)
-#define ZCL_TIER9_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x019D)
-#define ZCL_TIER9_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x019E)
-#define ZCL_TIER9_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x019F)
-#define ZCL_TIER10_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x01A0)
-#define ZCL_TIER10_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x01A1)
-#define ZCL_TIER10_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x01A2)
-#define ZCL_TIER10_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x01A3)
-#define ZCL_TIER10_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x01A4)
-#define ZCL_TIER10_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x01A5)
-#define ZCL_TIER10_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x01A6)
-#define ZCL_TIER10_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x01A7)
-#define ZCL_TIER10_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x01A8)
-#define ZCL_TIER10_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x01A9)
-#define ZCL_TIER10_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x01AA)
-#define ZCL_TIER10_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x01AB)
-#define ZCL_TIER10_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x01AC)
-#define ZCL_TIER10_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x01AD)
-#define ZCL_TIER10_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x01AE)
-#define ZCL_TIER10_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x01AF)
-#define ZCL_TIER11_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x01B0)
-#define ZCL_TIER11_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x01B1)
-#define ZCL_TIER11_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x01B2)
-#define ZCL_TIER11_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x01B3)
-#define ZCL_TIER11_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x01B4)
-#define ZCL_TIER11_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x01B5)
-#define ZCL_TIER11_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x01B6)
-#define ZCL_TIER11_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x01B7)
-#define ZCL_TIER11_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x01B8)
-#define ZCL_TIER11_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x01B9)
-#define ZCL_TIER11_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x01BA)
-#define ZCL_TIER11_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x01BB)
-#define ZCL_TIER11_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x01BC)
-#define ZCL_TIER11_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x01BD)
-#define ZCL_TIER11_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x01BE)
-#define ZCL_TIER11_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x01BF)
-#define ZCL_TIER12_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x01C0)
-#define ZCL_TIER12_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x01C1)
-#define ZCL_TIER12_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x01C2)
-#define ZCL_TIER12_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x01C3)
-#define ZCL_TIER12_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x01C4)
-#define ZCL_TIER12_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x01C5)
-#define ZCL_TIER12_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x01C6)
-#define ZCL_TIER12_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x01C7)
-#define ZCL_TIER12_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x01C8)
-#define ZCL_TIER12_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x01C9)
-#define ZCL_TIER12_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x01CA)
-#define ZCL_TIER12_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x01CB)
-#define ZCL_TIER12_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x01CC)
-#define ZCL_TIER12_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x01CD)
-#define ZCL_TIER12_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x01CE)
-#define ZCL_TIER12_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x01CF)
-#define ZCL_TIER13_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x01D0)
-#define ZCL_TIER13_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x01D1)
-#define ZCL_TIER13_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x01D2)
-#define ZCL_TIER13_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x01D3)
-#define ZCL_TIER13_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x01D4)
-#define ZCL_TIER13_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x01D5)
-#define ZCL_TIER13_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x01D6)
-#define ZCL_TIER13_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x01D7)
-#define ZCL_TIER13_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x01D8)
-#define ZCL_TIER13_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x01D9)
-#define ZCL_TIER13_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x01DA)
-#define ZCL_TIER13_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x01DB)
-#define ZCL_TIER13_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x01DC)
-#define ZCL_TIER13_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x01DD)
-#define ZCL_TIER13_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x01DE)
-#define ZCL_TIER13_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x01DF)
-#define ZCL_TIER14_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x01E0)
-#define ZCL_TIER14_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x01E1)
-#define ZCL_TIER14_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x01E2)
-#define ZCL_TIER14_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x01E3)
-#define ZCL_TIER14_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x01E4)
-#define ZCL_TIER14_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x01E5)
-#define ZCL_TIER14_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x01E6)
-#define ZCL_TIER14_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x01E7)
-#define ZCL_TIER14_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x01E8)
-#define ZCL_TIER14_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x01E9)
-#define ZCL_TIER14_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x01EA)
-#define ZCL_TIER14_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x01EB)
-#define ZCL_TIER14_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x01EC)
-#define ZCL_TIER14_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x01ED)
-#define ZCL_TIER14_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x01EE)
-#define ZCL_TIER14_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x01EF)
-#define ZCL_TIER15_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x01F0)
-#define ZCL_TIER15_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x01F1)
-#define ZCL_TIER15_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x01F2)
-#define ZCL_TIER15_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x01F3)
-#define ZCL_TIER15_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x01F4)
-#define ZCL_TIER15_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x01F5)
-#define ZCL_TIER15_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x01F6)
-#define ZCL_TIER15_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x01F7)
-#define ZCL_TIER15_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x01F8)
-#define ZCL_TIER15_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x01F9)
-#define ZCL_TIER15_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x01FA)
-#define ZCL_TIER15_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x01FB)
-#define ZCL_TIER15_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x01FC)
-#define ZCL_TIER15_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x01FD)
-#define ZCL_TIER15_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x01FE)
-#define ZCL_TIER15_BLOCK_THRESHOLD_COUNT_ATTRIBUTE_ID (0x01FF)
-#define ZCL_START_OF_BLOCK_PERIOD_ATTRIBUTE_ID (0x0200)
-#define ZCL_BLOCK_PERIOD_DURATION_MINUTES_ATTRIBUTE_ID (0x0201)
-#define ZCL_THRESHOLD_MULTIPLIER_ATTRIBUTE_ID (0x0202)
-#define ZCL_THRESHOLD_DIVISOR_ATTRIBUTE_ID (0x0203)
-#define ZCL_BLOCK_PERIOD_DURATION_TYPE_ATTRIBUTE_ID (0x0204)
-#define ZCL_COMMODITY_TYPE_SERVER_ATTRIBUTE_ID (0x0300)
-#define ZCL_STANDING_CHARGE_ATTRIBUTE_ID (0x0301)
-#define ZCL_CONVERSION_FACTOR_ATTRIBUTE_ID (0x0302)
-#define ZCL_CONVERSION_FACTOR_TRAILING_DIGIT_ATTRIBUTE_ID (0x0303)
-#define ZCL_CALORIFIC_VALUE_ATTRIBUTE_ID (0x0304)
-#define ZCL_CALORIFIC_VALUE_UNIT_ATTRIBUTE_ID (0x0305)
-#define ZCL_CALORIFIC_VALUE_TRAILING_DIGIT_ATTRIBUTE_ID (0x0306)
-#define ZCL_NO_TIER_BLOCK1_PRICE_ATTRIBUTE_ID (0x0400)
-#define ZCL_NO_TIER_BLOCK2_PRICE_ATTRIBUTE_ID (0x0401)
-#define ZCL_NO_TIER_BLOCK3_PRICE_ATTRIBUTE_ID (0x0402)
-#define ZCL_NO_TIER_BLOCK4_PRICE_ATTRIBUTE_ID (0x0403)
-#define ZCL_NO_TIER_BLOCK5_PRICE_ATTRIBUTE_ID (0x0404)
-#define ZCL_NO_TIER_BLOCK6_PRICE_ATTRIBUTE_ID (0x0405)
-#define ZCL_NO_TIER_BLOCK7_PRICE_ATTRIBUTE_ID (0x0406)
-#define ZCL_NO_TIER_BLOCK8_PRICE_ATTRIBUTE_ID (0x0407)
-#define ZCL_NO_TIER_BLOCK9_PRICE_ATTRIBUTE_ID (0x0408)
-#define ZCL_NO_TIER_BLOCK10_PRICE_ATTRIBUTE_ID (0x0409)
-#define ZCL_NO_TIER_BLOCK11_PRICE_ATTRIBUTE_ID (0x040A)
-#define ZCL_NO_TIER_BLOCK12_PRICE_ATTRIBUTE_ID (0x040B)
-#define ZCL_NO_TIER_BLOCK13_PRICE_ATTRIBUTE_ID (0x040C)
-#define ZCL_NO_TIER_BLOCK14_PRICE_ATTRIBUTE_ID (0x040D)
-#define ZCL_NO_TIER_BLOCK15_PRICE_ATTRIBUTE_ID (0x040E)
-#define ZCL_NO_TIER_BLOCK16_PRICE_ATTRIBUTE_ID (0x040F)
-#define ZCL_TIER1_BLOCK1_PRICE_ATTRIBUTE_ID (0x0410)
-#define ZCL_TIER1_BLOCK2_PRICE_ATTRIBUTE_ID (0x0411)
-#define ZCL_TIER1_BLOCK3_PRICE_ATTRIBUTE_ID (0x0412)
-#define ZCL_TIER1_BLOCK4_PRICE_ATTRIBUTE_ID (0x0413)
-#define ZCL_TIER1_BLOCK5_PRICE_ATTRIBUTE_ID (0x0414)
-#define ZCL_TIER1_BLOCK6_PRICE_ATTRIBUTE_ID (0x0415)
-#define ZCL_TIER1_BLOCK7_PRICE_ATTRIBUTE_ID (0x0416)
-#define ZCL_TIER1_BLOCK8_PRICE_ATTRIBUTE_ID (0x0417)
-#define ZCL_TIER1_BLOCK9_PRICE_ATTRIBUTE_ID (0x0418)
-#define ZCL_TIER1_BLOCK10_PRICE_ATTRIBUTE_ID (0x0419)
-#define ZCL_TIER1_BLOCK11_PRICE_ATTRIBUTE_ID (0x041A)
-#define ZCL_TIER1_BLOCK12_PRICE_ATTRIBUTE_ID (0x041B)
-#define ZCL_TIER1_BLOCK13_PRICE_ATTRIBUTE_ID (0x041C)
-#define ZCL_TIER1_BLOCK14_PRICE_ATTRIBUTE_ID (0x041D)
-#define ZCL_TIER1_BLOCK15_PRICE_ATTRIBUTE_ID (0x041E)
-#define ZCL_TIER1_BLOCK16_PRICE_ATTRIBUTE_ID (0x041F)
-#define ZCL_TIER2_BLOCK1_PRICE_ATTRIBUTE_ID (0x0420)
-#define ZCL_TIER2_BLOCK2_PRICE_ATTRIBUTE_ID (0x0421)
-#define ZCL_TIER2_BLOCK3_PRICE_ATTRIBUTE_ID (0x0422)
-#define ZCL_TIER2_BLOCK4_PRICE_ATTRIBUTE_ID (0x0423)
-#define ZCL_TIER2_BLOCK5_PRICE_ATTRIBUTE_ID (0x0424)
-#define ZCL_TIER2_BLOCK6_PRICE_ATTRIBUTE_ID (0x0425)
-#define ZCL_TIER2_BLOCK7_PRICE_ATTRIBUTE_ID (0x0426)
-#define ZCL_TIER2_BLOCK8_PRICE_ATTRIBUTE_ID (0x0427)
-#define ZCL_TIER2_BLOCK9_PRICE_ATTRIBUTE_ID (0x0428)
-#define ZCL_TIER2_BLOCK10_PRICE_ATTRIBUTE_ID (0x0429)
-#define ZCL_TIER2_BLOCK11_PRICE_ATTRIBUTE_ID (0x042A)
-#define ZCL_TIER2_BLOCK12_PRICE_ATTRIBUTE_ID (0x042B)
-#define ZCL_TIER2_BLOCK13_PRICE_ATTRIBUTE_ID (0x042C)
-#define ZCL_TIER2_BLOCK14_PRICE_ATTRIBUTE_ID (0x042D)
-#define ZCL_TIER2_BLOCK15_PRICE_ATTRIBUTE_ID (0x042E)
-#define ZCL_TIER2_BLOCK16_PRICE_ATTRIBUTE_ID (0x042F)
-#define ZCL_TIER3_BLOCK1_PRICE_ATTRIBUTE_ID (0x0430)
-#define ZCL_TIER3_BLOCK2_PRICE_ATTRIBUTE_ID (0x0431)
-#define ZCL_TIER3_BLOCK3_PRICE_ATTRIBUTE_ID (0x0432)
-#define ZCL_TIER3_BLOCK4_PRICE_ATTRIBUTE_ID (0x0433)
-#define ZCL_TIER3_BLOCK5_PRICE_ATTRIBUTE_ID (0x0434)
-#define ZCL_TIER3_BLOCK6_PRICE_ATTRIBUTE_ID (0x0435)
-#define ZCL_TIER3_BLOCK7_PRICE_ATTRIBUTE_ID (0x0436)
-#define ZCL_TIER3_BLOCK8_PRICE_ATTRIBUTE_ID (0x0437)
-#define ZCL_TIER3_BLOCK9_PRICE_ATTRIBUTE_ID (0x0438)
-#define ZCL_TIER3_BLOCK10_PRICE_ATTRIBUTE_ID (0x0439)
-#define ZCL_TIER3_BLOCK11_PRICE_ATTRIBUTE_ID (0x043A)
-#define ZCL_TIER3_BLOCK12_PRICE_ATTRIBUTE_ID (0x043B)
-#define ZCL_TIER3_BLOCK13_PRICE_ATTRIBUTE_ID (0x043C)
-#define ZCL_TIER3_BLOCK14_PRICE_ATTRIBUTE_ID (0x043D)
-#define ZCL_TIER3_BLOCK15_PRICE_ATTRIBUTE_ID (0x043E)
-#define ZCL_TIER3_BLOCK16_PRICE_ATTRIBUTE_ID (0x043F)
-#define ZCL_TIER4_BLOCK1_PRICE_ATTRIBUTE_ID (0x0440)
-#define ZCL_TIER4_BLOCK2_PRICE_ATTRIBUTE_ID (0x0441)
-#define ZCL_TIER4_BLOCK3_PRICE_ATTRIBUTE_ID (0x0442)
-#define ZCL_TIER4_BLOCK4_PRICE_ATTRIBUTE_ID (0x0443)
-#define ZCL_TIER4_BLOCK5_PRICE_ATTRIBUTE_ID (0x0444)
-#define ZCL_TIER4_BLOCK6_PRICE_ATTRIBUTE_ID (0x0445)
-#define ZCL_TIER4_BLOCK7_PRICE_ATTRIBUTE_ID (0x0446)
-#define ZCL_TIER4_BLOCK8_PRICE_ATTRIBUTE_ID (0x0447)
-#define ZCL_TIER4_BLOCK9_PRICE_ATTRIBUTE_ID (0x0448)
-#define ZCL_TIER4_BLOCK10_PRICE_ATTRIBUTE_ID (0x0449)
-#define ZCL_TIER4_BLOCK11_PRICE_ATTRIBUTE_ID (0x044A)
-#define ZCL_TIER4_BLOCK12_PRICE_ATTRIBUTE_ID (0x044B)
-#define ZCL_TIER4_BLOCK13_PRICE_ATTRIBUTE_ID (0x044C)
-#define ZCL_TIER4_BLOCK14_PRICE_ATTRIBUTE_ID (0x044D)
-#define ZCL_TIER4_BLOCK15_PRICE_ATTRIBUTE_ID (0x044E)
-#define ZCL_TIER4_BLOCK16_PRICE_ATTRIBUTE_ID (0x044F)
-#define ZCL_TIER5_BLOCK1_PRICE_ATTRIBUTE_ID (0x0450)
-#define ZCL_TIER5_BLOCK2_PRICE_ATTRIBUTE_ID (0x0451)
-#define ZCL_TIER5_BLOCK3_PRICE_ATTRIBUTE_ID (0x0452)
-#define ZCL_TIER5_BLOCK4_PRICE_ATTRIBUTE_ID (0x0453)
-#define ZCL_TIER5_BLOCK5_PRICE_ATTRIBUTE_ID (0x0454)
-#define ZCL_TIER5_BLOCK6_PRICE_ATTRIBUTE_ID (0x0455)
-#define ZCL_TIER5_BLOCK7_PRICE_ATTRIBUTE_ID (0x0456)
-#define ZCL_TIER5_BLOCK8_PRICE_ATTRIBUTE_ID (0x0457)
-#define ZCL_TIER5_BLOCK9_PRICE_ATTRIBUTE_ID (0x0458)
-#define ZCL_TIER5_BLOCK10_PRICE_ATTRIBUTE_ID (0x0459)
-#define ZCL_TIER5_BLOCK11_PRICE_ATTRIBUTE_ID (0x045A)
-#define ZCL_TIER5_BLOCK12_PRICE_ATTRIBUTE_ID (0x045B)
-#define ZCL_TIER5_BLOCK13_PRICE_ATTRIBUTE_ID (0x045C)
-#define ZCL_TIER5_BLOCK14_PRICE_ATTRIBUTE_ID (0x045D)
-#define ZCL_TIER5_BLOCK15_PRICE_ATTRIBUTE_ID (0x045E)
-#define ZCL_TIER5_BLOCK16_PRICE_ATTRIBUTE_ID (0x045F)
-#define ZCL_TIER6_BLOCK1_PRICE_ATTRIBUTE_ID (0x0460)
-#define ZCL_TIER6_BLOCK2_PRICE_ATTRIBUTE_ID (0x0461)
-#define ZCL_TIER6_BLOCK3_PRICE_ATTRIBUTE_ID (0x0462)
-#define ZCL_TIER6_BLOCK4_PRICE_ATTRIBUTE_ID (0x0463)
-#define ZCL_TIER6_BLOCK5_PRICE_ATTRIBUTE_ID (0x0464)
-#define ZCL_TIER6_BLOCK6_PRICE_ATTRIBUTE_ID (0x0465)
-#define ZCL_TIER6_BLOCK7_PRICE_ATTRIBUTE_ID (0x0466)
-#define ZCL_TIER6_BLOCK8_PRICE_ATTRIBUTE_ID (0x0467)
-#define ZCL_TIER6_BLOCK9_PRICE_ATTRIBUTE_ID (0x0468)
-#define ZCL_TIER6_BLOCK10_PRICE_ATTRIBUTE_ID (0x0469)
-#define ZCL_TIER6_BLOCK11_PRICE_ATTRIBUTE_ID (0x046A)
-#define ZCL_TIER6_BLOCK12_PRICE_ATTRIBUTE_ID (0x046B)
-#define ZCL_TIER6_BLOCK13_PRICE_ATTRIBUTE_ID (0x046C)
-#define ZCL_TIER6_BLOCK14_PRICE_ATTRIBUTE_ID (0x046D)
-#define ZCL_TIER6_BLOCK15_PRICE_ATTRIBUTE_ID (0x046E)
-#define ZCL_TIER6_BLOCK16_PRICE_ATTRIBUTE_ID (0x046F)
-#define ZCL_TIER7_BLOCK1_PRICE_ATTRIBUTE_ID (0x0470)
-#define ZCL_TIER7_BLOCK2_PRICE_ATTRIBUTE_ID (0x0471)
-#define ZCL_TIER7_BLOCK3_PRICE_ATTRIBUTE_ID (0x0472)
-#define ZCL_TIER7_BLOCK4_PRICE_ATTRIBUTE_ID (0x0473)
-#define ZCL_TIER7_BLOCK5_PRICE_ATTRIBUTE_ID (0x0474)
-#define ZCL_TIER7_BLOCK6_PRICE_ATTRIBUTE_ID (0x0475)
-#define ZCL_TIER7_BLOCK7_PRICE_ATTRIBUTE_ID (0x0476)
-#define ZCL_TIER7_BLOCK8_PRICE_ATTRIBUTE_ID (0x0477)
-#define ZCL_TIER7_BLOCK9_PRICE_ATTRIBUTE_ID (0x0478)
-#define ZCL_TIER7_BLOCK10_PRICE_ATTRIBUTE_ID (0x0479)
-#define ZCL_TIER7_BLOCK11_PRICE_ATTRIBUTE_ID (0x047A)
-#define ZCL_TIER7_BLOCK12_PRICE_ATTRIBUTE_ID (0x047B)
-#define ZCL_TIER7_BLOCK13_PRICE_ATTRIBUTE_ID (0x047C)
-#define ZCL_TIER7_BLOCK14_PRICE_ATTRIBUTE_ID (0x047D)
-#define ZCL_TIER7_BLOCK15_PRICE_ATTRIBUTE_ID (0x047E)
-#define ZCL_TIER7_BLOCK16_PRICE_ATTRIBUTE_ID (0x047F)
-#define ZCL_TIER8_BLOCK1_PRICE_ATTRIBUTE_ID (0x0480)
-#define ZCL_TIER8_BLOCK2_PRICE_ATTRIBUTE_ID (0x0481)
-#define ZCL_TIER8_BLOCK3_PRICE_ATTRIBUTE_ID (0x0482)
-#define ZCL_TIER8_BLOCK4_PRICE_ATTRIBUTE_ID (0x0483)
-#define ZCL_TIER8_BLOCK5_PRICE_ATTRIBUTE_ID (0x0484)
-#define ZCL_TIER8_BLOCK6_PRICE_ATTRIBUTE_ID (0x0485)
-#define ZCL_TIER8_BLOCK7_PRICE_ATTRIBUTE_ID (0x0486)
-#define ZCL_TIER8_BLOCK8_PRICE_ATTRIBUTE_ID (0x0487)
-#define ZCL_TIER8_BLOCK9_PRICE_ATTRIBUTE_ID (0x0488)
-#define ZCL_TIER8_BLOCK10_PRICE_ATTRIBUTE_ID (0x0489)
-#define ZCL_TIER8_BLOCK11_PRICE_ATTRIBUTE_ID (0x048A)
-#define ZCL_TIER8_BLOCK12_PRICE_ATTRIBUTE_ID (0x048B)
-#define ZCL_TIER8_BLOCK13_PRICE_ATTRIBUTE_ID (0x048C)
-#define ZCL_TIER8_BLOCK14_PRICE_ATTRIBUTE_ID (0x048D)
-#define ZCL_TIER8_BLOCK15_PRICE_ATTRIBUTE_ID (0x048E)
-#define ZCL_TIER8_BLOCK16_PRICE_ATTRIBUTE_ID (0x048F)
-#define ZCL_TIER9_BLOCK1_PRICE_ATTRIBUTE_ID (0x0490)
-#define ZCL_TIER9_BLOCK2_PRICE_ATTRIBUTE_ID (0x0491)
-#define ZCL_TIER9_BLOCK3_PRICE_ATTRIBUTE_ID (0x0492)
-#define ZCL_TIER9_BLOCK4_PRICE_ATTRIBUTE_ID (0x0493)
-#define ZCL_TIER9_BLOCK5_PRICE_ATTRIBUTE_ID (0x0494)
-#define ZCL_TIER9_BLOCK6_PRICE_ATTRIBUTE_ID (0x0495)
-#define ZCL_TIER9_BLOCK7_PRICE_ATTRIBUTE_ID (0x0496)
-#define ZCL_TIER9_BLOCK8_PRICE_ATTRIBUTE_ID (0x0497)
-#define ZCL_TIER9_BLOCK9_PRICE_ATTRIBUTE_ID (0x0498)
-#define ZCL_TIER9_BLOCK10_PRICE_ATTRIBUTE_ID (0x0499)
-#define ZCL_TIER9_BLOCK11_PRICE_ATTRIBUTE_ID (0x049A)
-#define ZCL_TIER9_BLOCK12_PRICE_ATTRIBUTE_ID (0x049B)
-#define ZCL_TIER9_BLOCK13_PRICE_ATTRIBUTE_ID (0x049C)
-#define ZCL_TIER9_BLOCK14_PRICE_ATTRIBUTE_ID (0x049D)
-#define ZCL_TIER9_BLOCK15_PRICE_ATTRIBUTE_ID (0x049E)
-#define ZCL_TIER9_BLOCK16_PRICE_ATTRIBUTE_ID (0x049F)
-#define ZCL_TIER10_BLOCK1_PRICE_ATTRIBUTE_ID (0x04A0)
-#define ZCL_TIER10_BLOCK2_PRICE_ATTRIBUTE_ID (0x04A1)
-#define ZCL_TIER10_BLOCK3_PRICE_ATTRIBUTE_ID (0x04A2)
-#define ZCL_TIER10_BLOCK4_PRICE_ATTRIBUTE_ID (0x04A3)
-#define ZCL_TIER10_BLOCK5_PRICE_ATTRIBUTE_ID (0x04A4)
-#define ZCL_TIER10_BLOCK6_PRICE_ATTRIBUTE_ID (0x04A5)
-#define ZCL_TIER10_BLOCK7_PRICE_ATTRIBUTE_ID (0x04A6)
-#define ZCL_TIER10_BLOCK8_PRICE_ATTRIBUTE_ID (0x04A7)
-#define ZCL_TIER10_BLOCK9_PRICE_ATTRIBUTE_ID (0x04A8)
-#define ZCL_TIER10_BLOCK10_PRICE_ATTRIBUTE_ID (0x04A9)
-#define ZCL_TIER10_BLOCK11_PRICE_ATTRIBUTE_ID (0x04AA)
-#define ZCL_TIER10_BLOCK12_PRICE_ATTRIBUTE_ID (0x04AB)
-#define ZCL_TIER10_BLOCK13_PRICE_ATTRIBUTE_ID (0x04AC)
-#define ZCL_TIER10_BLOCK14_PRICE_ATTRIBUTE_ID (0x04AD)
-#define ZCL_TIER10_BLOCK15_PRICE_ATTRIBUTE_ID (0x04AE)
-#define ZCL_TIER10_BLOCK16_PRICE_ATTRIBUTE_ID (0x04AF)
-#define ZCL_TIER11_BLOCK1_PRICE_ATTRIBUTE_ID (0x04B0)
-#define ZCL_TIER11_BLOCK2_PRICE_ATTRIBUTE_ID (0x04B1)
-#define ZCL_TIER11_BLOCK3_PRICE_ATTRIBUTE_ID (0x04B2)
-#define ZCL_TIER11_BLOCK4_PRICE_ATTRIBUTE_ID (0x04B3)
-#define ZCL_TIER11_BLOCK5_PRICE_ATTRIBUTE_ID (0x04B4)
-#define ZCL_TIER11_BLOCK6_PRICE_ATTRIBUTE_ID (0x04B5)
-#define ZCL_TIER11_BLOCK7_PRICE_ATTRIBUTE_ID (0x04B6)
-#define ZCL_TIER11_BLOCK8_PRICE_ATTRIBUTE_ID (0x04B7)
-#define ZCL_TIER11_BLOCK9_PRICE_ATTRIBUTE_ID (0x04B8)
-#define ZCL_TIER11_BLOCK10_PRICE_ATTRIBUTE_ID (0x04B9)
-#define ZCL_TIER11_BLOCK11_PRICE_ATTRIBUTE_ID (0x04BA)
-#define ZCL_TIER11_BLOCK12_PRICE_ATTRIBUTE_ID (0x04BB)
-#define ZCL_TIER11_BLOCK13_PRICE_ATTRIBUTE_ID (0x04BC)
-#define ZCL_TIER11_BLOCK14_PRICE_ATTRIBUTE_ID (0x04BD)
-#define ZCL_TIER11_BLOCK15_PRICE_ATTRIBUTE_ID (0x04BE)
-#define ZCL_TIER11_BLOCK16_PRICE_ATTRIBUTE_ID (0x04BF)
-#define ZCL_TIER12_BLOCK1_PRICE_ATTRIBUTE_ID (0x04C0)
-#define ZCL_TIER12_BLOCK2_PRICE_ATTRIBUTE_ID (0x04C1)
-#define ZCL_TIER12_BLOCK3_PRICE_ATTRIBUTE_ID (0x04C2)
-#define ZCL_TIER12_BLOCK4_PRICE_ATTRIBUTE_ID (0x04C3)
-#define ZCL_TIER12_BLOCK5_PRICE_ATTRIBUTE_ID (0x04C4)
-#define ZCL_TIER12_BLOCK6_PRICE_ATTRIBUTE_ID (0x04C5)
-#define ZCL_TIER12_BLOCK7_PRICE_ATTRIBUTE_ID (0x04C6)
-#define ZCL_TIER12_BLOCK8_PRICE_ATTRIBUTE_ID (0x04C7)
-#define ZCL_TIER12_BLOCK9_PRICE_ATTRIBUTE_ID (0x04C8)
-#define ZCL_TIER12_BLOCK10_PRICE_ATTRIBUTE_ID (0x04C9)
-#define ZCL_TIER12_BLOCK11_PRICE_ATTRIBUTE_ID (0x04CA)
-#define ZCL_TIER12_BLOCK12_PRICE_ATTRIBUTE_ID (0x04CB)
-#define ZCL_TIER12_BLOCK13_PRICE_ATTRIBUTE_ID (0x04CC)
-#define ZCL_TIER12_BLOCK14_PRICE_ATTRIBUTE_ID (0x04CD)
-#define ZCL_TIER12_BLOCK15_PRICE_ATTRIBUTE_ID (0x04CE)
-#define ZCL_TIER12_BLOCK16_PRICE_ATTRIBUTE_ID (0x04CF)
-#define ZCL_TIER13_BLOCK1_PRICE_ATTRIBUTE_ID (0x04D0)
-#define ZCL_TIER13_BLOCK2_PRICE_ATTRIBUTE_ID (0x04D1)
-#define ZCL_TIER13_BLOCK3_PRICE_ATTRIBUTE_ID (0x04D2)
-#define ZCL_TIER13_BLOCK4_PRICE_ATTRIBUTE_ID (0x04D3)
-#define ZCL_TIER13_BLOCK5_PRICE_ATTRIBUTE_ID (0x04D4)
-#define ZCL_TIER13_BLOCK6_PRICE_ATTRIBUTE_ID (0x04D5)
-#define ZCL_TIER13_BLOCK7_PRICE_ATTRIBUTE_ID (0x04D6)
-#define ZCL_TIER13_BLOCK8_PRICE_ATTRIBUTE_ID (0x04D7)
-#define ZCL_TIER13_BLOCK9_PRICE_ATTRIBUTE_ID (0x04D8)
-#define ZCL_TIER13_BLOCK10_PRICE_ATTRIBUTE_ID (0x04D9)
-#define ZCL_TIER13_BLOCK11_PRICE_ATTRIBUTE_ID (0x04DA)
-#define ZCL_TIER13_BLOCK12_PRICE_ATTRIBUTE_ID (0x04DB)
-#define ZCL_TIER13_BLOCK13_PRICE_ATTRIBUTE_ID (0x04DC)
-#define ZCL_TIER13_BLOCK14_PRICE_ATTRIBUTE_ID (0x04DD)
-#define ZCL_TIER13_BLOCK15_PRICE_ATTRIBUTE_ID (0x04DE)
-#define ZCL_TIER13_BLOCK16_PRICE_ATTRIBUTE_ID (0x04DF)
-#define ZCL_TIER14_BLOCK1_PRICE_ATTRIBUTE_ID (0x04E0)
-#define ZCL_TIER14_BLOCK2_PRICE_ATTRIBUTE_ID (0x04E1)
-#define ZCL_TIER14_BLOCK3_PRICE_ATTRIBUTE_ID (0x04E2)
-#define ZCL_TIER14_BLOCK4_PRICE_ATTRIBUTE_ID (0x04E3)
-#define ZCL_TIER14_BLOCK5_PRICE_ATTRIBUTE_ID (0x04E4)
-#define ZCL_TIER14_BLOCK6_PRICE_ATTRIBUTE_ID (0x04E5)
-#define ZCL_TIER14_BLOCK7_PRICE_ATTRIBUTE_ID (0x04E6)
-#define ZCL_TIER14_BLOCK8_PRICE_ATTRIBUTE_ID (0x04E7)
-#define ZCL_TIER14_BLOCK9_PRICE_ATTRIBUTE_ID (0x04E8)
-#define ZCL_TIER14_BLOCK10_PRICE_ATTRIBUTE_ID (0x04E9)
-#define ZCL_TIER14_BLOCK11_PRICE_ATTRIBUTE_ID (0x04EA)
-#define ZCL_TIER14_BLOCK12_PRICE_ATTRIBUTE_ID (0x04EB)
-#define ZCL_TIER14_BLOCK13_PRICE_ATTRIBUTE_ID (0x04EC)
-#define ZCL_TIER14_BLOCK14_PRICE_ATTRIBUTE_ID (0x04ED)
-#define ZCL_TIER14_BLOCK15_PRICE_ATTRIBUTE_ID (0x04EE)
-#define ZCL_TIER14_BLOCK16_PRICE_ATTRIBUTE_ID (0x04EF)
-#define ZCL_TIER15_BLOCK1_PRICE_ATTRIBUTE_ID (0x04F0)
-#define ZCL_TIER15_BLOCK2_PRICE_ATTRIBUTE_ID (0x04F1)
-#define ZCL_TIER15_BLOCK3_PRICE_ATTRIBUTE_ID (0x04F2)
-#define ZCL_TIER15_BLOCK4_PRICE_ATTRIBUTE_ID (0x04F3)
-#define ZCL_TIER15_BLOCK5_PRICE_ATTRIBUTE_ID (0x04F4)
-#define ZCL_TIER15_BLOCK6_PRICE_ATTRIBUTE_ID (0x04F5)
-#define ZCL_TIER15_BLOCK7_PRICE_ATTRIBUTE_ID (0x04F6)
-#define ZCL_TIER15_BLOCK8_PRICE_ATTRIBUTE_ID (0x04F7)
-#define ZCL_TIER15_BLOCK9_PRICE_ATTRIBUTE_ID (0x04F8)
-#define ZCL_TIER15_BLOCK10_PRICE_ATTRIBUTE_ID (0x04F9)
-#define ZCL_TIER15_BLOCK11_PRICE_ATTRIBUTE_ID (0x04FA)
-#define ZCL_TIER15_BLOCK12_PRICE_ATTRIBUTE_ID (0x04FB)
-#define ZCL_TIER15_BLOCK13_PRICE_ATTRIBUTE_ID (0x04FC)
-#define ZCL_TIER15_BLOCK14_PRICE_ATTRIBUTE_ID (0x04FD)
-#define ZCL_TIER15_BLOCK15_PRICE_ATTRIBUTE_ID (0x04FE)
-#define ZCL_TIER15_BLOCK16_PRICE_ATTRIBUTE_ID (0x04FF)
-#define ZCL_PRICE_TIER16_ATTRIBUTE_ID (0x050F)
-#define ZCL_PRICE_TIER17_ATTRIBUTE_ID (0x0510)
-#define ZCL_PRICE_TIER18_ATTRIBUTE_ID (0x0511)
-#define ZCL_PRICE_TIER19_ATTRIBUTE_ID (0x0512)
-#define ZCL_PRICE_TIER20_ATTRIBUTE_ID (0x0513)
-#define ZCL_PRICE_TIER21_ATTRIBUTE_ID (0x0514)
-#define ZCL_PRICE_TIER22_ATTRIBUTE_ID (0x0515)
-#define ZCL_PRICE_TIER23_ATTRIBUTE_ID (0x0516)
-#define ZCL_PRICE_TIER24_ATTRIBUTE_ID (0x0517)
-#define ZCL_PRICE_TIER25_ATTRIBUTE_ID (0x0518)
-#define ZCL_PRICE_TIER26_ATTRIBUTE_ID (0x0519)
-#define ZCL_PRICE_TIER27_ATTRIBUTE_ID (0x051A)
-#define ZCL_PRICE_TIER28_ATTRIBUTE_ID (0x051B)
-#define ZCL_PRICE_TIER29_ATTRIBUTE_ID (0x051C)
-#define ZCL_PRICE_TIER30_ATTRIBUTE_ID (0x051D)
-#define ZCL_PRICE_TIER31_ATTRIBUTE_ID (0x051E)
-#define ZCL_PRICE_TIER32_ATTRIBUTE_ID (0x051F)
-#define ZCL_PRICE_TIER33_ATTRIBUTE_ID (0x0520)
-#define ZCL_PRICE_TIER34_ATTRIBUTE_ID (0x0521)
-#define ZCL_PRICE_TIER35_ATTRIBUTE_ID (0x0522)
-#define ZCL_PRICE_TIER36_ATTRIBUTE_ID (0x0523)
-#define ZCL_PRICE_TIER37_ATTRIBUTE_ID (0x0524)
-#define ZCL_PRICE_TIER38_ATTRIBUTE_ID (0x0525)
-#define ZCL_PRICE_TIER39_ATTRIBUTE_ID (0x0526)
-#define ZCL_PRICE_TIER40_ATTRIBUTE_ID (0x0527)
-#define ZCL_PRICE_TIER41_ATTRIBUTE_ID (0x0528)
-#define ZCL_PRICE_TIER42_ATTRIBUTE_ID (0x0529)
-#define ZCL_PRICE_TIER43_ATTRIBUTE_ID (0x052A)
-#define ZCL_PRICE_TIER44_ATTRIBUTE_ID (0x052B)
-#define ZCL_PRICE_TIER45_ATTRIBUTE_ID (0x052C)
-#define ZCL_PRICE_TIER46_ATTRIBUTE_ID (0x052D)
-#define ZCL_PRICE_TIER47_ATTRIBUTE_ID (0x052E)
-#define ZCL_PRICE_TIER48_ATTRIBUTE_ID (0x052F)
-#define ZCL_CPP1_PRICE_ATTRIBUTE_ID (0x05FE)
-#define ZCL_CPP2_PRICE_ATTRIBUTE_ID (0x05FF)
-#define ZCL_TARIFF_LABEL_ATTRIBUTE_ID (0x0610)
-#define ZCL_NUMBER_OF_PRICE_TIERS_IN_USE_ATTRIBUTE_ID (0x0611)
-#define ZCL_NUMBER_OF_BLOCK_THRESHOLDS_IN_USE_ATTRIBUTE_ID (0x0612)
-#define ZCL_TIER_BLOCK_MODE_ATTRIBUTE_ID (0x0613)
-#define ZCL_TARIFF_UNIT_OF_MEASURE_ATTRIBUTE_ID (0x0615)
-#define ZCL_TARIFF_CURRENCY_ATTRIBUTE_ID (0x0616)
-#define ZCL_TARIFF_PRICE_TRAILING_DIGIT_ATTRIBUTE_ID (0x0617)
-#define ZCL_TARIFF_RESOLUTION_PERIOD_ATTRIBUTE_ID (0x0619)
-#define ZCL_TARIFF_CO2_ATTRIBUTE_ID (0x0620)
-#define ZCL_TARIFF_CO2_UNIT_ATTRIBUTE_ID (0x0621)
-#define ZCL_TARIFF_CO2_TRAILING_DIGIT_ATTRIBUTE_ID (0x0622)
-#define ZCL_CURRENT_BILLING_PERIOD_START_ATTRIBUTE_ID (0x0700)
-#define ZCL_CURRENT_BILLING_PERIOD_DURATION_ATTRIBUTE_ID (0x0701)
-#define ZCL_LAST_BILLING_PERIOD_START_ATTRIBUTE_ID (0x0702)
-#define ZCL_LAST_BILLING_PERIOD_DURATION_ATTRIBUTE_ID (0x0703)
-#define ZCL_LAST_BILLING_PERIOD_CONSOLIDATED_BILL_ATTRIBUTE_ID (0x0704)
-#define ZCL_CREDIT_PAYMENT_DUE_DATE_ATTRIBUTE_ID (0x0800)
-#define ZCL_CREDIT_PAYMENT_STATUS_ATTRIBUTE_ID (0x0801)
-#define ZCL_CREDIT_PAYMENT_OVER_DUE_AMOUNT_ATTRIBUTE_ID (0x0802)
-#define ZCL_PAYMENT_DISCOUNT_ATTRIBUTE_ID (0x080A)
-#define ZCL_PAYMENT_DISCOUNT_PERIOD_ATTRIBUTE_ID (0x080B)
-#define ZCL_CREDIT_PAYMENT_1_ATTRIBUTE_ID (0x0810)
-#define ZCL_CREDIT_PAYMENT_DATE_1_ATTRIBUTE_ID (0x0811)
-#define ZCL_CREDIT_PAYMENT_REF_1_ATTRIBUTE_ID (0x0812)
-#define ZCL_CREDIT_PAYMENT_2_ATTRIBUTE_ID (0x0820)
-#define ZCL_CREDIT_PAYMENT_DATE_2_ATTRIBUTE_ID (0x0821)
-#define ZCL_CREDIT_PAYMENT_REF_2_ATTRIBUTE_ID (0x0822)
-#define ZCL_CREDIT_PAYMENT_3_ATTRIBUTE_ID (0x0830)
-#define ZCL_CREDIT_PAYMENT_DATE_3_ATTRIBUTE_ID (0x0831)
-#define ZCL_CREDIT_PAYMENT_REF_3_ATTRIBUTE_ID (0x0832)
-#define ZCL_CREDIT_PAYMENT_4_ATTRIBUTE_ID (0x0840)
-#define ZCL_CREDIT_PAYMENT_DATE_4_ATTRIBUTE_ID (0x0841)
-#define ZCL_CREDIT_PAYMENT_REF_4_ATTRIBUTE_ID (0x0842)
-#define ZCL_CREDIT_PAYMENT_5_ATTRIBUTE_ID (0x0850)
-#define ZCL_CREDIT_PAYMENT_DATE_5_ATTRIBUTE_ID (0x0851)
-#define ZCL_CREDIT_PAYMENT_REF_5_ATTRIBUTE_ID (0x0852)
-#define ZCL_RX_TIER1_PRICE_LABEL_ATTRIBUTE_ID (0x8000)
-#define ZCL_RX_TIER2_PRICE_LABEL_ATTRIBUTE_ID (0x8001)
-#define ZCL_RX_TIER3_PRICE_LABEL_ATTRIBUTE_ID (0x8002)
-#define ZCL_RX_TIER4_PRICE_LABEL_ATTRIBUTE_ID (0x8003)
-#define ZCL_RX_TIER5_PRICE_LABEL_ATTRIBUTE_ID (0x8004)
-#define ZCL_RX_TIER6_PRICE_LABEL_ATTRIBUTE_ID (0x8005)
-#define ZCL_RX_TIER7_PRICE_LABEL_ATTRIBUTE_ID (0x8006)
-#define ZCL_RX_TIER8_PRICE_LABEL_ATTRIBUTE_ID (0x8007)
-#define ZCL_RX_TIER9_PRICE_LABEL_ATTRIBUTE_ID (0x8008)
-#define ZCL_RX_TIER10_PRICE_LABEL_ATTRIBUTE_ID (0x8009)
-#define ZCL_RX_TIER11_PRICE_LABEL_ATTRIBUTE_ID (0x800A)
-#define ZCL_RX_TIER12_PRICE_LABEL_ATTRIBUTE_ID (0x800B)
-#define ZCL_RX_TIER13_PRICE_LABEL_ATTRIBUTE_ID (0x800C)
-#define ZCL_RX_TIER14_PRICE_LABEL_ATTRIBUTE_ID (0x800D)
-#define ZCL_RX_TIER15_PRICE_LABEL_ATTRIBUTE_ID (0x800E)
-#define ZCL_RX_TIER16_PRICE_LABEL_ATTRIBUTE_ID (0x800F)
-#define ZCL_RX_TIER17_PRICE_LABEL_ATTRIBUTE_ID (0x8010)
-#define ZCL_RX_TIER18_PRICE_LABEL_ATTRIBUTE_ID (0x8011)
-#define ZCL_RX_TIER19_PRICE_LABEL_ATTRIBUTE_ID (0x8012)
-#define ZCL_RX_TIER20_PRICE_LABEL_ATTRIBUTE_ID (0x8013)
-#define ZCL_RX_TIER21_PRICE_LABEL_ATTRIBUTE_ID (0x8014)
-#define ZCL_RX_TIER22_PRICE_LABEL_ATTRIBUTE_ID (0x8015)
-#define ZCL_RX_TIER23_PRICE_LABEL_ATTRIBUTE_ID (0x8016)
-#define ZCL_RX_TIER24_PRICE_LABEL_ATTRIBUTE_ID (0x8017)
-#define ZCL_RX_TIER25_PRICE_LABEL_ATTRIBUTE_ID (0x8018)
-#define ZCL_RX_TIER26_PRICE_LABEL_ATTRIBUTE_ID (0x8019)
-#define ZCL_RX_TIER27_PRICE_LABEL_ATTRIBUTE_ID (0x801A)
-#define ZCL_RX_TIER28_PRICE_LABEL_ATTRIBUTE_ID (0x801B)
-#define ZCL_RX_TIER29_PRICE_LABEL_ATTRIBUTE_ID (0x801C)
-#define ZCL_RX_TIER30_PRICE_LABEL_ATTRIBUTE_ID (0x801D)
-#define ZCL_RX_TIER31_PRICE_LABEL_ATTRIBUTE_ID (0x801E)
-#define ZCL_RX_TIER32_PRICE_LABEL_ATTRIBUTE_ID (0x801F)
-#define ZCL_RX_TIER33_PRICE_LABEL_ATTRIBUTE_ID (0x8020)
-#define ZCL_RX_TIER34_PRICE_LABEL_ATTRIBUTE_ID (0x8021)
-#define ZCL_RX_TIER35_PRICE_LABEL_ATTRIBUTE_ID (0x8022)
-#define ZCL_RX_TIER36_PRICE_LABEL_ATTRIBUTE_ID (0x8023)
-#define ZCL_RX_TIER37_PRICE_LABEL_ATTRIBUTE_ID (0x8024)
-#define ZCL_RX_TIER38_PRICE_LABEL_ATTRIBUTE_ID (0x8025)
-#define ZCL_RX_TIER39_PRICE_LABEL_ATTRIBUTE_ID (0x8026)
-#define ZCL_RX_TIER40_PRICE_LABEL_ATTRIBUTE_ID (0x8027)
-#define ZCL_RX_TIER41_PRICE_LABEL_ATTRIBUTE_ID (0x8028)
-#define ZCL_RX_TIER42_PRICE_LABEL_ATTRIBUTE_ID (0x8029)
-#define ZCL_RX_TIER43_PRICE_LABEL_ATTRIBUTE_ID (0x802A)
-#define ZCL_RX_TIER44_PRICE_LABEL_ATTRIBUTE_ID (0x802B)
-#define ZCL_RX_TIER45_PRICE_LABEL_ATTRIBUTE_ID (0x802C)
-#define ZCL_RX_TIER46_PRICE_LABEL_ATTRIBUTE_ID (0x802D)
-#define ZCL_RX_TIER47_PRICE_LABEL_ATTRIBUTE_ID (0x802E)
-#define ZCL_RX_TIER48_PRICE_LABEL_ATTRIBUTE_ID (0x802F)
-#define ZCL_RX_BLOCK1_THRESHOLD_ATTRIBUTE_ID (0x8100)
-#define ZCL_RX_BLOCK2_THRESHOLD_ATTRIBUTE_ID (0x8101)
-#define ZCL_RX_BLOCK3_THRESHOLD_ATTRIBUTE_ID (0x8102)
-#define ZCL_RX_BLOCK4_THRESHOLD_ATTRIBUTE_ID (0x8103)
-#define ZCL_RX_BLOCK5_THRESHOLD_ATTRIBUTE_ID (0x8104)
-#define ZCL_RX_BLOCK6_THRESHOLD_ATTRIBUTE_ID (0x8105)
-#define ZCL_RX_BLOCK7_THRESHOLD_ATTRIBUTE_ID (0x8106)
-#define ZCL_RX_BLOCK8_THRESHOLD_ATTRIBUTE_ID (0x8107)
-#define ZCL_RX_BLOCK9_THRESHOLD_ATTRIBUTE_ID (0x8108)
-#define ZCL_RX_BLOCK10_THRESHOLD_ATTRIBUTE_ID (0x8109)
-#define ZCL_RX_BLOCK11_THRESHOLD_ATTRIBUTE_ID (0x810A)
-#define ZCL_RX_BLOCK12_THRESHOLD_ATTRIBUTE_ID (0x810B)
-#define ZCL_RX_BLOCK13_THRESHOLD_ATTRIBUTE_ID (0x810C)
-#define ZCL_RX_BLOCK14_THRESHOLD_ATTRIBUTE_ID (0x810D)
-#define ZCL_RX_BLOCK15_THRESHOLD_ATTRIBUTE_ID (0x810E)
-#define ZCL_RX_START_OF_BLOCK_PERIOD_ATTRIBUTE_ID (0x8200)
-#define ZCL_RX_BLOCK_PERIOD_DURATION_ATTRIBUTE_ID (0x8201)
-#define ZCL_RX_THRESHOLD_MULTIPLIER_ATTRIBUTE_ID (0x8202)
-#define ZCL_RX_THRESHOLD_DIVISOR_ATTRIBUTE_ID (0x8203)
-#define ZCL_RX_NO_TIER_BLOCK1_PRICE_ATTRIBUTE_ID (0x8400)
-#define ZCL_RX_NO_TIER_BLOCK2_PRICE_ATTRIBUTE_ID (0x8401)
-#define ZCL_RX_NO_TIER_BLOCK3_PRICE_ATTRIBUTE_ID (0x8402)
-#define ZCL_RX_NO_TIER_BLOCK4_PRICE_ATTRIBUTE_ID (0x8403)
-#define ZCL_RX_NO_TIER_BLOCK5_PRICE_ATTRIBUTE_ID (0x8404)
-#define ZCL_RX_NO_TIER_BLOCK6_PRICE_ATTRIBUTE_ID (0x8405)
-#define ZCL_RX_NO_TIER_BLOCK7_PRICE_ATTRIBUTE_ID (0x8406)
-#define ZCL_RX_NO_TIER_BLOCK8_PRICE_ATTRIBUTE_ID (0x8407)
-#define ZCL_RX_NO_TIER_BLOCK9_PRICE_ATTRIBUTE_ID (0x8408)
-#define ZCL_RX_NO_TIER_BLOCK10_PRICE_ATTRIBUTE_ID (0x8409)
-#define ZCL_RX_NO_TIER_BLOCK11_PRICE_ATTRIBUTE_ID (0x840A)
-#define ZCL_RX_NO_TIER_BLOCK12_PRICE_ATTRIBUTE_ID (0x840B)
-#define ZCL_RX_NO_TIER_BLOCK13_PRICE_ATTRIBUTE_ID (0x840C)
-#define ZCL_RX_NO_TIER_BLOCK14_PRICE_ATTRIBUTE_ID (0x840D)
-#define ZCL_RX_NO_TIER_BLOCK15_PRICE_ATTRIBUTE_ID (0x840E)
-#define ZCL_RX_NO_TIER_BLOCK16_PRICE_ATTRIBUTE_ID (0x840F)
-#define ZCL_RX_TIER1_BLOCK1_PRICE_ATTRIBUTE_ID (0x8410)
-#define ZCL_RX_TIER1_BLOCK2_PRICE_ATTRIBUTE_ID (0x8411)
-#define ZCL_RX_TIER1_BLOCK3_PRICE_ATTRIBUTE_ID (0x8412)
-#define ZCL_RX_TIER1_BLOCK4_PRICE_ATTRIBUTE_ID (0x8413)
-#define ZCL_RX_TIER1_BLOCK5_PRICE_ATTRIBUTE_ID (0x8414)
-#define ZCL_RX_TIER1_BLOCK6_PRICE_ATTRIBUTE_ID (0x8415)
-#define ZCL_RX_TIER1_BLOCK7_PRICE_ATTRIBUTE_ID (0x8416)
-#define ZCL_RX_TIER1_BLOCK8_PRICE_ATTRIBUTE_ID (0x8417)
-#define ZCL_RX_TIER1_BLOCK9_PRICE_ATTRIBUTE_ID (0x8418)
-#define ZCL_RX_TIER1_BLOCK10_PRICE_ATTRIBUTE_ID (0x8419)
-#define ZCL_RX_TIER1_BLOCK11_PRICE_ATTRIBUTE_ID (0x841A)
-#define ZCL_RX_TIER1_BLOCK12_PRICE_ATTRIBUTE_ID (0x841B)
-#define ZCL_RX_TIER1_BLOCK13_PRICE_ATTRIBUTE_ID (0x841C)
-#define ZCL_RX_TIER1_BLOCK14_PRICE_ATTRIBUTE_ID (0x841D)
-#define ZCL_RX_TIER1_BLOCK15_PRICE_ATTRIBUTE_ID (0x841E)
-#define ZCL_RX_TIER1_BLOCK16_PRICE_ATTRIBUTE_ID (0x841F)
-#define ZCL_RX_TIER2_BLOCK1_PRICE_ATTRIBUTE_ID (0x8420)
-#define ZCL_RX_TIER2_BLOCK2_PRICE_ATTRIBUTE_ID (0x8421)
-#define ZCL_RX_TIER2_BLOCK3_PRICE_ATTRIBUTE_ID (0x8422)
-#define ZCL_RX_TIER2_BLOCK4_PRICE_ATTRIBUTE_ID (0x8423)
-#define ZCL_RX_TIER2_BLOCK5_PRICE_ATTRIBUTE_ID (0x8424)
-#define ZCL_RX_TIER2_BLOCK6_PRICE_ATTRIBUTE_ID (0x8425)
-#define ZCL_RX_TIER2_BLOCK7_PRICE_ATTRIBUTE_ID (0x8426)
-#define ZCL_RX_TIER2_BLOCK8_PRICE_ATTRIBUTE_ID (0x8427)
-#define ZCL_RX_TIER2_BLOCK9_PRICE_ATTRIBUTE_ID (0x8428)
-#define ZCL_RX_TIER2_BLOCK10_PRICE_ATTRIBUTE_ID (0x8429)
-#define ZCL_RX_TIER2_BLOCK11_PRICE_ATTRIBUTE_ID (0x842A)
-#define ZCL_RX_TIER2_BLOCK12_PRICE_ATTRIBUTE_ID (0x842B)
-#define ZCL_RX_TIER2_BLOCK13_PRICE_ATTRIBUTE_ID (0x842C)
-#define ZCL_RX_TIER2_BLOCK14_PRICE_ATTRIBUTE_ID (0x842D)
-#define ZCL_RX_TIER2_BLOCK15_PRICE_ATTRIBUTE_ID (0x842E)
-#define ZCL_RX_TIER2_BLOCK16_PRICE_ATTRIBUTE_ID (0x842F)
-#define ZCL_RX_TIER3_BLOCK1_PRICE_ATTRIBUTE_ID (0x8430)
-#define ZCL_RX_TIER3_BLOCK2_PRICE_ATTRIBUTE_ID (0x8431)
-#define ZCL_RX_TIER3_BLOCK3_PRICE_ATTRIBUTE_ID (0x8432)
-#define ZCL_RX_TIER3_BLOCK4_PRICE_ATTRIBUTE_ID (0x8433)
-#define ZCL_RX_TIER3_BLOCK5_PRICE_ATTRIBUTE_ID (0x8434)
-#define ZCL_RX_TIER3_BLOCK6_PRICE_ATTRIBUTE_ID (0x8435)
-#define ZCL_RX_TIER3_BLOCK7_PRICE_ATTRIBUTE_ID (0x8436)
-#define ZCL_RX_TIER3_BLOCK8_PRICE_ATTRIBUTE_ID (0x8437)
-#define ZCL_RX_TIER3_BLOCK9_PRICE_ATTRIBUTE_ID (0x8438)
-#define ZCL_RX_TIER3_BLOCK10_PRICE_ATTRIBUTE_ID (0x8439)
-#define ZCL_RX_TIER3_BLOCK11_PRICE_ATTRIBUTE_ID (0x843A)
-#define ZCL_RX_TIER3_BLOCK12_PRICE_ATTRIBUTE_ID (0x843B)
-#define ZCL_RX_TIER3_BLOCK13_PRICE_ATTRIBUTE_ID (0x843C)
-#define ZCL_RX_TIER3_BLOCK14_PRICE_ATTRIBUTE_ID (0x843D)
-#define ZCL_RX_TIER3_BLOCK15_PRICE_ATTRIBUTE_ID (0x843E)
-#define ZCL_RX_TIER3_BLOCK16_PRICE_ATTRIBUTE_ID (0x843F)
-#define ZCL_RX_TIER4_BLOCK1_PRICE_ATTRIBUTE_ID (0x8440)
-#define ZCL_RX_TIER4_BLOCK2_PRICE_ATTRIBUTE_ID (0x8441)
-#define ZCL_RX_TIER4_BLOCK3_PRICE_ATTRIBUTE_ID (0x8442)
-#define ZCL_RX_TIER4_BLOCK4_PRICE_ATTRIBUTE_ID (0x8443)
-#define ZCL_RX_TIER4_BLOCK5_PRICE_ATTRIBUTE_ID (0x8444)
-#define ZCL_RX_TIER4_BLOCK6_PRICE_ATTRIBUTE_ID (0x8445)
-#define ZCL_RX_TIER4_BLOCK7_PRICE_ATTRIBUTE_ID (0x8446)
-#define ZCL_RX_TIER4_BLOCK8_PRICE_ATTRIBUTE_ID (0x8447)
-#define ZCL_RX_TIER4_BLOCK9_PRICE_ATTRIBUTE_ID (0x8448)
-#define ZCL_RX_TIER4_BLOCK10_PRICE_ATTRIBUTE_ID (0x8449)
-#define ZCL_RX_TIER4_BLOCK11_PRICE_ATTRIBUTE_ID (0x844A)
-#define ZCL_RX_TIER4_BLOCK12_PRICE_ATTRIBUTE_ID (0x844B)
-#define ZCL_RX_TIER4_BLOCK13_PRICE_ATTRIBUTE_ID (0x844C)
-#define ZCL_RX_TIER4_BLOCK14_PRICE_ATTRIBUTE_ID (0x844D)
-#define ZCL_RX_TIER4_BLOCK15_PRICE_ATTRIBUTE_ID (0x844E)
-#define ZCL_RX_TIER4_BLOCK16_PRICE_ATTRIBUTE_ID (0x844F)
-#define ZCL_RX_TIER5_BLOCK1_PRICE_ATTRIBUTE_ID (0x8450)
-#define ZCL_RX_TIER5_BLOCK2_PRICE_ATTRIBUTE_ID (0x8451)
-#define ZCL_RX_TIER5_BLOCK3_PRICE_ATTRIBUTE_ID (0x8452)
-#define ZCL_RX_TIER5_BLOCK4_PRICE_ATTRIBUTE_ID (0x8453)
-#define ZCL_RX_TIER5_BLOCK5_PRICE_ATTRIBUTE_ID (0x8454)
-#define ZCL_RX_TIER5_BLOCK6_PRICE_ATTRIBUTE_ID (0x8455)
-#define ZCL_RX_TIER5_BLOCK7_PRICE_ATTRIBUTE_ID (0x8456)
-#define ZCL_RX_TIER5_BLOCK8_PRICE_ATTRIBUTE_ID (0x8457)
-#define ZCL_RX_TIER5_BLOCK9_PRICE_ATTRIBUTE_ID (0x8458)
-#define ZCL_RX_TIER5_BLOCK10_PRICE_ATTRIBUTE_ID (0x8459)
-#define ZCL_RX_TIER5_BLOCK11_PRICE_ATTRIBUTE_ID (0x845A)
-#define ZCL_RX_TIER5_BLOCK12_PRICE_ATTRIBUTE_ID (0x845B)
-#define ZCL_RX_TIER5_BLOCK13_PRICE_ATTRIBUTE_ID (0x845C)
-#define ZCL_RX_TIER5_BLOCK14_PRICE_ATTRIBUTE_ID (0x845D)
-#define ZCL_RX_TIER5_BLOCK15_PRICE_ATTRIBUTE_ID (0x845E)
-#define ZCL_RX_TIER5_BLOCK16_PRICE_ATTRIBUTE_ID (0x845F)
-#define ZCL_RX_TIER6_BLOCK1_PRICE_ATTRIBUTE_ID (0x8460)
-#define ZCL_RX_TIER6_BLOCK2_PRICE_ATTRIBUTE_ID (0x8461)
-#define ZCL_RX_TIER6_BLOCK3_PRICE_ATTRIBUTE_ID (0x8462)
-#define ZCL_RX_TIER6_BLOCK4_PRICE_ATTRIBUTE_ID (0x8463)
-#define ZCL_RX_TIER6_BLOCK5_PRICE_ATTRIBUTE_ID (0x8464)
-#define ZCL_RX_TIER6_BLOCK6_PRICE_ATTRIBUTE_ID (0x8465)
-#define ZCL_RX_TIER6_BLOCK7_PRICE_ATTRIBUTE_ID (0x8466)
-#define ZCL_RX_TIER6_BLOCK8_PRICE_ATTRIBUTE_ID (0x8467)
-#define ZCL_RX_TIER6_BLOCK9_PRICE_ATTRIBUTE_ID (0x8468)
-#define ZCL_RX_TIER6_BLOCK10_PRICE_ATTRIBUTE_ID (0x8469)
-#define ZCL_RX_TIER6_BLOCK11_PRICE_ATTRIBUTE_ID (0x846A)
-#define ZCL_RX_TIER6_BLOCK12_PRICE_ATTRIBUTE_ID (0x846B)
-#define ZCL_RX_TIER6_BLOCK13_PRICE_ATTRIBUTE_ID (0x846C)
-#define ZCL_RX_TIER6_BLOCK14_PRICE_ATTRIBUTE_ID (0x846D)
-#define ZCL_RX_TIER6_BLOCK15_PRICE_ATTRIBUTE_ID (0x846E)
-#define ZCL_RX_TIER6_BLOCK16_PRICE_ATTRIBUTE_ID (0x846F)
-#define ZCL_RX_TIER7_BLOCK1_PRICE_ATTRIBUTE_ID (0x8470)
-#define ZCL_RX_TIER7_BLOCK2_PRICE_ATTRIBUTE_ID (0x8471)
-#define ZCL_RX_TIER7_BLOCK3_PRICE_ATTRIBUTE_ID (0x8472)
-#define ZCL_RX_TIER7_BLOCK4_PRICE_ATTRIBUTE_ID (0x8473)
-#define ZCL_RX_TIER7_BLOCK5_PRICE_ATTRIBUTE_ID (0x8474)
-#define ZCL_RX_TIER7_BLOCK6_PRICE_ATTRIBUTE_ID (0x8475)
-#define ZCL_RX_TIER7_BLOCK7_PRICE_ATTRIBUTE_ID (0x8476)
-#define ZCL_RX_TIER7_BLOCK8_PRICE_ATTRIBUTE_ID (0x8477)
-#define ZCL_RX_TIER7_BLOCK9_PRICE_ATTRIBUTE_ID (0x8478)
-#define ZCL_RX_TIER7_BLOCK10_PRICE_ATTRIBUTE_ID (0x8479)
-#define ZCL_RX_TIER7_BLOCK11_PRICE_ATTRIBUTE_ID (0x847A)
-#define ZCL_RX_TIER7_BLOCK12_PRICE_ATTRIBUTE_ID (0x847B)
-#define ZCL_RX_TIER7_BLOCK13_PRICE_ATTRIBUTE_ID (0x847C)
-#define ZCL_RX_TIER7_BLOCK14_PRICE_ATTRIBUTE_ID (0x847D)
-#define ZCL_RX_TIER7_BLOCK15_PRICE_ATTRIBUTE_ID (0x847E)
-#define ZCL_RX_TIER7_BLOCK16_PRICE_ATTRIBUTE_ID (0x847F)
-#define ZCL_RX_TIER8_BLOCK1_PRICE_ATTRIBUTE_ID (0x8480)
-#define ZCL_RX_TIER8_BLOCK2_PRICE_ATTRIBUTE_ID (0x8481)
-#define ZCL_RX_TIER8_BLOCK3_PRICE_ATTRIBUTE_ID (0x8482)
-#define ZCL_RX_TIER8_BLOCK4_PRICE_ATTRIBUTE_ID (0x8483)
-#define ZCL_RX_TIER8_BLOCK5_PRICE_ATTRIBUTE_ID (0x8484)
-#define ZCL_RX_TIER8_BLOCK6_PRICE_ATTRIBUTE_ID (0x8485)
-#define ZCL_RX_TIER8_BLOCK7_PRICE_ATTRIBUTE_ID (0x8486)
-#define ZCL_RX_TIER8_BLOCK8_PRICE_ATTRIBUTE_ID (0x8487)
-#define ZCL_RX_TIER8_BLOCK9_PRICE_ATTRIBUTE_ID (0x8488)
-#define ZCL_RX_TIER8_BLOCK10_PRICE_ATTRIBUTE_ID (0x8489)
-#define ZCL_RX_TIER8_BLOCK11_PRICE_ATTRIBUTE_ID (0x848A)
-#define ZCL_RX_TIER8_BLOCK12_PRICE_ATTRIBUTE_ID (0x848B)
-#define ZCL_RX_TIER8_BLOCK13_PRICE_ATTRIBUTE_ID (0x848C)
-#define ZCL_RX_TIER8_BLOCK14_PRICE_ATTRIBUTE_ID (0x848D)
-#define ZCL_RX_TIER8_BLOCK15_PRICE_ATTRIBUTE_ID (0x848E)
-#define ZCL_RX_TIER8_BLOCK16_PRICE_ATTRIBUTE_ID (0x848F)
-#define ZCL_RX_TIER9_BLOCK1_PRICE_ATTRIBUTE_ID (0x8490)
-#define ZCL_RX_TIER9_BLOCK2_PRICE_ATTRIBUTE_ID (0x8491)
-#define ZCL_RX_TIER9_BLOCK3_PRICE_ATTRIBUTE_ID (0x8492)
-#define ZCL_RX_TIER9_BLOCK4_PRICE_ATTRIBUTE_ID (0x8493)
-#define ZCL_RX_TIER9_BLOCK5_PRICE_ATTRIBUTE_ID (0x8494)
-#define ZCL_RX_TIER9_BLOCK6_PRICE_ATTRIBUTE_ID (0x8495)
-#define ZCL_RX_TIER9_BLOCK7_PRICE_ATTRIBUTE_ID (0x8496)
-#define ZCL_RX_TIER9_BLOCK8_PRICE_ATTRIBUTE_ID (0x8497)
-#define ZCL_RX_TIER9_BLOCK9_PRICE_ATTRIBUTE_ID (0x8498)
-#define ZCL_RX_TIER9_BLOCK10_PRICE_ATTRIBUTE_ID (0x8499)
-#define ZCL_RX_TIER9_BLOCK11_PRICE_ATTRIBUTE_ID (0x849A)
-#define ZCL_RX_TIER9_BLOCK12_PRICE_ATTRIBUTE_ID (0x849B)
-#define ZCL_RX_TIER9_BLOCK13_PRICE_ATTRIBUTE_ID (0x849C)
-#define ZCL_RX_TIER9_BLOCK14_PRICE_ATTRIBUTE_ID (0x849D)
-#define ZCL_RX_TIER9_BLOCK15_PRICE_ATTRIBUTE_ID (0x849E)
-#define ZCL_RX_TIER9_BLOCK16_PRICE_ATTRIBUTE_ID (0x849F)
-#define ZCL_RX_TIER10_BLOCK1_PRICE_ATTRIBUTE_ID (0x84A0)
-#define ZCL_RX_TIER10_BLOCK2_PRICE_ATTRIBUTE_ID (0x84A1)
-#define ZCL_RX_TIER10_BLOCK3_PRICE_ATTRIBUTE_ID (0x84A2)
-#define ZCL_RX_TIER10_BLOCK4_PRICE_ATTRIBUTE_ID (0x84A3)
-#define ZCL_RX_TIER10_BLOCK5_PRICE_ATTRIBUTE_ID (0x84A4)
-#define ZCL_RX_TIER10_BLOCK6_PRICE_ATTRIBUTE_ID (0x84A5)
-#define ZCL_RX_TIER10_BLOCK7_PRICE_ATTRIBUTE_ID (0x84A6)
-#define ZCL_RX_TIER10_BLOCK8_PRICE_ATTRIBUTE_ID (0x84A7)
-#define ZCL_RX_TIER10_BLOCK9_PRICE_ATTRIBUTE_ID (0x84A8)
-#define ZCL_RX_TIER10_BLOCK10_PRICE_ATTRIBUTE_ID (0x84A9)
-#define ZCL_RX_TIER10_BLOCK11_PRICE_ATTRIBUTE_ID (0x84AA)
-#define ZCL_RX_TIER10_BLOCK12_PRICE_ATTRIBUTE_ID (0x84AB)
-#define ZCL_RX_TIER10_BLOCK13_PRICE_ATTRIBUTE_ID (0x84AC)
-#define ZCL_RX_TIER10_BLOCK14_PRICE_ATTRIBUTE_ID (0x84AD)
-#define ZCL_RX_TIER10_BLOCK15_PRICE_ATTRIBUTE_ID (0x84AE)
-#define ZCL_RX_TIER10_BLOCK16_PRICE_ATTRIBUTE_ID (0x84AF)
-#define ZCL_RX_TIER11_BLOCK1_PRICE_ATTRIBUTE_ID (0x84B0)
-#define ZCL_RX_TIER11_BLOCK2_PRICE_ATTRIBUTE_ID (0x84B1)
-#define ZCL_RX_TIER11_BLOCK3_PRICE_ATTRIBUTE_ID (0x84B2)
-#define ZCL_RX_TIER11_BLOCK4_PRICE_ATTRIBUTE_ID (0x84B3)
-#define ZCL_RX_TIER11_BLOCK5_PRICE_ATTRIBUTE_ID (0x84B4)
-#define ZCL_RX_TIER11_BLOCK6_PRICE_ATTRIBUTE_ID (0x84B5)
-#define ZCL_RX_TIER11_BLOCK7_PRICE_ATTRIBUTE_ID (0x84B6)
-#define ZCL_RX_TIER11_BLOCK8_PRICE_ATTRIBUTE_ID (0x84B7)
-#define ZCL_RX_TIER11_BLOCK9_PRICE_ATTRIBUTE_ID (0x84B8)
-#define ZCL_RX_TIER11_BLOCK10_PRICE_ATTRIBUTE_ID (0x84B9)
-#define ZCL_RX_TIER11_BLOCK11_PRICE_ATTRIBUTE_ID (0x84BA)
-#define ZCL_RX_TIER11_BLOCK12_PRICE_ATTRIBUTE_ID (0x84BB)
-#define ZCL_RX_TIER11_BLOCK13_PRICE_ATTRIBUTE_ID (0x84BC)
-#define ZCL_RX_TIER11_BLOCK14_PRICE_ATTRIBUTE_ID (0x84BD)
-#define ZCL_RX_TIER11_BLOCK15_PRICE_ATTRIBUTE_ID (0x84BE)
-#define ZCL_RX_TIER11_BLOCK16_PRICE_ATTRIBUTE_ID (0x84BF)
-#define ZCL_RX_TIER12_BLOCK1_PRICE_ATTRIBUTE_ID (0x84C0)
-#define ZCL_RX_TIER12_BLOCK2_PRICE_ATTRIBUTE_ID (0x84C1)
-#define ZCL_RX_TIER12_BLOCK3_PRICE_ATTRIBUTE_ID (0x84C2)
-#define ZCL_RX_TIER12_BLOCK4_PRICE_ATTRIBUTE_ID (0x84C3)
-#define ZCL_RX_TIER12_BLOCK5_PRICE_ATTRIBUTE_ID (0x84C4)
-#define ZCL_RX_TIER12_BLOCK6_PRICE_ATTRIBUTE_ID (0x84C5)
-#define ZCL_RX_TIER12_BLOCK7_PRICE_ATTRIBUTE_ID (0x84C6)
-#define ZCL_RX_TIER12_BLOCK8_PRICE_ATTRIBUTE_ID (0x84C7)
-#define ZCL_RX_TIER12_BLOCK9_PRICE_ATTRIBUTE_ID (0x84C8)
-#define ZCL_RX_TIER12_BLOCK10_PRICE_ATTRIBUTE_ID (0x84C9)
-#define ZCL_RX_TIER12_BLOCK11_PRICE_ATTRIBUTE_ID (0x84CA)
-#define ZCL_RX_TIER12_BLOCK12_PRICE_ATTRIBUTE_ID (0x84CB)
-#define ZCL_RX_TIER12_BLOCK13_PRICE_ATTRIBUTE_ID (0x84CC)
-#define ZCL_RX_TIER12_BLOCK14_PRICE_ATTRIBUTE_ID (0x84CD)
-#define ZCL_RX_TIER12_BLOCK15_PRICE_ATTRIBUTE_ID (0x84CE)
-#define ZCL_RX_TIER12_BLOCK16_PRICE_ATTRIBUTE_ID (0x84CF)
-#define ZCL_RX_TIER13_BLOCK1_PRICE_ATTRIBUTE_ID (0x84D0)
-#define ZCL_RX_TIER13_BLOCK2_PRICE_ATTRIBUTE_ID (0x84D1)
-#define ZCL_RX_TIER13_BLOCK3_PRICE_ATTRIBUTE_ID (0x84D2)
-#define ZCL_RX_TIER13_BLOCK4_PRICE_ATTRIBUTE_ID (0x84D3)
-#define ZCL_RX_TIER13_BLOCK5_PRICE_ATTRIBUTE_ID (0x84D4)
-#define ZCL_RX_TIER13_BLOCK6_PRICE_ATTRIBUTE_ID (0x84D5)
-#define ZCL_RX_TIER13_BLOCK7_PRICE_ATTRIBUTE_ID (0x84D6)
-#define ZCL_RX_TIER13_BLOCK8_PRICE_ATTRIBUTE_ID (0x84D7)
-#define ZCL_RX_TIER13_BLOCK9_PRICE_ATTRIBUTE_ID (0x84D8)
-#define ZCL_RX_TIER13_BLOCK10_PRICE_ATTRIBUTE_ID (0x84D9)
-#define ZCL_RX_TIER13_BLOCK11_PRICE_ATTRIBUTE_ID (0x84DA)
-#define ZCL_RX_TIER13_BLOCK12_PRICE_ATTRIBUTE_ID (0x84DB)
-#define ZCL_RX_TIER13_BLOCK13_PRICE_ATTRIBUTE_ID (0x84DC)
-#define ZCL_RX_TIER13_BLOCK14_PRICE_ATTRIBUTE_ID (0x84DD)
-#define ZCL_RX_TIER13_BLOCK15_PRICE_ATTRIBUTE_ID (0x84DE)
-#define ZCL_RX_TIER13_BLOCK16_PRICE_ATTRIBUTE_ID (0x84DF)
-#define ZCL_RX_TIER14_BLOCK1_PRICE_ATTRIBUTE_ID (0x84E0)
-#define ZCL_RX_TIER14_BLOCK2_PRICE_ATTRIBUTE_ID (0x84E1)
-#define ZCL_RX_TIER14_BLOCK3_PRICE_ATTRIBUTE_ID (0x84E2)
-#define ZCL_RX_TIER14_BLOCK4_PRICE_ATTRIBUTE_ID (0x84E3)
-#define ZCL_RX_TIER14_BLOCK5_PRICE_ATTRIBUTE_ID (0x84E4)
-#define ZCL_RX_TIER14_BLOCK6_PRICE_ATTRIBUTE_ID (0x84E5)
-#define ZCL_RX_TIER14_BLOCK7_PRICE_ATTRIBUTE_ID (0x84E6)
-#define ZCL_RX_TIER14_BLOCK8_PRICE_ATTRIBUTE_ID (0x84E7)
-#define ZCL_RX_TIER14_BLOCK9_PRICE_ATTRIBUTE_ID (0x84E8)
-#define ZCL_RX_TIER14_BLOCK10_PRICE_ATTRIBUTE_ID (0x84E9)
-#define ZCL_RX_TIER14_BLOCK11_PRICE_ATTRIBUTE_ID (0x84EA)
-#define ZCL_RX_TIER14_BLOCK12_PRICE_ATTRIBUTE_ID (0x84EB)
-#define ZCL_RX_TIER14_BLOCK13_PRICE_ATTRIBUTE_ID (0x84EC)
-#define ZCL_RX_TIER14_BLOCK14_PRICE_ATTRIBUTE_ID (0x84ED)
-#define ZCL_RX_TIER14_BLOCK15_PRICE_ATTRIBUTE_ID (0x84EE)
-#define ZCL_RX_TIER14_BLOCK16_PRICE_ATTRIBUTE_ID (0x84EF)
-#define ZCL_RX_TIER15_BLOCK1_PRICE_ATTRIBUTE_ID (0x84F0)
-#define ZCL_RX_TIER15_BLOCK2_PRICE_ATTRIBUTE_ID (0x84F1)
-#define ZCL_RX_TIER15_BLOCK3_PRICE_ATTRIBUTE_ID (0x84F2)
-#define ZCL_RX_TIER15_BLOCK4_PRICE_ATTRIBUTE_ID (0x84F3)
-#define ZCL_RX_TIER15_BLOCK5_PRICE_ATTRIBUTE_ID (0x84F4)
-#define ZCL_RX_TIER15_BLOCK6_PRICE_ATTRIBUTE_ID (0x84F5)
-#define ZCL_RX_TIER15_BLOCK7_PRICE_ATTRIBUTE_ID (0x84F6)
-#define ZCL_RX_TIER15_BLOCK8_PRICE_ATTRIBUTE_ID (0x84F7)
-#define ZCL_RX_TIER15_BLOCK9_PRICE_ATTRIBUTE_ID (0x84F8)
-#define ZCL_RX_TIER15_BLOCK10_PRICE_ATTRIBUTE_ID (0x84F9)
-#define ZCL_RX_TIER15_BLOCK11_PRICE_ATTRIBUTE_ID (0x84FA)
-#define ZCL_RX_TIER15_BLOCK12_PRICE_ATTRIBUTE_ID (0x84FB)
-#define ZCL_RX_TIER15_BLOCK13_PRICE_ATTRIBUTE_ID (0x84FC)
-#define ZCL_RX_TIER15_BLOCK14_PRICE_ATTRIBUTE_ID (0x84FD)
-#define ZCL_RX_TIER15_BLOCK15_PRICE_ATTRIBUTE_ID (0x84FE)
-#define ZCL_RX_TIER15_BLOCK16_PRICE_ATTRIBUTE_ID (0x84FF)
-#define ZCL_RX_PRICE_TIER16_ATTRIBUTE_ID (0x850F)
-#define ZCL_RX_PRICE_TIER17_ATTRIBUTE_ID (0x8510)
-#define ZCL_RX_PRICE_TIER18_ATTRIBUTE_ID (0x8511)
-#define ZCL_RX_PRICE_TIER19_ATTRIBUTE_ID (0x8512)
-#define ZCL_RX_PRICE_TIER20_ATTRIBUTE_ID (0x8513)
-#define ZCL_RX_PRICE_TIER21_ATTRIBUTE_ID (0x8514)
-#define ZCL_RX_PRICE_TIER22_ATTRIBUTE_ID (0x8515)
-#define ZCL_RX_PRICE_TIER23_ATTRIBUTE_ID (0x8516)
-#define ZCL_RX_PRICE_TIER24_ATTRIBUTE_ID (0x8517)
-#define ZCL_RX_PRICE_TIER25_ATTRIBUTE_ID (0x8518)
-#define ZCL_RX_PRICE_TIER26_ATTRIBUTE_ID (0x8519)
-#define ZCL_RX_PRICE_TIER27_ATTRIBUTE_ID (0x851A)
-#define ZCL_RX_PRICE_TIER28_ATTRIBUTE_ID (0x851B)
-#define ZCL_RX_PRICE_TIER29_ATTRIBUTE_ID (0x851C)
-#define ZCL_RX_PRICE_TIER30_ATTRIBUTE_ID (0x851D)
-#define ZCL_RX_PRICE_TIER31_ATTRIBUTE_ID (0x851E)
-#define ZCL_RX_PRICE_TIER32_ATTRIBUTE_ID (0x851F)
-#define ZCL_RX_PRICE_TIER33_ATTRIBUTE_ID (0x8520)
-#define ZCL_RX_PRICE_TIER34_ATTRIBUTE_ID (0x8521)
-#define ZCL_RX_PRICE_TIER35_ATTRIBUTE_ID (0x8522)
-#define ZCL_RX_PRICE_TIER36_ATTRIBUTE_ID (0x8523)
-#define ZCL_RX_PRICE_TIER37_ATTRIBUTE_ID (0x8524)
-#define ZCL_RX_PRICE_TIER38_ATTRIBUTE_ID (0x8525)
-#define ZCL_RX_PRICE_TIER39_ATTRIBUTE_ID (0x8526)
-#define ZCL_RX_PRICE_TIER40_ATTRIBUTE_ID (0x8527)
-#define ZCL_RX_PRICE_TIER41_ATTRIBUTE_ID (0x8528)
-#define ZCL_RX_PRICE_TIER42_ATTRIBUTE_ID (0x8529)
-#define ZCL_RX_PRICE_TIER43_ATTRIBUTE_ID (0x852A)
-#define ZCL_RX_PRICE_TIER44_ATTRIBUTE_ID (0x852B)
-#define ZCL_RX_PRICE_TIER45_ATTRIBUTE_ID (0x852C)
-#define ZCL_RX_PRICE_TIER46_ATTRIBUTE_ID (0x852D)
-#define ZCL_RX_PRICE_TIER47_ATTRIBUTE_ID (0x852E)
-#define ZCL_RX_PRICE_TIER48_ATTRIBUTE_ID (0x852F)
-#define ZCL_RX_TARIFF_LABEL_ATTRIBUTE_ID (0x8610)
-#define ZCL_RX_NUMBER_OF_PRICE_TIERS_IN_USE_ATTRIBUTE_ID (0x8611)
-#define ZCL_RX_NUMBER_OF_BLOCK_THRESHOLDS_IN_USE_ATTRIBUTE_ID (0x8612)
-#define ZCL_RX_TIER_BLOCK_MODE_ATTRIBUTE_ID (0x8613)
-#define ZCL_RX_TARIFF_RESOLUTION_PERIOD_ATTRIBUTE_ID (0x8615)
-#define ZCL_RX_CO2_ATTRIBUTE_ID (0x8625)
-#define ZCL_RX_CO2_UNIT_ATTRIBUTE_ID (0x8626)
-#define ZCL_RX_CO2_TRAILING_DIGIT_ATTRIBUTE_ID (0x8627)
-#define ZCL_RX_CURRENT_BILLING_PERIOD_START_ATTRIBUTE_ID (0x8700)
-#define ZCL_RX_CURRENT_BILLING_PERIOD_DURATION_ATTRIBUTE_ID (0x8701)
-#define ZCL_RX_LAST_BILLING_PERIOD_START_ATTRIBUTE_ID (0x8702)
-#define ZCL_RX_LAST_BILLING_PERIOD_DURATION_ATTRIBUTE_ID (0x8703)
-#define ZCL_RX_LAST_BILLING_PERIOD_CONSOLIDATED_BILL_ATTRIBUTE_ID (0x8704)
-
-// Attribute ids for cluster: Demand Response and Load Control
-
-// Client attributes
-#define ZCL_UTILITY_ENROLLMENT_GROUP_ATTRIBUTE_ID (0x0000)
-#define ZCL_START_RANDOMIZATION_MINUTES_ATTRIBUTE_ID (0x0001)
-#define ZCL_DURATION_RANDOMIZATION_MINUTES_ATTRIBUTE_ID (0x0002)
-#define ZCL_DEVICE_CLASS_VALUE_ATTRIBUTE_ID (0x0003)
-
-// Server attributes
-
-// Attribute ids for cluster: Simple Metering
-
-// Client attributes
-#define ZCL_FUNCTIONAL_NOTIFICATION_FLAGS_ATTRIBUTE_ID (0x0000)
-#define ZCL_NOTIFICATION_FLAGS_2_ATTRIBUTE_ID (0x0001)
-#define ZCL_NOTIFICATION_FLAGS_3_ATTRIBUTE_ID (0x0002)
-#define ZCL_NOTIFICATION_FLAGS_4_ATTRIBUTE_ID (0x0003)
-#define ZCL_NOTIFICATION_FLAGS_5_ATTRIBUTE_ID (0x0004)
-#define ZCL_NOTIFICATION_FLAGS_6_ATTRIBUTE_ID (0x0005)
-#define ZCL_NOTIFICATION_FLAGS_7_ATTRIBUTE_ID (0x0006)
-#define ZCL_NOTIFICATION_FLAGS_8_ATTRIBUTE_ID (0x0007)
-
-// Server attributes
-#define ZCL_CURRENT_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0000)
-#define ZCL_CURRENT_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0001)
-#define ZCL_CURRENT_MAX_DEMAND_DELIVERED_ATTRIBUTE_ID (0x0002)
-#define ZCL_CURRENT_MAX_DEMAND_RECEIVED_ATTRIBUTE_ID (0x0003)
-#define ZCL_DFT_SUMMATION_ATTRIBUTE_ID (0x0004)
-#define ZCL_DAILY_FREEZE_TIME_ATTRIBUTE_ID (0x0005)
-#define ZCL_POWER_FACTOR_ATTRIBUTE_ID (0x0006)
-#define ZCL_READING_SNAP_SHOT_TIME_ATTRIBUTE_ID (0x0007)
-#define ZCL_CURRENT_MAX_DEMAND_DELIVERED_TIME_ATTRIBUTE_ID (0x0008)
-#define ZCL_CURRENT_MAX_DEMAND_RECEIVED_TIME_ATTRIBUTE_ID (0x0009)
-#define ZCL_DEFAULT_UPDATE_PERIOD_ATTRIBUTE_ID (0x000A)
-#define ZCL_FAST_POLL_UPDATE_PERIOD_ATTRIBUTE_ID (0x000B)
-#define ZCL_CURRENT_BLOCK_PERIOD_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x000C)
-#define ZCL_DAILY_CONSUMPTION_TARGET_ATTRIBUTE_ID (0x000D)
-#define ZCL_CURRENT_BLOCK_ATTRIBUTE_ID (0x000E)
-#define ZCL_PROFILE_INTERVAL_PERIOD_ATTRIBUTE_ID (0x000F)
-#define ZCL_INTERVAL_READ_REPORTING_PERIOD_ATTRIBUTE_ID (0x0010)
-#define ZCL_PRESET_READING_TIME_ATTRIBUTE_ID (0x0011)
-#define ZCL_VOLUME_PER_REPORT_ATTRIBUTE_ID (0x0012)
-#define ZCL_FLOW_RESTRICTION_ATTRIBUTE_ID (0x0013)
-#define ZCL_SUPPLY_STATUS_ATTRIBUTE_ID (0x0014)
-#define ZCL_CURRENT_INLET_ENERGY_CARRIER_SUMMATION_ATTRIBUTE_ID (0x0015)
-#define ZCL_CURRENT_OUTLET_ENERGY_CARRIER_SUMMATION_ATTRIBUTE_ID (0x0016)
-#define ZCL_INLET_TEMPERATURE_ATTRIBUTE_ID (0x0017)
-#define ZCL_OUTLET_TEMPERATURE_ATTRIBUTE_ID (0x0018)
-#define ZCL_CONTROL_TEMPERATURE_ATTRIBUTE_ID (0x0019)
-#define ZCL_CURRENT_INLET_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x001A)
-#define ZCL_CURRENT_OUTLET_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x001B)
-#define ZCL_PREVIOUS_BLOCK_PERIOD_CONSUMIPTION_DELIVERED_ATTRIBUTE_ID (0x001C)
-#define ZCL_CURRENT_BLOCK_PERIOD_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x001D)
-#define ZCL_CURRENT_BLOCK_RECEIVED_ATTRIBUTE_ID (0x001E)
-#define ZCL_DFT_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x001F)
-#define ZCL_ACTIVE_REGISTER_TIER_DELIVERED_ATTRIBUTE_ID (0x0020)
-#define ZCL_ACTIVE_REGISTER_TIER_RECEIVED_ATTRIBUTE_ID (0x0021)
-#define ZCL_LAST_BLOCK_SWITCH_TIME_ATTRIBUTE_ID (0x0022)
-#define ZCL_CURRENT_TIER1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0100)
-#define ZCL_CURRENT_TIER1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0101)
-#define ZCL_CURRENT_TIER2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0102)
-#define ZCL_CURRENT_TIER2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0103)
-#define ZCL_CURRENT_TIER3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0104)
-#define ZCL_CURRENT_TIER3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0105)
-#define ZCL_CURRENT_TIER4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0106)
-#define ZCL_CURRENT_TIER4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0107)
-#define ZCL_CURRENT_TIER5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0108)
-#define ZCL_CURRENT_TIER5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0109)
-#define ZCL_CURRENT_TIER6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x010A)
-#define ZCL_CURRENT_TIER6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x010B)
-#define ZCL_CURRENT_TIER7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x010C)
-#define ZCL_CURRENT_TIER7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x010D)
-#define ZCL_CURRENT_TIER8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x010E)
-#define ZCL_CURRENT_TIER8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x010F)
-#define ZCL_CURRENT_TIER9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0110)
-#define ZCL_CURRENT_TIER9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0111)
-#define ZCL_CURRENT_TIER10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0112)
-#define ZCL_CURRENT_TIER10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0113)
-#define ZCL_CURRENT_TIER11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0114)
-#define ZCL_CURRENT_TIER11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0115)
-#define ZCL_CURRENT_TIER12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0116)
-#define ZCL_CURRENT_TIER12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0117)
-#define ZCL_CURRENT_TIER13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0118)
-#define ZCL_CURRENT_TIER13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0119)
-#define ZCL_CURRENT_TIER14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x011A)
-#define ZCL_CURRENT_TIER14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x011B)
-#define ZCL_CURRENT_TIER15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x011C)
-#define ZCL_CURRENT_TIER15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x011D)
-#define ZCL_CURRENT_TIER16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x011E)
-#define ZCL_CURRENT_TIER16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x011F)
-#define ZCL_CURRENT_TIER17_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0120)
-#define ZCL_CURRENT_TIER17_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0121)
-#define ZCL_CURRENT_TIER18_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0122)
-#define ZCL_CURRENT_TIER18_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0123)
-#define ZCL_CURRENT_TIER19_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0124)
-#define ZCL_CURRENT_TIER19_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0125)
-#define ZCL_CURRENT_TIER20_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0126)
-#define ZCL_CURRENT_TIER20_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0127)
-#define ZCL_CURRENT_TIER21_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0128)
-#define ZCL_CURRENT_TIER21_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0129)
-#define ZCL_CURRENT_TIER22_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x012A)
-#define ZCL_CURRENT_TIER22_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x012B)
-#define ZCL_CURRENT_TIER23_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x012C)
-#define ZCL_CURRENT_TIER23_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x012D)
-#define ZCL_CURRENT_TIER24_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x012E)
-#define ZCL_CURRENT_TIER24_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x012F)
-#define ZCL_CURRENT_TIER25_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0130)
-#define ZCL_CURRENT_TIER25_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0131)
-#define ZCL_CURRENT_TIER26_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0132)
-#define ZCL_CURRENT_TIER26_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0133)
-#define ZCL_CURRENT_TIER27_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0134)
-#define ZCL_CURRENT_TIER27_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0135)
-#define ZCL_CURRENT_TIER28_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0136)
-#define ZCL_CURRENT_TIER28_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0137)
-#define ZCL_CURRENT_TIER29_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0138)
-#define ZCL_CURRENT_TIER29_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0139)
-#define ZCL_CURRENT_TIER30_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x013A)
-#define ZCL_CURRENT_TIER30_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x013B)
-#define ZCL_CURRENT_TIER31_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x013C)
-#define ZCL_CURRENT_TIER31_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x013D)
-#define ZCL_CURRENT_TIER32_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x013E)
-#define ZCL_CURRENT_TIER32_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x013F)
-#define ZCL_CURRENT_TIER33_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0140)
-#define ZCL_CURRENT_TIER33_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0141)
-#define ZCL_CURRENT_TIER34_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0142)
-#define ZCL_CURRENT_TIER34_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0143)
-#define ZCL_CURRENT_TIER35_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0144)
-#define ZCL_CURRENT_TIER35_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0145)
-#define ZCL_CURRENT_TIER36_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0146)
-#define ZCL_CURRENT_TIER36_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0147)
-#define ZCL_CURRENT_TIER37_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0148)
-#define ZCL_CURRENT_TIER37_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0149)
-#define ZCL_CURRENT_TIER38_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x014A)
-#define ZCL_CURRENT_TIER38_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x014B)
-#define ZCL_CURRENT_TIER39_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x014C)
-#define ZCL_CURRENT_TIER39_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x014D)
-#define ZCL_CURRENT_TIER40_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x014E)
-#define ZCL_CURRENT_TIER40_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x014F)
-#define ZCL_CURRENT_TIER41_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0150)
-#define ZCL_CURRENT_TIER41_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0151)
-#define ZCL_CURRENT_TIER42_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0152)
-#define ZCL_CURRENT_TIER42_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0153)
-#define ZCL_CURRENT_TIER43_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0154)
-#define ZCL_CURRENT_TIER43_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0155)
-#define ZCL_CURRENT_TIER44_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0156)
-#define ZCL_CURRENT_TIER44_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0157)
-#define ZCL_CURRENT_TIER45_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0158)
-#define ZCL_CURRENT_TIER45_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0159)
-#define ZCL_CURRENT_TIER46_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x015A)
-#define ZCL_CURRENT_TIER46_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x015B)
-#define ZCL_CURRENT_TIER47_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x015C)
-#define ZCL_CURRENT_TIER47_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x015D)
-#define ZCL_CURRENT_TIER48_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x015E)
-#define ZCL_CURRENT_TIER48_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x015F)
-#define ZCL_CPP1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x01FC)
-#define ZCL_CPP2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x01FE)
-#define ZCL_STATUS_ATTRIBUTE_ID (0x0200)
-#define ZCL_REMAINING_BATTERY_LIFE_ATTRIBUTE_ID (0x0201)
-#define ZCL_HOURS_IN_OPERATION_ATTRIBUTE_ID (0x0202)
-#define ZCL_HOURS_IN_FAULT_ATTRIBUTE_ID (0x0203)
-#define ZCL_EXTENDED_STATUS_ATTRIBUTE_ID (0x0204)
-#define ZCL_REMAINING_BATTERY_LIFE_IN_DAYS_ATTRIBUTE_ID (0x0205)
-#define ZCL_CURRENT_METER_ID_ATTRIBUTE_ID (0x0206)
-#define ZCL_AMBIENT_CONSUMPTION_INDICATOR_ATTRIBUTE_ID (0x0207)
-#define ZCL_UNIT_OF_MEASURE_ATTRIBUTE_ID (0x0300)
-#define ZCL_MULTIPLIER_ATTRIBUTE_ID (0x0301)
-#define ZCL_DIVISOR_ATTRIBUTE_ID (0x0302)
-#define ZCL_SUMMATION_FORMATTING_ATTRIBUTE_ID (0x0303)
-#define ZCL_DEMAND_FORMATTING_ATTRIBUTE_ID (0x0304)
-#define ZCL_HISTORICAL_CONSUMPTION_FORMATTING_ATTRIBUTE_ID (0x0305)
-#define ZCL_METERING_DEVICE_TYPE_ATTRIBUTE_ID (0x0306)
-#define ZCL_SITE_ID_ATTRIBUTE_ID (0x0307)
-#define ZCL_METER_SERIAL_NUMBER_ATTRIBUTE_ID (0x0308)
-#define ZCL_ENERGY_CARRIER_UNIT_OF_MEASURE_ATTRIBUTE_ID (0x0309)
-#define ZCL_ENERGY_CARRIER_SUMMATION_FORMATTING_ATTRIBUTE_ID (0x030A)
-#define ZCL_ENERGY_CARRIER_DEMAND_FORMATTING_ATTRIBUTE_ID (0x030B)
-#define ZCL_TEMPERATURE_UNIT_OF_MEASURE_ATTRIBUTE_ID (0x030C)
-#define ZCL_TEMPERATURE_FORMATTING_ATTRIBUTE_ID (0x030D)
-#define ZCL_MODULE_SERIAL_NUMBER_ATTRIBUTE_ID (0x030E)
-#define ZCL_OPERATING_TARIFF_LABEL_DELIVERED_ATTRIBUTE_ID (0x030F)
-#define ZCL_OPERATING_TARIFF_LABEL_RECEIVED_ATTRIBUTE_ID (0x0310)
-#define ZCL_CUSTOMER_ID_NUMBER_ATTRIBUTE_ID (0x0311)
-#define ZCL_ALTERNATIVE_UNIT_OF_MEASURE_ATTRIBUTE_ID (0x0312)
-#define ZCL_ALTERNATIVE_DEMAND_FORMATTING_ATTRIBUTE_ID (0x0313)
-#define ZCL_ALTERNATIVE_CONSUMPTION_FORMATTING_ATTRIBUTE_ID (0x0314)
-#define ZCL_INSTANTANEOUS_DEMAND_ATTRIBUTE_ID (0x0400)
-#define ZCL_CURRENT_DAY_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0401)
-#define ZCL_CURRENT_DAY_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0402)
-#define ZCL_PREVIOUS_DAY_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0403)
-#define ZCL_PREVIOUS_DAY_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0404)
-#define ZCL_CURRENT_PARTIAL_PROFILE_INTERVAL_START_TIME_DELIVERED_ATTRIBUTE_ID (0x0405)
-#define ZCL_CURRENT_PARTIAL_PROFILE_INTERVAL_START_TIME_RECEIVED_ATTRIBUTE_ID (0x0406)
-#define ZCL_CURRENT_PARTIAL_PROFILE_INTERVAL_VALUE_DELIVERED_ATTRIBUTE_ID (0x0407)
-#define ZCL_CURRENT_PARTIAL_PROFILE_INTERVAL_VALUE_RECEIVED_ATTRIBUTE_ID (0x0408)
-#define ZCL_CURRENT_DAY_MAX_PRESSURE_ATTRIBUTE_ID (0x0409)
-#define ZCL_CURRENT_DAY_MIN_PRESSURE_ATTRIBUTE_ID (0x040A)
-#define ZCL_PREVIOUS_DAY_MAX_PRESSURE_ATTRIBUTE_ID (0x040B)
-#define ZCL_PREVIOUS_DAY_MIN_PRESSURE_ATTRIBUTE_ID (0x040C)
-#define ZCL_CURRENT_DAY_MAX_DEMAND_ATTRIBUTE_ID (0x040D)
-#define ZCL_PREVIOUS_DAY_MAX_DEMAND_ATTRIBUTE_ID (0x040E)
-#define ZCL_CURRENT_MONTH_MAX_DEMAND_ATTRIBUTE_ID (0x040F)
-#define ZCL_CURRENT_YEAR_MAX_DEMAND_ATTRIBUTE_ID (0x0410)
-#define ZCL_CURRENT_DAY_MAX_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x0411)
-#define ZCL_PREVIOUS_DAY_MAX_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x0412)
-#define ZCL_CURRENT_MONTH_MAX_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x0413)
-#define ZCL_CURRENT_MONTH_MIN_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x0414)
-#define ZCL_CURRENT_YEAR_MAX_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x0415)
-#define ZCL_CURRENT_YEAR_MIN_ENERGY_CARRIER_DEMAND_ATTRIBUTE_ID (0x0416)
-#define ZCL_PREVIOUS_DAY2_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0420)
-#define ZCL_PREVIOUS_DAY2_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0421)
-#define ZCL_PREVIOUS_DAY3_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0422)
-#define ZCL_PREVIOUS_DAY3_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0423)
-#define ZCL_PREVIOUS_DAY4_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0424)
-#define ZCL_PREVIOUS_DAY4_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0425)
-#define ZCL_PREVIOUS_DAY5_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0426)
-#define ZCL_PREVIOUS_DAY5_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0427)
-#define ZCL_PREVIOUS_DAY6_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0428)
-#define ZCL_PREVIOUS_DAY6_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0429)
-#define ZCL_PREVIOUS_DAY7_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x042A)
-#define ZCL_PREVIOUS_DAY7_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x042B)
-#define ZCL_PREVIOUS_DAY8_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x042C)
-#define ZCL_PREVIOUS_DAY8_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x042D)
-#define ZCL_CURRENT_WEEK_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0430)
-#define ZCL_CURRENT_WEEK_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0431)
-#define ZCL_PREVIOUS_WEEK_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0432)
-#define ZCL_PREVIOUS_WEEK_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0433)
-#define ZCL_PREVIOUS_WEEK2_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0434)
-#define ZCL_PREVIOUS_WEEK2_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0435)
-#define ZCL_PREVIOUS_WEEK3_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0436)
-#define ZCL_PREVIOUS_WEEK3_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0437)
-#define ZCL_PREVIOUS_WEEK4_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0438)
-#define ZCL_PREVIOUS_WEEK4_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0439)
-#define ZCL_PREVIOUS_WEEK5_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x043A)
-#define ZCL_PREVIOUS_WEEK5_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x043B)
-#define ZCL_CURRENT_MONTH_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0440)
-#define ZCL_CURRENT_MONTH_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0441)
-#define ZCL_PREVIOUS_MONTH_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0442)
-#define ZCL_PREVIOUS_MONTH_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0443)
-#define ZCL_PREVIOUS_MONTH2_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0444)
-#define ZCL_PREVIOUS_MONTH2_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0445)
-#define ZCL_PREVIOUS_MONTH3_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0446)
-#define ZCL_PREVIOUS_MONTH3_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0447)
-#define ZCL_PREVIOUS_MONTH4_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0448)
-#define ZCL_PREVIOUS_MONTH4_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0449)
-#define ZCL_PREVIOUS_MONTH5_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x044A)
-#define ZCL_PREVIOUS_MONTH5_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x044B)
-#define ZCL_PREVIOUS_MONTH6_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x044C)
-#define ZCL_PREVIOUS_MONTH6_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x044D)
-#define ZCL_PREVIOUS_MONTH7_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x044E)
-#define ZCL_PREVIOUS_MONTH7_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x044F)
-#define ZCL_PREVIOUS_MONTH8_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0450)
-#define ZCL_PREVIOUS_MONTH8_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0451)
-#define ZCL_PREVIOUS_MONTH9_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0452)
-#define ZCL_PREVIOUS_MONTH9_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0453)
-#define ZCL_PREVIOUS_MONTH10_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0454)
-#define ZCL_PREVIOUS_MONTH10_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0455)
-#define ZCL_PREVIOUS_MONTH11_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0456)
-#define ZCL_PREVIOUS_MONTH11_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0457)
-#define ZCL_PREVIOUS_MONTH12_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0458)
-#define ZCL_PREVIOUS_MONTH12_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0459)
-#define ZCL_PREVIOUS_MONTH13_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x045A)
-#define ZCL_PREVIOUS_MONTH13_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x045B)
-#define ZCL_METERING_HISTORICAL_FREEZE_TIME_ATTRIBUTE_ID (0x045C)
-#define ZCL_CURRENT_DAY_MAX_DEMAND_DELIVERED_ATTRIBUTE_ID (0x045D)
-#define ZCL_CURRENT_DAY_MAX_DEMAND_DELIVERED_TIME_ATTRIBUTE_ID (0x045E)
-#define ZCL_CURRENT_DAY_MAX_DEMAND_RECEIVED_ATTRIBUTE_ID (0x045F)
-#define ZCL_CURRENT_DAY_MAX_DEMAND_RECEIVED_TIME_ATTRIBUTE_ID (0x0460)
-#define ZCL_PREVIOUS_DAY_MAX_DEMAND_DELIVERED_ATTRIBUTE_ID (0x0461)
-#define ZCL_PREVIOUS_DAY_MAX_DEMAND_DELIVERED_TIME_ATTRIBUTE_ID (0x0462)
-#define ZCL_PREVIOUS_DAY_MAX_DEMAND_RECEIVED_ATTRIBUTE_ID (0x0463)
-#define ZCL_PREVIOUS_DAY_MAX_DEMAND_RECEIVED_TIME_ATTRIBUTE_ID (0x0464)
-#define ZCL_MAX_NUMBER_OF_PERIODS_DELIVERED_ATTRIBUTE_ID (0x0500)
-#define ZCL_CURRENT_DEMAND_DELIVERED_ATTRIBUTE_ID (0x0600)
-#define ZCL_DEMAND_LIMIT_ATTRIBUTE_ID (0x0601)
-#define ZCL_DEMAND_INTEGRATION_PERIOD_ATTRIBUTE_ID (0x0602)
-#define ZCL_NUMBER_OF_DEMAND_SUBINTERVALS_ATTRIBUTE_ID (0x0603)
-#define ZCL_DEMAND_LIMIT_ARM_DURATION_IN_MINUTES_ATTRIBUTE_ID (0x0604)
-#define ZCL_LOAD_LIMIT_SUPPLY_STATE_ATTRIBUTE_ID (0x0605)
-#define ZCL_LOAD_LIMIT_COUNTER_ATTRIBUTE_ID (0x0606)
-#define ZCL_SUPPLY_TAMPER_STATE_ATTRIBUTE_ID (0x0607)
-#define ZCL_SUPPLY_DEPLETION_STATE_ATTRIBUTE_ID (0x0608)
-#define ZCL_SUPPLY_UNCONTROLLED_FLOW_STATE_ATTRIBUTE_ID (0x0609)
-#define ZCL_CURRENT_NO_TIER_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0700)
-#define ZCL_CURRENT_NO_TIER_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0701)
-#define ZCL_CURRENT_NO_TIER_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0702)
-#define ZCL_CURRENT_NO_TIER_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0703)
-#define ZCL_CURRENT_NO_TIER_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0704)
-#define ZCL_CURRENT_NO_TIER_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0705)
-#define ZCL_CURRENT_NO_TIER_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0706)
-#define ZCL_CURRENT_NO_TIER_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0707)
-#define ZCL_CURRENT_NO_TIER_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0708)
-#define ZCL_CURRENT_NO_TIER_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0709)
-#define ZCL_CURRENT_NO_TIER_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x070A)
-#define ZCL_CURRENT_NO_TIER_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x070B)
-#define ZCL_CURRENT_NO_TIER_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x070C)
-#define ZCL_CURRENT_NO_TIER_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x070D)
-#define ZCL_CURRENT_NO_TIER_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x070E)
-#define ZCL_CURRENT_NO_TIER_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x070F)
-#define ZCL_CURRENT_TIER1_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0710)
-#define ZCL_CURRENT_TIER1_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0711)
-#define ZCL_CURRENT_TIER1_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0712)
-#define ZCL_CURRENT_TIER1_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0713)
-#define ZCL_CURRENT_TIER1_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0714)
-#define ZCL_CURRENT_TIER1_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0715)
-#define ZCL_CURRENT_TIER1_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0716)
-#define ZCL_CURRENT_TIER1_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0717)
-#define ZCL_CURRENT_TIER1_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0718)
-#define ZCL_CURRENT_TIER1_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0719)
-#define ZCL_CURRENT_TIER1_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x071A)
-#define ZCL_CURRENT_TIER1_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x071B)
-#define ZCL_CURRENT_TIER1_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x071C)
-#define ZCL_CURRENT_TIER1_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x071D)
-#define ZCL_CURRENT_TIER1_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x071E)
-#define ZCL_CURRENT_TIER1_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x071F)
-#define ZCL_CURRENT_TIER2_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0720)
-#define ZCL_CURRENT_TIER2_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0721)
-#define ZCL_CURRENT_TIER2_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0722)
-#define ZCL_CURRENT_TIER2_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0723)
-#define ZCL_CURRENT_TIER2_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0724)
-#define ZCL_CURRENT_TIER2_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0725)
-#define ZCL_CURRENT_TIER2_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0726)
-#define ZCL_CURRENT_TIER2_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0727)
-#define ZCL_CURRENT_TIER2_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0728)
-#define ZCL_CURRENT_TIER2_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0729)
-#define ZCL_CURRENT_TIER2_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x072A)
-#define ZCL_CURRENT_TIER2_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x072B)
-#define ZCL_CURRENT_TIER2_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x072C)
-#define ZCL_CURRENT_TIER2_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x072D)
-#define ZCL_CURRENT_TIER2_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x072E)
-#define ZCL_CURRENT_TIER2_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x072F)
-#define ZCL_CURRENT_TIER3_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0730)
-#define ZCL_CURRENT_TIER3_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0731)
-#define ZCL_CURRENT_TIER3_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0732)
-#define ZCL_CURRENT_TIER3_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0733)
-#define ZCL_CURRENT_TIER3_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0734)
-#define ZCL_CURRENT_TIER3_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0735)
-#define ZCL_CURRENT_TIER3_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0736)
-#define ZCL_CURRENT_TIER3_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0737)
-#define ZCL_CURRENT_TIER3_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0738)
-#define ZCL_CURRENT_TIER3_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0739)
-#define ZCL_CURRENT_TIER3_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x073A)
-#define ZCL_CURRENT_TIER3_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x073B)
-#define ZCL_CURRENT_TIER3_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x073C)
-#define ZCL_CURRENT_TIER3_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x073D)
-#define ZCL_CURRENT_TIER3_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x073E)
-#define ZCL_CURRENT_TIER3_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x073F)
-#define ZCL_CURRENT_TIER4_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0740)
-#define ZCL_CURRENT_TIER4_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0741)
-#define ZCL_CURRENT_TIER4_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0742)
-#define ZCL_CURRENT_TIER4_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0743)
-#define ZCL_CURRENT_TIER4_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0744)
-#define ZCL_CURRENT_TIER4_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0745)
-#define ZCL_CURRENT_TIER4_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0746)
-#define ZCL_CURRENT_TIER4_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0747)
-#define ZCL_CURRENT_TIER4_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0748)
-#define ZCL_CURRENT_TIER4_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0749)
-#define ZCL_CURRENT_TIER4_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x074A)
-#define ZCL_CURRENT_TIER4_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x074B)
-#define ZCL_CURRENT_TIER4_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x074C)
-#define ZCL_CURRENT_TIER4_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x074D)
-#define ZCL_CURRENT_TIER4_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x074E)
-#define ZCL_CURRENT_TIER4_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x074F)
-#define ZCL_CURRENT_TIER5_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0750)
-#define ZCL_CURRENT_TIER5_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0751)
-#define ZCL_CURRENT_TIER5_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0752)
-#define ZCL_CURRENT_TIER5_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0753)
-#define ZCL_CURRENT_TIER5_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0754)
-#define ZCL_CURRENT_TIER5_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0755)
-#define ZCL_CURRENT_TIER5_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0756)
-#define ZCL_CURRENT_TIER5_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0757)
-#define ZCL_CURRENT_TIER5_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0758)
-#define ZCL_CURRENT_TIER5_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0759)
-#define ZCL_CURRENT_TIER5_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x075A)
-#define ZCL_CURRENT_TIER5_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x075B)
-#define ZCL_CURRENT_TIER5_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x075C)
-#define ZCL_CURRENT_TIER5_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x075D)
-#define ZCL_CURRENT_TIER5_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x075E)
-#define ZCL_CURRENT_TIER5_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x075F)
-#define ZCL_CURRENT_TIER6_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0760)
-#define ZCL_CURRENT_TIER6_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0761)
-#define ZCL_CURRENT_TIER6_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0762)
-#define ZCL_CURRENT_TIER6_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0763)
-#define ZCL_CURRENT_TIER6_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0764)
-#define ZCL_CURRENT_TIER6_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0765)
-#define ZCL_CURRENT_TIER6_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0766)
-#define ZCL_CURRENT_TIER6_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0767)
-#define ZCL_CURRENT_TIER6_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0768)
-#define ZCL_CURRENT_TIER6_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0769)
-#define ZCL_CURRENT_TIER6_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x076A)
-#define ZCL_CURRENT_TIER6_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x076B)
-#define ZCL_CURRENT_TIER6_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x076C)
-#define ZCL_CURRENT_TIER6_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x076D)
-#define ZCL_CURRENT_TIER6_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x076E)
-#define ZCL_CURRENT_TIER6_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x076F)
-#define ZCL_CURRENT_TIER7_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0770)
-#define ZCL_CURRENT_TIER7_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0771)
-#define ZCL_CURRENT_TIER7_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0772)
-#define ZCL_CURRENT_TIER7_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0773)
-#define ZCL_CURRENT_TIER7_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0774)
-#define ZCL_CURRENT_TIER7_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0775)
-#define ZCL_CURRENT_TIER7_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0776)
-#define ZCL_CURRENT_TIER7_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0777)
-#define ZCL_CURRENT_TIER7_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0778)
-#define ZCL_CURRENT_TIER7_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0779)
-#define ZCL_CURRENT_TIER7_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x077A)
-#define ZCL_CURRENT_TIER7_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x077B)
-#define ZCL_CURRENT_TIER7_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x077C)
-#define ZCL_CURRENT_TIER7_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x077D)
-#define ZCL_CURRENT_TIER7_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x077E)
-#define ZCL_CURRENT_TIER7_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x077F)
-#define ZCL_CURRENT_TIER8_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0780)
-#define ZCL_CURRENT_TIER8_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0781)
-#define ZCL_CURRENT_TIER8_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0782)
-#define ZCL_CURRENT_TIER8_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0783)
-#define ZCL_CURRENT_TIER8_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0784)
-#define ZCL_CURRENT_TIER8_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0785)
-#define ZCL_CURRENT_TIER8_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0786)
-#define ZCL_CURRENT_TIER8_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0787)
-#define ZCL_CURRENT_TIER8_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0788)
-#define ZCL_CURRENT_TIER8_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0789)
-#define ZCL_CURRENT_TIER8_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x078A)
-#define ZCL_CURRENT_TIER8_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x078B)
-#define ZCL_CURRENT_TIER8_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x078C)
-#define ZCL_CURRENT_TIER8_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x078D)
-#define ZCL_CURRENT_TIER8_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x078E)
-#define ZCL_CURRENT_TIER8_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x078F)
-#define ZCL_CURRENT_TIER9_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0790)
-#define ZCL_CURRENT_TIER9_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0791)
-#define ZCL_CURRENT_TIER9_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0792)
-#define ZCL_CURRENT_TIER9_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0793)
-#define ZCL_CURRENT_TIER9_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0794)
-#define ZCL_CURRENT_TIER9_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0795)
-#define ZCL_CURRENT_TIER9_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0796)
-#define ZCL_CURRENT_TIER9_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0797)
-#define ZCL_CURRENT_TIER9_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0798)
-#define ZCL_CURRENT_TIER9_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x0799)
-#define ZCL_CURRENT_TIER9_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x079A)
-#define ZCL_CURRENT_TIER9_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x079B)
-#define ZCL_CURRENT_TIER9_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x079C)
-#define ZCL_CURRENT_TIER9_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x079D)
-#define ZCL_CURRENT_TIER9_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x079E)
-#define ZCL_CURRENT_TIER9_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x079F)
-#define ZCL_CURRENT_TIER10_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A0)
-#define ZCL_CURRENT_TIER10_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A1)
-#define ZCL_CURRENT_TIER10_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A2)
-#define ZCL_CURRENT_TIER10_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A3)
-#define ZCL_CURRENT_TIER10_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A4)
-#define ZCL_CURRENT_TIER10_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A5)
-#define ZCL_CURRENT_TIER10_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A6)
-#define ZCL_CURRENT_TIER10_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A7)
-#define ZCL_CURRENT_TIER10_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A8)
-#define ZCL_CURRENT_TIER10_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07A9)
-#define ZCL_CURRENT_TIER10_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07AA)
-#define ZCL_CURRENT_TIER10_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07AB)
-#define ZCL_CURRENT_TIER10_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07AC)
-#define ZCL_CURRENT_TIER10_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07AD)
-#define ZCL_CURRENT_TIER10_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07AE)
-#define ZCL_CURRENT_TIER10_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07AF)
-#define ZCL_CURRENT_TIER11_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B0)
-#define ZCL_CURRENT_TIER11_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B1)
-#define ZCL_CURRENT_TIER11_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B2)
-#define ZCL_CURRENT_TIER11_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B3)
-#define ZCL_CURRENT_TIER11_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B4)
-#define ZCL_CURRENT_TIER11_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B5)
-#define ZCL_CURRENT_TIER11_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B6)
-#define ZCL_CURRENT_TIER11_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B7)
-#define ZCL_CURRENT_TIER11_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B8)
-#define ZCL_CURRENT_TIER11_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07B9)
-#define ZCL_CURRENT_TIER11_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07BA)
-#define ZCL_CURRENT_TIER11_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07BB)
-#define ZCL_CURRENT_TIER11_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07BC)
-#define ZCL_CURRENT_TIER11_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07BD)
-#define ZCL_CURRENT_TIER11_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07BE)
-#define ZCL_CURRENT_TIER11_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07BF)
-#define ZCL_CURRENT_TIER12_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C0)
-#define ZCL_CURRENT_TIER12_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C1)
-#define ZCL_CURRENT_TIER12_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C2)
-#define ZCL_CURRENT_TIER12_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C3)
-#define ZCL_CURRENT_TIER12_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C4)
-#define ZCL_CURRENT_TIER12_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C5)
-#define ZCL_CURRENT_TIER12_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C6)
-#define ZCL_CURRENT_TIER12_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C7)
-#define ZCL_CURRENT_TIER12_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C8)
-#define ZCL_CURRENT_TIER12_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07C9)
-#define ZCL_CURRENT_TIER12_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07CA)
-#define ZCL_CURRENT_TIER12_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07CB)
-#define ZCL_CURRENT_TIER12_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07CC)
-#define ZCL_CURRENT_TIER12_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07CD)
-#define ZCL_CURRENT_TIER12_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07CE)
-#define ZCL_CURRENT_TIER12_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07CF)
-#define ZCL_CURRENT_TIER13_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D0)
-#define ZCL_CURRENT_TIER13_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D1)
-#define ZCL_CURRENT_TIER13_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D2)
-#define ZCL_CURRENT_TIER13_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D3)
-#define ZCL_CURRENT_TIER13_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D4)
-#define ZCL_CURRENT_TIER13_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D5)
-#define ZCL_CURRENT_TIER13_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D6)
-#define ZCL_CURRENT_TIER13_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D7)
-#define ZCL_CURRENT_TIER13_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D8)
-#define ZCL_CURRENT_TIER13_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07D9)
-#define ZCL_CURRENT_TIER13_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07DA)
-#define ZCL_CURRENT_TIER13_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07DB)
-#define ZCL_CURRENT_TIER13_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07DC)
-#define ZCL_CURRENT_TIER13_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07DD)
-#define ZCL_CURRENT_TIER13_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07DE)
-#define ZCL_CURRENT_TIER13_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07DF)
-#define ZCL_CURRENT_TIER14_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E0)
-#define ZCL_CURRENT_TIER14_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E1)
-#define ZCL_CURRENT_TIER14_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E2)
-#define ZCL_CURRENT_TIER14_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E3)
-#define ZCL_CURRENT_TIER14_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E4)
-#define ZCL_CURRENT_TIER14_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E5)
-#define ZCL_CURRENT_TIER14_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E6)
-#define ZCL_CURRENT_TIER14_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E7)
-#define ZCL_CURRENT_TIER14_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E8)
-#define ZCL_CURRENT_TIER14_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07E9)
-#define ZCL_CURRENT_TIER14_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07EA)
-#define ZCL_CURRENT_TIER14_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07EB)
-#define ZCL_CURRENT_TIER14_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07EC)
-#define ZCL_CURRENT_TIER14_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07ED)
-#define ZCL_CURRENT_TIER14_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07EE)
-#define ZCL_CURRENT_TIER14_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07EF)
-#define ZCL_CURRENT_TIER15_BLOCK1_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F0)
-#define ZCL_CURRENT_TIER15_BLOCK2_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F1)
-#define ZCL_CURRENT_TIER15_BLOCK3_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F2)
-#define ZCL_CURRENT_TIER15_BLOCK4_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F3)
-#define ZCL_CURRENT_TIER15_BLOCK5_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F4)
-#define ZCL_CURRENT_TIER15_BLOCK6_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F5)
-#define ZCL_CURRENT_TIER15_BLOCK7_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F6)
-#define ZCL_CURRENT_TIER15_BLOCK8_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F7)
-#define ZCL_CURRENT_TIER15_BLOCK9_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F8)
-#define ZCL_CURRENT_TIER15_BLOCK10_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07F9)
-#define ZCL_CURRENT_TIER15_BLOCK11_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07FA)
-#define ZCL_CURRENT_TIER15_BLOCK12_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07FB)
-#define ZCL_CURRENT_TIER15_BLOCK13_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07FC)
-#define ZCL_CURRENT_TIER15_BLOCK14_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07FD)
-#define ZCL_CURRENT_TIER15_BLOCK15_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07FE)
-#define ZCL_CURRENT_TIER15_BLOCK16_SUMMATION_DELIVERED_ATTRIBUTE_ID (0x07FF)
-#define ZCL_GENERIC_ALARM_MASK_ATTRIBUTE_ID (0x0800)
-#define ZCL_ELECTRICITY_ALARM_MASK_ATTRIBUTE_ID (0x0801)
-#define ZCL_GENERIC_FLOW_PRESSURE_ALARM_MASK_ATTRIBUTE_ID (0x0802)
-#define ZCL_WATER_SPECIFIC_ALARM_MASK_ATTRIBUTE_ID (0x0803)
-#define ZCL_HEAT_AND_COOLING_SPECIFIC_ALARM_MASK_ATTRIBUTE_ID (0x0804)
-#define ZCL_GAS_SPECIFIC_ALARM_MASK_ATTRIBUTE_ID (0x0805)
-#define ZCL_METERING_EXTENDED_GENERIC_ALARM_MASK_ATTRIBUTE_ID (0x0806)
-#define ZCL_METERING_MANUFACTURE_ALARM_MASK_ATTRIBUTE_ID (0x0807)
-#define ZCL_CURRENT_NO_TIER_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0900)
-#define ZCL_CURRENT_NO_TIER_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0901)
-#define ZCL_CURRENT_NO_TIER_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0902)
-#define ZCL_CURRENT_NO_TIER_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0903)
-#define ZCL_CURRENT_NO_TIER_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0904)
-#define ZCL_CURRENT_NO_TIER_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0905)
-#define ZCL_CURRENT_NO_TIER_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0906)
-#define ZCL_CURRENT_NO_TIER_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0907)
-#define ZCL_CURRENT_NO_TIER_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0908)
-#define ZCL_CURRENT_NO_TIER_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0909)
-#define ZCL_CURRENT_NO_TIER_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x090A)
-#define ZCL_CURRENT_NO_TIER_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x090B)
-#define ZCL_CURRENT_NO_TIER_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x090C)
-#define ZCL_CURRENT_NO_TIER_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x090D)
-#define ZCL_CURRENT_NO_TIER_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x090E)
-#define ZCL_CURRENT_NO_TIER_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x090F)
-#define ZCL_CURRENT_TIER1_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0910)
-#define ZCL_CURRENT_TIER1_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0911)
-#define ZCL_CURRENT_TIER1_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0912)
-#define ZCL_CURRENT_TIER1_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0913)
-#define ZCL_CURRENT_TIER1_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0914)
-#define ZCL_CURRENT_TIER1_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0915)
-#define ZCL_CURRENT_TIER1_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0916)
-#define ZCL_CURRENT_TIER1_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0917)
-#define ZCL_CURRENT_TIER1_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0918)
-#define ZCL_CURRENT_TIER1_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0919)
-#define ZCL_CURRENT_TIER1_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x091A)
-#define ZCL_CURRENT_TIER1_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x091B)
-#define ZCL_CURRENT_TIER1_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x091C)
-#define ZCL_CURRENT_TIER1_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x091D)
-#define ZCL_CURRENT_TIER1_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x091E)
-#define ZCL_CURRENT_TIER1_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x091F)
-#define ZCL_CURRENT_TIER2_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0920)
-#define ZCL_CURRENT_TIER2_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0921)
-#define ZCL_CURRENT_TIER2_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0922)
-#define ZCL_CURRENT_TIER2_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0923)
-#define ZCL_CURRENT_TIER2_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0924)
-#define ZCL_CURRENT_TIER2_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0925)
-#define ZCL_CURRENT_TIER2_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0926)
-#define ZCL_CURRENT_TIER2_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0927)
-#define ZCL_CURRENT_TIER2_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0928)
-#define ZCL_CURRENT_TIER2_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0929)
-#define ZCL_CURRENT_TIER2_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x092A)
-#define ZCL_CURRENT_TIER2_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x092B)
-#define ZCL_CURRENT_TIER2_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x092C)
-#define ZCL_CURRENT_TIER2_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x092D)
-#define ZCL_CURRENT_TIER2_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x092E)
-#define ZCL_CURRENT_TIER2_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x092F)
-#define ZCL_CURRENT_TIER3_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0930)
-#define ZCL_CURRENT_TIER3_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0931)
-#define ZCL_CURRENT_TIER3_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0932)
-#define ZCL_CURRENT_TIER3_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0933)
-#define ZCL_CURRENT_TIER3_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0934)
-#define ZCL_CURRENT_TIER3_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0935)
-#define ZCL_CURRENT_TIER3_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0936)
-#define ZCL_CURRENT_TIER3_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0937)
-#define ZCL_CURRENT_TIER3_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0938)
-#define ZCL_CURRENT_TIER3_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0939)
-#define ZCL_CURRENT_TIER3_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x093A)
-#define ZCL_CURRENT_TIER3_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x093B)
-#define ZCL_CURRENT_TIER3_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x093C)
-#define ZCL_CURRENT_TIER3_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x093D)
-#define ZCL_CURRENT_TIER3_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x093E)
-#define ZCL_CURRENT_TIER3_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x093F)
-#define ZCL_CURRENT_TIER4_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0940)
-#define ZCL_CURRENT_TIER4_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0941)
-#define ZCL_CURRENT_TIER4_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0942)
-#define ZCL_CURRENT_TIER4_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0943)
-#define ZCL_CURRENT_TIER4_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0944)
-#define ZCL_CURRENT_TIER4_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0945)
-#define ZCL_CURRENT_TIER4_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0946)
-#define ZCL_CURRENT_TIER4_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0947)
-#define ZCL_CURRENT_TIER4_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0948)
-#define ZCL_CURRENT_TIER4_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0949)
-#define ZCL_CURRENT_TIER4_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x094A)
-#define ZCL_CURRENT_TIER4_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x094B)
-#define ZCL_CURRENT_TIER4_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x094C)
-#define ZCL_CURRENT_TIER4_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x094D)
-#define ZCL_CURRENT_TIER4_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x094E)
-#define ZCL_CURRENT_TIER4_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x094F)
-#define ZCL_CURRENT_TIER5_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0950)
-#define ZCL_CURRENT_TIER5_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0951)
-#define ZCL_CURRENT_TIER5_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0952)
-#define ZCL_CURRENT_TIER5_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0953)
-#define ZCL_CURRENT_TIER5_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0954)
-#define ZCL_CURRENT_TIER5_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0955)
-#define ZCL_CURRENT_TIER5_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0956)
-#define ZCL_CURRENT_TIER5_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0957)
-#define ZCL_CURRENT_TIER5_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0958)
-#define ZCL_CURRENT_TIER5_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0959)
-#define ZCL_CURRENT_TIER5_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x095A)
-#define ZCL_CURRENT_TIER5_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x095B)
-#define ZCL_CURRENT_TIER5_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x095C)
-#define ZCL_CURRENT_TIER5_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x095D)
-#define ZCL_CURRENT_TIER5_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x095E)
-#define ZCL_CURRENT_TIER5_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x095F)
-#define ZCL_CURRENT_TIER6_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0960)
-#define ZCL_CURRENT_TIER6_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0961)
-#define ZCL_CURRENT_TIER6_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0962)
-#define ZCL_CURRENT_TIER6_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0963)
-#define ZCL_CURRENT_TIER6_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0964)
-#define ZCL_CURRENT_TIER6_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0965)
-#define ZCL_CURRENT_TIER6_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0966)
-#define ZCL_CURRENT_TIER6_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0967)
-#define ZCL_CURRENT_TIER6_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0968)
-#define ZCL_CURRENT_TIER6_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0969)
-#define ZCL_CURRENT_TIER6_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x096A)
-#define ZCL_CURRENT_TIER6_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x096B)
-#define ZCL_CURRENT_TIER6_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x096C)
-#define ZCL_CURRENT_TIER6_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x096D)
-#define ZCL_CURRENT_TIER6_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x096E)
-#define ZCL_CURRENT_TIER6_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x096F)
-#define ZCL_CURRENT_TIER7_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0970)
-#define ZCL_CURRENT_TIER7_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0971)
-#define ZCL_CURRENT_TIER7_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0972)
-#define ZCL_CURRENT_TIER7_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0973)
-#define ZCL_CURRENT_TIER7_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0974)
-#define ZCL_CURRENT_TIER7_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0975)
-#define ZCL_CURRENT_TIER7_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0976)
-#define ZCL_CURRENT_TIER7_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0977)
-#define ZCL_CURRENT_TIER7_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0978)
-#define ZCL_CURRENT_TIER7_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0979)
-#define ZCL_CURRENT_TIER7_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x097A)
-#define ZCL_CURRENT_TIER7_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x097B)
-#define ZCL_CURRENT_TIER7_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x097C)
-#define ZCL_CURRENT_TIER7_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x097D)
-#define ZCL_CURRENT_TIER7_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x097E)
-#define ZCL_CURRENT_TIER7_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x097F)
-#define ZCL_CURRENT_TIER8_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0980)
-#define ZCL_CURRENT_TIER8_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0981)
-#define ZCL_CURRENT_TIER8_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0982)
-#define ZCL_CURRENT_TIER8_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0983)
-#define ZCL_CURRENT_TIER8_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0984)
-#define ZCL_CURRENT_TIER8_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0985)
-#define ZCL_CURRENT_TIER8_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0986)
-#define ZCL_CURRENT_TIER8_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0987)
-#define ZCL_CURRENT_TIER8_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0988)
-#define ZCL_CURRENT_TIER8_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0989)
-#define ZCL_CURRENT_TIER8_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x098A)
-#define ZCL_CURRENT_TIER8_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x098B)
-#define ZCL_CURRENT_TIER8_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x098C)
-#define ZCL_CURRENT_TIER8_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x098D)
-#define ZCL_CURRENT_TIER8_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x098E)
-#define ZCL_CURRENT_TIER8_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x098F)
-#define ZCL_CURRENT_TIER9_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0990)
-#define ZCL_CURRENT_TIER9_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0991)
-#define ZCL_CURRENT_TIER9_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0992)
-#define ZCL_CURRENT_TIER9_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0993)
-#define ZCL_CURRENT_TIER9_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0994)
-#define ZCL_CURRENT_TIER9_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0995)
-#define ZCL_CURRENT_TIER9_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0996)
-#define ZCL_CURRENT_TIER9_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0997)
-#define ZCL_CURRENT_TIER9_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0998)
-#define ZCL_CURRENT_TIER9_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x0999)
-#define ZCL_CURRENT_TIER9_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x099A)
-#define ZCL_CURRENT_TIER9_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x099B)
-#define ZCL_CURRENT_TIER9_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x099C)
-#define ZCL_CURRENT_TIER9_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x099D)
-#define ZCL_CURRENT_TIER9_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x099E)
-#define ZCL_CURRENT_TIER9_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x099F)
-#define ZCL_CURRENT_TIER10_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A0)
-#define ZCL_CURRENT_TIER10_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A1)
-#define ZCL_CURRENT_TIER10_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A2)
-#define ZCL_CURRENT_TIER10_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A3)
-#define ZCL_CURRENT_TIER10_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A4)
-#define ZCL_CURRENT_TIER10_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A5)
-#define ZCL_CURRENT_TIER10_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A6)
-#define ZCL_CURRENT_TIER10_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A7)
-#define ZCL_CURRENT_TIER10_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A8)
-#define ZCL_CURRENT_TIER10_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09A9)
-#define ZCL_CURRENT_TIER10_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09AA)
-#define ZCL_CURRENT_TIER10_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09AB)
-#define ZCL_CURRENT_TIER10_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09AC)
-#define ZCL_CURRENT_TIER10_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09AD)
-#define ZCL_CURRENT_TIER10_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09AE)
-#define ZCL_CURRENT_TIER10_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09AF)
-#define ZCL_CURRENT_TIER11_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B0)
-#define ZCL_CURRENT_TIER11_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B1)
-#define ZCL_CURRENT_TIER11_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B2)
-#define ZCL_CURRENT_TIER11_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B3)
-#define ZCL_CURRENT_TIER11_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B4)
-#define ZCL_CURRENT_TIER11_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B5)
-#define ZCL_CURRENT_TIER11_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B6)
-#define ZCL_CURRENT_TIER11_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B7)
-#define ZCL_CURRENT_TIER11_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B8)
-#define ZCL_CURRENT_TIER11_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09B9)
-#define ZCL_CURRENT_TIER11_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09BA)
-#define ZCL_CURRENT_TIER11_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09BB)
-#define ZCL_CURRENT_TIER11_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09BC)
-#define ZCL_CURRENT_TIER11_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09BD)
-#define ZCL_CURRENT_TIER11_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09BE)
-#define ZCL_CURRENT_TIER11_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09BF)
-#define ZCL_CURRENT_TIER12_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C0)
-#define ZCL_CURRENT_TIER12_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C1)
-#define ZCL_CURRENT_TIER12_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C2)
-#define ZCL_CURRENT_TIER12_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C3)
-#define ZCL_CURRENT_TIER12_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C4)
-#define ZCL_CURRENT_TIER12_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C5)
-#define ZCL_CURRENT_TIER12_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C6)
-#define ZCL_CURRENT_TIER12_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C7)
-#define ZCL_CURRENT_TIER12_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C8)
-#define ZCL_CURRENT_TIER12_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09C9)
-#define ZCL_CURRENT_TIER12_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09CA)
-#define ZCL_CURRENT_TIER12_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09CB)
-#define ZCL_CURRENT_TIER12_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09CC)
-#define ZCL_CURRENT_TIER12_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09CD)
-#define ZCL_CURRENT_TIER12_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09CE)
-#define ZCL_CURRENT_TIER12_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09CF)
-#define ZCL_CURRENT_TIER13_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D0)
-#define ZCL_CURRENT_TIER13_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D1)
-#define ZCL_CURRENT_TIER13_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D2)
-#define ZCL_CURRENT_TIER13_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D3)
-#define ZCL_CURRENT_TIER13_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D4)
-#define ZCL_CURRENT_TIER13_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D5)
-#define ZCL_CURRENT_TIER13_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D6)
-#define ZCL_CURRENT_TIER13_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D7)
-#define ZCL_CURRENT_TIER13_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D8)
-#define ZCL_CURRENT_TIER13_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09D9)
-#define ZCL_CURRENT_TIER13_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09DA)
-#define ZCL_CURRENT_TIER13_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09DB)
-#define ZCL_CURRENT_TIER13_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09DC)
-#define ZCL_CURRENT_TIER13_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09DD)
-#define ZCL_CURRENT_TIER13_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09DE)
-#define ZCL_CURRENT_TIER13_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09DF)
-#define ZCL_CURRENT_TIER14_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E0)
-#define ZCL_CURRENT_TIER14_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E1)
-#define ZCL_CURRENT_TIER14_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E2)
-#define ZCL_CURRENT_TIER14_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E3)
-#define ZCL_CURRENT_TIER14_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E4)
-#define ZCL_CURRENT_TIER14_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E5)
-#define ZCL_CURRENT_TIER14_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E6)
-#define ZCL_CURRENT_TIER14_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E7)
-#define ZCL_CURRENT_TIER14_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E8)
-#define ZCL_CURRENT_TIER14_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09E9)
-#define ZCL_CURRENT_TIER14_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09EA)
-#define ZCL_CURRENT_TIER14_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09EB)
-#define ZCL_CURRENT_TIER14_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09EC)
-#define ZCL_CURRENT_TIER14_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09ED)
-#define ZCL_CURRENT_TIER14_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09EE)
-#define ZCL_CURRENT_TIER14_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09EF)
-#define ZCL_CURRENT_TIER15_BLOCK1_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F0)
-#define ZCL_CURRENT_TIER15_BLOCK2_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F1)
-#define ZCL_CURRENT_TIER15_BLOCK3_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F2)
-#define ZCL_CURRENT_TIER15_BLOCK4_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F3)
-#define ZCL_CURRENT_TIER15_BLOCK5_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F4)
-#define ZCL_CURRENT_TIER15_BLOCK6_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F5)
-#define ZCL_CURRENT_TIER15_BLOCK7_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F6)
-#define ZCL_CURRENT_TIER15_BLOCK8_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F7)
-#define ZCL_CURRENT_TIER15_BLOCK9_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F8)
-#define ZCL_CURRENT_TIER15_BLOCK10_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09F9)
-#define ZCL_CURRENT_TIER15_BLOCK11_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09FA)
-#define ZCL_CURRENT_TIER15_BLOCK12_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09FB)
-#define ZCL_CURRENT_TIER15_BLOCK13_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09FC)
-#define ZCL_CURRENT_TIER15_BLOCK14_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09FD)
-#define ZCL_CURRENT_TIER15_BLOCK15_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09FE)
-#define ZCL_CURRENT_TIER15_BLOCK16_SUMMATION_RECEIVED_ATTRIBUTE_ID (0x09FF)
-#define ZCL_BILL_TO_DATE_DELIVERED_ATTRIBUTE_ID (0x0A00)
-#define ZCL_BILL_TO_DATE_TIME_STAMP_DELIVERED_ATTRIBUTE_ID (0x0A01)
-#define ZCL_PROJECTED_BILL_DELIVERED_ATTRIBUTE_ID (0x0A02)
-#define ZCL_PROJECTED_BILL_TIME_STAMP_DELIVERED_ATTRIBUTE_ID (0x0A03)
-#define ZCL_BILL_DELIVERED_TRAILING_DIGIT_ATTRIBUTE_ID (0x0A04)
-#define ZCL_BILL_TO_DATE_RECEIVED_ATTRIBUTE_ID (0x0A10)
-#define ZCL_BILL_TO_DATE_TIME_STAMP_RECEIVED_ATTRIBUTE_ID (0x0A11)
-#define ZCL_PROJECTED_BILL_RECEIVED_ATTRIBUTE_ID (0x0A12)
-#define ZCL_PROJECTED_BILL_TIME_STAMP_RECEIVED_ATTRIBUTE_ID (0x0A13)
-#define ZCL_BILL_RECEIVED_TRAILING_DIGIT_ATTRIBUTE_ID (0x0A14)
-#define ZCL_PROPOSED_CHANGE_SUPPLY_IMPLEMENTATION_TIME_ATTRIBUTE_ID (0x0B00)
-#define ZCL_PROPOSED_CHANGE_SUPPLY_STATUS_ATTRIBUTE_ID (0x0B01)
-#define ZCL_UNCONTROLLED_FLOW_THESHOLD_ATTRIBUTE_ID (0x0B10)
-#define ZCL_UNCONTROLLED_FLOW_THESHOLD_UNIT_OF_MEASURE_ATTRIBUTE_ID (0x0B11)
-#define ZCL_UNCONTROLLED_FLOW_MULTIPLIER_ATTRIBUTE_ID (0x0B12)
-#define ZCL_UNCONTROLLED_FLOW_DIVISOR_ATTRIBUTE_ID (0x0B13)
-#define ZCL_FLOW_STABILIZATION_PERIOD_ATTRIBUTE_ID (0x0B14)
-#define ZCL_FLOW_MEASUREMENT_PERIOD_ATTRIBUTE_ID (0x0B15)
-#define ZCL_ALTERNATIVE_INSTANTANEOUS_DEMAND_ATTRIBUTE_ID (0x0C00)
-#define ZCL_CURRENT_ALTERNATIVE_DAY_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C01)
-#define ZCL_CURRENT_ALTERNATIVE_DAY_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C02)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C03)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C04)
-#define ZCL_CURRENT_ALTERNATIVE_PARTIAL_PROFILE_INTERVAL_START_TIME_DELIVERED_ATTRIBUTE_ID (0x0C05)
-#define ZCL_CURRENT_ALTERNATIVE_PARTIAL_PROFILE_INTERVAL_START_TIME_RECEIVED_ATTRIBUTE_ID (0x0C06)
-#define ZCL_CURRENT_ALTERNATIVE_PARTIAL_PROFILE_INTERVAL_VALUE_DELIVERED_ATTRIBUTE_ID (0x0C07)
-#define ZCL_CURRENT_ALTERNATIVE_PARTIAL_PROFILE_INTERVAL_VALUE_RECEIVED_ATTRIBUTE_ID (0x0C08)
-#define ZCL_CURRENT_ALTERNATIVE_DAY_MAX_PRESSURE_ATTRIBUTE_ID (0x0C09)
-#define ZCL_CURRENT_ALTERNATIVE_DAY_MIN_PRESSURE_ATTRIBUTE_ID (0x0C0A)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_MAX_PRESSURE_ATTRIBUTE_ID (0x0C0B)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_MIN_PRESSURE_ATTRIBUTE_ID (0x0C0C)
-#define ZCL_CURRENT_ALTERNATIVE_DAY_ALTERNATIVE_MAX_DEMAND_ATTRIBUTE_ID (0x0C0D)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_MAX_DEMAND_ATTRIBUTE_ID (0x0C0E)
-#define ZCL_CURRENT_ALTERNATIVE_MONTH_MAX_DEMAND_ATTRIBUTE_ID (0x0C0F)
-#define ZCL_CURRENT_ALTERNATIVE_YEAR_MAX_DEMAND_ATTRIBUTE_ID (0x0C10)
-#define ZCL_PREVIOUS_DAY2_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C20)
-#define ZCL_PREVIOUS_DAY2_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C21)
-#define ZCL_PREVIOUS_DAY3_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C22)
-#define ZCL_PREVIOUS_DAY3_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C23)
-#define ZCL_PREVIOUS_DAY4_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C24)
-#define ZCL_PREVIOUS_DAY4_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C25)
-#define ZCL_PREVIOUS_DAY5_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C26)
-#define ZCL_PREVIOUS_DAY5_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C27)
-#define ZCL_PREVIOUS_DAY6_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C28)
-#define ZCL_PREVIOUS_DAY6_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C29)
-#define ZCL_PREVIOUS_DAY7_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C2A)
-#define ZCL_PREVIOUS_DAY7_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C2B)
-#define ZCL_PREVIOUS_DAY8_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C2C)
-#define ZCL_PREVIOUS_DAY8_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C2D)
-#define ZCL_CURRENT_WEEK_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C30)
-#define ZCL_CURRENT_WEEK_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C31)
-#define ZCL_PREVIOUS_WEEK_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C32)
-#define ZCL_PREVIOUS_WEEK_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C33)
-#define ZCL_PREVIOUS_WEEK2_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C34)
-#define ZCL_PREVIOUS_WEEK2_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C35)
-#define ZCL_PREVIOUS_WEEK3_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C36)
-#define ZCL_PREVIOUS_WEEK3_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C37)
-#define ZCL_PREVIOUS_WEEK4_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C38)
-#define ZCL_PREVIOUS_WEEK4_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C39)
-#define ZCL_PREVIOUS_WEEK5_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C3A)
-#define ZCL_PREVIOUS_WEEK5_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C3B)
-#define ZCL_CURRENT_MONTH_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C40)
-#define ZCL_CURRENT_MONTH_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C41)
-#define ZCL_PREVIOUS_MONTH_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C42)
-#define ZCL_PREVIOUS_MONTH_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C43)
-#define ZCL_PREVIOUS_MONTH2_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C44)
-#define ZCL_PREVIOUS_MONTH2_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C45)
-#define ZCL_PREVIOUS_MONTH3_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C46)
-#define ZCL_PREVIOUS_MONTH3_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C47)
-#define ZCL_PREVIOUS_MONTH4_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C48)
-#define ZCL_PREVIOUS_MONTH4_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C49)
-#define ZCL_PREVIOUS_MONTH5_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C4A)
-#define ZCL_PREVIOUS_MONTH5_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C4B)
-#define ZCL_PREVIOUS_MONTH6_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C4C)
-#define ZCL_PREVIOUS_MONTH6_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C4D)
-#define ZCL_PREVIOUS_MONTH7_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C4E)
-#define ZCL_PREVIOUS_MONTH7_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C4F)
-#define ZCL_PREVIOUS_MONTH8_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C50)
-#define ZCL_PREVIOUS_MONTH8_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C51)
-#define ZCL_PREVIOUS_MONTH9_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C52)
-#define ZCL_PREVIOUS_MONTH9_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C53)
-#define ZCL_PREVIOUS_MONTH10_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C54)
-#define ZCL_PREVIOUS_MONTH10_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C55)
-#define ZCL_PREVIOUS_MONTH11_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C56)
-#define ZCL_PREVIOUS_MONTH11_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C57)
-#define ZCL_PREVIOUS_MONTH12_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C58)
-#define ZCL_PREVIOUS_MONTH12_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C59)
-#define ZCL_PREVIOUS_MONTH13_ALTERNATIVE_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0C5A)
-#define ZCL_PREVIOUS_MONTH13_ALTERNATIVE_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0C5B)
-#define ZCL_CURRENT_DAY_ALTERNATIVE_MAX_DEMAND_DELIVERED_ATTRIBUTE_ID (0x0C5C)
-#define ZCL_CURRENT_DAY_ALTERNATIVE_MAX_DEMAND_DELIVERED_TIME_ATTRIBUTE_ID (0x0C5D)
-#define ZCL_CURRENT_DAY_ALTERNATIVE_MAX_DEMAND_RECEIVED_ATTRIBUTE_ID (0x0C5E)
-#define ZCL_CURRENT_DAY_ALTERNATIVE_MAX_DEMAND_RECEIVED_TIME_ATTRIBUTE_ID (0x0C5F)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_MAX_DEMAND_DELIVERED_ATTRIBUTE_ID (0x0C60)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_MAX_DEMAND_DELIVERED_TIME_ATTRIBUTE_ID (0x0C61)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_MAX_DEMAND_RECEIVED_ATTRIBUTE_ID (0x0C62)
-#define ZCL_PREVIOUS_DAY_ALTERNATIVE_MAX_DEMAND_RECEIVED_TIME_ATTRIBUTE_ID (0x0C63)
-#define ZCL_CURRENT_ACTIVE_SUMMATION_Q1_ATTRIBUTE_ID (0x0D01)
-#define ZCL_CURRENT_ACTIVE_SUMMATION_Q2_ATTRIBUTE_ID (0x0D02)
-#define ZCL_CURRENT_ACTIVE_SUMMATION_Q3_ATTRIBUTE_ID (0x0D03)
-#define ZCL_CURRENT_ACTIVE_SUMMATION_Q4_ATTRIBUTE_ID (0x0D04)
-#define ZCL_CURRENT_REACTIVE_SUMMATION_Q1_ATTRIBUTE_ID (0x0D05)
-#define ZCL_CURRENT_REACTIVE_SUMMATION_Q2_ATTRIBUTE_ID (0x0D06)
-#define ZCL_CURRENT_REACTIVE_SUMMATION_Q3_ATTRIBUTE_ID (0x0D07)
-#define ZCL_CURRENT_REACTIVE_SUMMATION_Q4_ATTRIBUTE_ID (0x0D08)
-
-// Attribute ids for cluster: Messaging
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Tunneling
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CLOSE_TUNNEL_TIMEOUT_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: Prepayment
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PAYMENT_CONTROL_CONFIGURATION_ATTRIBUTE_ID (0x0000)
-#define ZCL_CREDIT_REMAINING_ATTRIBUTE_ID (0x0001)
-#define ZCL_EMERGENCY_CREDIT_REMAINING_ATTRIBUTE_ID (0x0002)
-#define ZCL_CREDIT_STATUS_ATTRIBUTE_ID (0x0003)
-#define ZCL_CREDIT_REMAINING_TIMESTAMP_ATTRIBUTE_ID (0x0004)
-#define ZCL_ACCUMULATED_DEBT_ATTRIBUTE_ID (0x0005)
-#define ZCL_OVERALL_DEBT_CAP_ATTRIBUTE_ID (0x0006)
-#define ZCL_EMERGENCY_CREDIT_LIMIT_ALLOWANCE_ATTRIBUTE_ID (0x0010)
-#define ZCL_EMERGENCY_CREDIT_THRESHOLD_ATTRIBUTE_ID (0x0011)
-#define ZCL_TOTAL_CREDIT_ADDED_ATTRIBUTE_ID (0x0020)
-#define ZCL_MAX_CREDIT_LIMIT_ATTRIBUTE_ID (0x0021)
-#define ZCL_MAX_CREDIT_PER_TOP_UP_ATTRIBUTE_ID (0x0022)
-#define ZCL_FRIENDLY_CREDIT_WARNING_ATTRIBUTE_ID (0x0030)
-#define ZCL_LOW_CREDIT_WARNING_ATTRIBUTE_ID (0x0031)
-#define ZCL_IHD_LOW_CREDIT_WARNING_ATTRIBUTE_ID (0x0032)
-#define ZCL_INTERRUPT_SUSPEND_TIME_ATTRIBUTE_ID (0x0033)
-#define ZCL_REMAINING_FRIENDLY_CREDIT_TIME_ATTRIBUTE_ID (0x0034)
-#define ZCL_NEXT_FRIENDLY_CREDIT_PERIOD_ATTRIBUTE_ID (0x0035)
-#define ZCL_CUT_OFF_VALUE_ATTRIBUTE_ID (0x0040)
-#define ZCL_TOKEN_CARRIER_ID_ATTRIBUTE_ID (0x0080)
-#define ZCL_TOP_UP_DATE_TIME_1_ATTRIBUTE_ID (0x0100)
-#define ZCL_TOP_UP_AMOUNT_1_ATTRIBUTE_ID (0x0101)
-#define ZCL_TOP_UP_ORIGINATING_DEVICE_1_ATTRIBUTE_ID (0x0102)
-#define ZCL_TOP_UP_CODE_1_ATTRIBUTE_ID (0x0103)
-#define ZCL_TOP_UP_DATE_TIME_2_ATTRIBUTE_ID (0x0110)
-#define ZCL_TOP_UP_AMOUNT_2_ATTRIBUTE_ID (0x0111)
-#define ZCL_TOP_UP_ORIGINATING_DEVICE_2_ATTRIBUTE_ID (0x0112)
-#define ZCL_TOP_UP_CODE_2_ATTRIBUTE_ID (0x0113)
-#define ZCL_TOP_UP_DATE_TIME_3_ATTRIBUTE_ID (0x0120)
-#define ZCL_TOP_UP_AMOUNT_3_ATTRIBUTE_ID (0x0121)
-#define ZCL_TOP_UP_ORIGINATING_DEVICE_3_ATTRIBUTE_ID (0x0122)
-#define ZCL_TOP_UP_CODE_3_ATTRIBUTE_ID (0x0123)
-#define ZCL_TOP_UP_DATE_TIME_4_ATTRIBUTE_ID (0x0130)
-#define ZCL_TOP_UP_AMOUNT_4_ATTRIBUTE_ID (0x0131)
-#define ZCL_TOP_UP_ORIGINATING_DEVICE_4_ATTRIBUTE_ID (0x0132)
-#define ZCL_TOP_UP_CODE_4_ATTRIBUTE_ID (0x0133)
-#define ZCL_TOP_UP_DATE_TIME_5_ATTRIBUTE_ID (0x0140)
-#define ZCL_TOP_UP_AMOUNT_5_ATTRIBUTE_ID (0x0141)
-#define ZCL_TOP_UP_ORIGINATING_DEVICE_5_ATTRIBUTE_ID (0x0142)
-#define ZCL_TOP_UP_CODE_5_ATTRIBUTE_ID (0x0143)
-#define ZCL_DEBT_LABEL_1_ATTRIBUTE_ID (0x0210)
-#define ZCL_DEBT_AMOUNT_1_ATTRIBUTE_ID (0x0211)
-#define ZCL_DEBT_RECOVERY_METHOD_1_ATTRIBUTE_ID (0x0212)
-#define ZCL_DEBT_RECOVERY_START_TIME_1_ATTRIBUTE_ID (0x0213)
-#define ZCL_DEBT_RECOVERY_COLLECTION_TIME_1_ATTRIBUTE_ID (0x0214)
-#define ZCL_DEBT_RECOVERY_FREQUENCY_1_ATTRIBUTE_ID (0x0216)
-#define ZCL_DEBT_RECOVERY_AMOUNT_1_ATTRIBUTE_ID (0x0217)
-#define ZCL_DEBT_RECOVERY_TOP_UP_PERCENTAGE_1_ATTRIBUTE_ID (0x0219)
-#define ZCL_DEBT_LABEL_2_ATTRIBUTE_ID (0x0220)
-#define ZCL_DEBT_AMOUNT_2_ATTRIBUTE_ID (0x0221)
-#define ZCL_DEBT_RECOVERY_METHOD_2_ATTRIBUTE_ID (0x0222)
-#define ZCL_DEBT_RECOVERY_START_TIME_2_ATTRIBUTE_ID (0x0223)
-#define ZCL_DEBT_RECOVERY_COLLECTION_TIME_2_ATTRIBUTE_ID (0x0224)
-#define ZCL_DEBT_RECOVERY_FREQUENCY_2_ATTRIBUTE_ID (0x0226)
-#define ZCL_DEBT_RECOVERY_AMOUNT_2_ATTRIBUTE_ID (0x0227)
-#define ZCL_DEBT_RECOVERY_TOP_UP_PERCENTAGE_2_ATTRIBUTE_ID (0x0229)
-#define ZCL_DEBT_LABEL_3_ATTRIBUTE_ID (0x0230)
-#define ZCL_DEBT_AMOUNT_3_ATTRIBUTE_ID (0x0231)
-#define ZCL_DEBT_RECOVERY_METHOD_3_ATTRIBUTE_ID (0x0232)
-#define ZCL_DEBT_RECOVERY_START_TIME_3_ATTRIBUTE_ID (0x0233)
-#define ZCL_DEBT_RECOVERY_COLLECTION_TIME_3_ATTRIBUTE_ID (0x0234)
-#define ZCL_DEBT_RECOVERY_FREQUENCY_3_ATTRIBUTE_ID (0x0236)
-#define ZCL_DEBT_RECOVERY_AMOUNT_3_ATTRIBUTE_ID (0x0237)
-#define ZCL_DEBT_RECOVERY_TOP_UP_PERCENTAGE_3_ATTRIBUTE_ID (0x0239)
-#define ZCL_PREPAYMENT_ALARM_STATUS_ATTRIBUTE_ID (0x0400)
-#define ZCL_PREPAY_GENERIC_ALARM_MASK_ATTRIBUTE_ID (0x0401)
-#define ZCL_PREPAY_SWITCH_ALARM_MASK_ATTRIBUTE_ID (0x0402)
-#define ZCL_PREPAY_EVENT_ALARM_MASK_ATTRIBUTE_ID (0x0403)
-#define ZCL_HISTORICAL_COST_CONSUMPTION_FORMATTING_ATTRIBUTE_ID (0x0500)
-#define ZCL_CONSUMPTION_UNIT_OF_MEASUREMENT_ATTRIBUTE_ID (0x0501)
-#define ZCL_CURRENCY_SCALING_FACTOR_ATTRIBUTE_ID (0x0502)
-#define ZCL_PREPAYMANT_CURRENCY_ATTRIBUTE_ID (0x0503)
-#define ZCL_CURRENT_DAY_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x051C)
-#define ZCL_CURRENT_DAY_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x051D)
-#define ZCL_PREVIOUS_DAY_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x051E)
-#define ZCL_PREVIOUS_DAY_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x051F)
-#define ZCL_PREVIOUS_DAY_2_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0520)
-#define ZCL_PREVIOUS_DAY_2_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0521)
-#define ZCL_PREVIOUS_DAY_3_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0522)
-#define ZCL_PREVIOUS_DAY_3_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0523)
-#define ZCL_PREVIOUS_DAY_4_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0524)
-#define ZCL_PREVIOUS_DAY_4_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0525)
-#define ZCL_PREVIOUS_DAY_5_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0526)
-#define ZCL_PREVIOUS_DAY_5_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0527)
-#define ZCL_PREVIOUS_DAY_6_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0528)
-#define ZCL_PREVIOUS_DAY_6_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0529)
-#define ZCL_PREVIOUS_DAY_7_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x052A)
-#define ZCL_PREVIOUS_DAY_7_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x052B)
-#define ZCL_PREVIOUS_DAY_8_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x052C)
-#define ZCL_PREVIOUS_DAY_8_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x052D)
-#define ZCL_CURRENT_WEEK_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0530)
-#define ZCL_CURRENT_WEEK_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0531)
-#define ZCL_PREVIOUS_WEEK_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0532)
-#define ZCL_PREVIOUS_WEEK_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0533)
-#define ZCL_PREVIOUS_WEEK_2_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0534)
-#define ZCL_PREVIOUS_WEEK_2_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0535)
-#define ZCL_PREVIOUS_WEEK_3_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0536)
-#define ZCL_PREVIOUS_WEEK_3_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0537)
-#define ZCL_PREVIOUS_WEEK_4_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0538)
-#define ZCL_PREVIOUS_WEEK_4_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0539)
-#define ZCL_PREVIOUS_WEEK_5_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x053A)
-#define ZCL_PREVIOUS_WEEK_5_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x053B)
-#define ZCL_CURRENT_MONTH_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0540)
-#define ZCL_CURRENT_MONTH_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0541)
-#define ZCL_PREVIOUS_MONTH_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0542)
-#define ZCL_PREVIOUS_MONTH_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0543)
-#define ZCL_PREVIOUS_MONTH_2_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0544)
-#define ZCL_PREVIOUS_MONTH_2_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0545)
-#define ZCL_PREVIOUS_MONTH_3_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0546)
-#define ZCL_PREVIOUS_MONTH_3_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0547)
-#define ZCL_PREVIOUS_MONTH_4_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0548)
-#define ZCL_PREVIOUS_MONTH_4_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0549)
-#define ZCL_PREVIOUS_MONTH_5_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x054A)
-#define ZCL_PREVIOUS_MONTH_5_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x054B)
-#define ZCL_PREVIOUS_MONTH_6_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x054C)
-#define ZCL_PREVIOUS_MONTH_6_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x054D)
-#define ZCL_PREVIOUS_MONTH_7_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x054E)
-#define ZCL_PREVIOUS_MONTH_7_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x054F)
-#define ZCL_PREVIOUS_MONTH_8_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0550)
-#define ZCL_PREVIOUS_MONTH_8_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0551)
-#define ZCL_PREVIOUS_MONTH_9_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0552)
-#define ZCL_PREVIOUS_MONTH_9_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0553)
-#define ZCL_PREVIOUS_MONTH_10_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0554)
-#define ZCL_PREVIOUS_MONTH_10_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0555)
-#define ZCL_PREVIOUS_MONTH_11_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0556)
-#define ZCL_PREVIOUS_MONTH_11_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0557)
-#define ZCL_PREVIOUS_MONTH_12_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x0558)
-#define ZCL_PREVIOUS_MONTH_12_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x0559)
-#define ZCL_PREVIOUS_MONTH_13_COST_CONSUMPTION_DELIVERED_ATTRIBUTE_ID (0x055A)
-#define ZCL_PREVIOUS_MONTH_13_COST_CONSUMPTION_RECEIVED_ATTRIBUTE_ID (0x055B)
-#define ZCL_PREPAYMENT_HISTORICAL_FREEZE_TIME_ATTRIBUTE_ID (0x055C)
-
-// Attribute ids for cluster: Energy Management
-
-// Client attributes
-
-// Server attributes
-#define ZCL_LOAD_CONTROL_STATE_ATTRIBUTE_ID (0x0000)
-#define ZCL_CURRENT_EVENT_ID_ATTRIBUTE_ID (0x0001)
-#define ZCL_CURRENT_EVENT_STATUS_ATTRIBUTE_ID (0x0002)
-#define ZCL_CONFORMANCE_LEVEL_ATTRIBUTE_ID (0x0003)
-#define ZCL_MINIMUM_OFF_TIME_ATTRIBUTE_ID (0x0004)
-#define ZCL_MINIMUM_ON_TIME_ATTRIBUTE_ID (0x0005)
-#define ZCL_MINIMUM_CYCLE_PERIOD_ATTRIBUTE_ID (0x0006)
-
-// Attribute ids for cluster: Calendar
-
-// Client attributes
-
-// Server attributes
-#define ZCL_AUXILIARY_SWITCH_1_LABEL_ATTRIBUTE_ID (0x0000)
-#define ZCL_AUXILIARY_SWITCH_2_LABEL_ATTRIBUTE_ID (0x0001)
-#define ZCL_AUXILIARY_SWITCH_3_LABEL_ATTRIBUTE_ID (0x0002)
-#define ZCL_AUXILIARY_SWITCH_4_LABEL_ATTRIBUTE_ID (0x0003)
-#define ZCL_AUXILIARY_SWITCH_5_LABEL_ATTRIBUTE_ID (0x0004)
-#define ZCL_AUXILIARY_SWITCH_6_LABEL_ATTRIBUTE_ID (0x0005)
-#define ZCL_AUXILIARY_SWITCH_7_LABEL_ATTRIBUTE_ID (0x0006)
-#define ZCL_AUXILIARY_SWITCH_8_LABEL_ATTRIBUTE_ID (0x0007)
-
-// Attribute ids for cluster: Device Management
-
-// Client attributes
-#define ZCL_PROVIDER_ID_CLIENT_ATTRIBUTE_ID (0x0000)
-#define ZCL_RECEIVED_PROVIDER_ID_CLIENT_ATTRIBUTE_ID (0x0010)
-#define ZCL_TOU_TARIFF_ACTIVATION_ATTRIBUTE_ID (0x0100)
-#define ZCL_BLOCK_TARIFF_ACTIVATED_ATTRIBUTE_ID (0x0101)
-#define ZCL_BLOCK_TOU_TARIFF_ACTIVATED_ATTRIBUTE_ID (0x0102)
-#define ZCL_SINGLE_TARIFF_RATE_ACTIVATED_ATTRIBUTE_ID (0x0103)
-#define ZCL_ASYNCHRONOUS_BILLING_OCCURRED_ATTRIBUTE_ID (0x0104)
-#define ZCL_SYNCHRONOUS_BILLING_OCCURRED_ATTRIBUTE_ID (0x0105)
-#define ZCL_TARIFF_NOT_SUPPORTED_ATTRIBUTE_ID (0x0106)
-#define ZCL_PRICE_CLUSTER_NOT_FOUND_ATTRIBUTE_ID (0x0107)
-#define ZCL_CURRENCY_CHANGE_PASSIVE_ACTIVATED_ATTRIBUTE_ID (0x0108)
-#define ZCL_CURRENCY_CHANGE_PASSIVE_UPDATED_ATTRIBUTE_ID (0x0109)
-#define ZCL_PRICE_MATRIX_PASSIVE_ACTIVATED_ATTRIBUTE_ID (0x010A)
-#define ZCL_PRICE_MATRIX_PASSIVE_UPDATED_ATTRIBUTE_ID (0x010B)
-#define ZCL_TARIFF_CHANGE_PASSIVE_ACTIVATED_ATTRIBUTE_ID (0x010C)
-#define ZCL_TARIFF_CHANGE_PASSIVE_UPDATED_ATTRIBUTE_ID (0x010D)
-#define ZCL_PUBLISH_PRICE_RECEIVED_ATTRIBUTE_ID (0x01B0)
-#define ZCL_PUBLISH_PRICE_ACTIONED_ATTRIBUTE_ID (0x01B1)
-#define ZCL_PUBLISH_PRICE_CANCELLED_ATTRIBUTE_ID (0x01B2)
-#define ZCL_PUBLISH_PRICE_REJECTED_ATTRIBUTE_ID (0x01B3)
-#define ZCL_PUBLISH_TARIFF_INFO_RECEIVED_ATTRIBUTE_ID (0x01B4)
-#define ZCL_PUBLISH_TARIFF_INFO_ACTIONED_ATTRIBUTE_ID (0x01B5)
-#define ZCL_PUBLISH_TARIFF_INFO_CANCELLED_ATTRIBUTE_ID (0x01B6)
-#define ZCL_PUBLISH_TARIFF_INFO_REJECTED_ATTRIBUTE_ID (0x01B7)
-#define ZCL_PUBLISH_PRICE_MATRIX_RECEIVED_ATTRIBUTE_ID (0x01B8)
-#define ZCL_PUBLISH_PRICE_MATRIX_ACTIONED_ATTRIBUTE_ID (0x01B9)
-#define ZCL_PUBLISH_PRICE_MATRIX_CANCELLED_ATTRIBUTE_ID (0x01BA)
-#define ZCL_PUBLISH_PRICE_MATRIX_REJECTED_ATTRIBUTE_ID (0x01BB)
-#define ZCL_PUBLISH_BLOCK_THRESHOLDS_RECEIVED_ATTRIBUTE_ID (0x01BC)
-#define ZCL_PUBLISH_BLOCK_THRESHOLDS_ACTIONED_ATTRIBUTE_ID (0x01BD)
-#define ZCL_PUBLISH_BLOCK_THRESHOLDS_CANCELLED_ATTRIBUTE_ID (0x01BE)
-#define ZCL_PUBLISH_BLOCK_THRESHOLDS_REJECTED_ATTRIBUTE_ID (0x01BF)
-#define ZCL_PUBLISH_CALORIFIC_VALUE_RECEIVED_ATTRIBUTE_ID (0x01C0)
-#define ZCL_PUBLISH_CALORIFIC_VALUE_ACTIONED_ATTRIBUTE_ID (0x01C1)
-#define ZCL_PUBLISH_CALORIFIC_VALUE_CANCELLED_ATTRIBUTE_ID (0x01C2)
-#define ZCL_PUBLISH_CALORIFIC_VALUE_REJECTED_ATTRIBUTE_ID (0x01C3)
-#define ZCL_PUBLISH_CONVERSION_FACTOR_RECEIVED_ATTRIBUTE_ID (0x01C4)
-#define ZCL_PUBLISH_CONVERSION_FACTOR_ACTIONED_ATTRIBUTE_ID (0x01C5)
-#define ZCL_PUBLISH_CONVERSION_FACTOR_CANCELLED_ATTRIBUTE_ID (0x01C6)
-#define ZCL_PUBLISH_CONVERSION_FACTOR_REJECTED_ATTRIBUTE_ID (0x01C7)
-#define ZCL_PUBLISH_CO2_VALUE_RECEIVED_ATTRIBUTE_ID (0x01C8)
-#define ZCL_PUBLISH_CO2_VALUE_ACTIONED_ATTRIBUTE_ID (0x01C9)
-#define ZCL_PUBLISH_CO2_VALUE_CANCELLED_ATTRIBUTE_ID (0x01CA)
-#define ZCL_PUBLISH_CO2_VALUE_REJECTED_ATTRIBUTE_ID (0x01CB)
-#define ZCL_PUBLISH_CPP_EVENT_RECEIVED_ATTRIBUTE_ID (0x01CC)
-#define ZCL_PUBLISH_CPP_EVENT_ACTIONED_ATTRIBUTE_ID (0x01CD)
-#define ZCL_PUBLISH_CPP_EVENT_CANCELLED_ATTRIBUTE_ID (0x01CE)
-#define ZCL_PUBLISH_CPP_EVENT_REJECTED_ATTRIBUTE_ID (0x01CF)
-#define ZCL_PUBLISH_TIER_LABELS_RECEIVED_ATTRIBUTE_ID (0x01D0)
-#define ZCL_PUBLISH_TIER_LABELS_ACTIONED_ATTRIBUTE_ID (0x01D1)
-#define ZCL_PUBLISH_TIER_LABELS_CANCELLED_ATTRIBUTE_ID (0x01D2)
-#define ZCL_PUBLISH_TIER_LABELS_REJECTED_ATTRIBUTE_ID (0x01D3)
-#define ZCL_PUBLISH_BILLING_PERIOD_RECEIVED_ATTRIBUTE_ID (0x01D4)
-#define ZCL_PUBLISH_BILLING_PERIOD_ACTIONED_ATTRIBUTE_ID (0x01D5)
-#define ZCL_PUBLISH_BILLING_PERIOD_CANCELLED_ATTRIBUTE_ID (0x01D6)
-#define ZCL_PUBLISH_BILLING_PERIOD_REJECTED_ATTRIBUTE_ID (0x01D7)
-#define ZCL_PUBLISH_CONSOLIDATED_BILL_RECEIVED_ATTRIBUTE_ID (0x01D8)
-#define ZCL_PUBLISH_CONSOLIDATED_BILL_ACTIONED_ATTRIBUTE_ID (0x01D9)
-#define ZCL_PUBLISH_CONSOLIDATED_BILL_CANCELLED_ATTRIBUTE_ID (0x01DA)
-#define ZCL_PUBLISH_CONSOLIDATED_BILL_REJECTED_ATTRIBUTE_ID (0x01DB)
-#define ZCL_PUBLISH_BLOCK_PERIOD_RECEIVED_ATTRIBUTE_ID (0x01DC)
-#define ZCL_PUBLISH_BLOCK_PERIOD_ACTIONED_ATTRIBUTE_ID (0x01DD)
-#define ZCL_PUBLISH_BLOCK_PERIOD_CANCELLED_ATTRIBUTE_ID (0x01DE)
-#define ZCL_PUBLISH_BLOCK_PERIOD_REJECTED_ATTRIBUTE_ID (0x01DF)
-#define ZCL_PUBLISH_CREDIT_PAYMENT_INFO_RECEIVED_ATTRIBUTE_ID (0x01E0)
-#define ZCL_PUBLISH_CREDIT_PAYMENT_INFO_ACTIONED_ATTRIBUTE_ID (0x01E1)
-#define ZCL_PUBLISH_CREDIT_PAYMENT_INFO_CANCELLED_ATTRIBUTE_ID (0x01E2)
-#define ZCL_PUBLISH_CREDIT_PAYMENT_INFO_REJECTED_ATTRIBUTE_ID (0x01E3)
-#define ZCL_PUBLISH_CURRENCY_CONVERSION_RECEIVED_ATTRIBUTE_ID (0x01E4)
-#define ZCL_PUBLISH_CURRENCY_CONVERSION_ACTIONED_ATTRIBUTE_ID (0x01E5)
-#define ZCL_PUBLISH_CURRENCY_CONVERSION_CANCELLED_ATTRIBUTE_ID (0x01E6)
-#define ZCL_PUBLISH_CURRENCY_CONVERSION_REJECTED_ATTRIBUTE_ID (0x01E7)
-#define ZCL_CHECK_METER_ATTRIBUTE_ID (0x0200)
-#define ZCL_LOW_BATTERY_ATTRIBUTE_ID (0x0201)
-#define ZCL_TAMPER_DETECT_ATTRIBUTE_ID (0x0202)
-#define ZCL_DEVICE_MANAGEMENT_SUPPLY_STATUS_ATTRIBUTE_ID (0x0203)
-#define ZCL_SUPPLY_QUALITY_ATTRIBUTE_ID (0x0204)
-#define ZCL_LEAK_DETECT_ATTRIBUTE_ID (0x0205)
-#define ZCL_SERVICE_DISCONNECT_ATTRIBUTE_ID (0x0206)
-#define ZCL_REVERSE_FLOW_GENERAL_ATTRIBUTE_ID (0x0207)
-#define ZCL_METER_COVER_REMOVED_ATTRIBUTE_ID (0x0208)
-#define ZCL_METER_COVER_CLOSED_ATTRIBUTE_ID (0x0209)
-#define ZCL_STRONG_MAGNETIC_FIELD_ATTRIBUTE_ID (0x020A)
-#define ZCL_NO_STRONG_MAGNETIC_FIELD_ATTRIBUTE_ID (0x020B)
-#define ZCL_BATTERY_FAILURE_ATTRIBUTE_ID (0x020C)
-#define ZCL_PROGRAM_MEMORY_ERROR_ATTRIBUTE_ID (0x020D)
-#define ZCL_RAM_ERROR_ATTRIBUTE_ID (0x020E)
-#define ZCL_NV_MEMORY_ERROR_ATTRIBUTE_ID (0x020F)
-#define ZCL_LOW_VOLTAGE_L1_ATTRIBUTE_ID (0x0210)
-#define ZCL_HIGH_VOLTAGE_L1_ATTRIBUTE_ID (0x0211)
-#define ZCL_LOW_VOLTAGE_L2_ATTRIBUTE_ID (0x0212)
-#define ZCL_HIGH_VOLTAGE_L2_ATTRIBUTE_ID (0x0213)
-#define ZCL_LOW_VOLTAGE_L3_ATTRIBUTE_ID (0x0214)
-#define ZCL_HIGH_VOLTAGE_L3_ATTRIBUTE_ID (0x0215)
-#define ZCL_OVER_CURRENT_L1_ATTRIBUTE_ID (0x0216)
-#define ZCL_OVER_CURRENT_L2_ATTRIBUTE_ID (0x0217)
-#define ZCL_OVER_CURRENT_L3_ATTRIBUTE_ID (0x0218)
-#define ZCL_FREQUENCY_TOO_LOW_L1_ATTRIBUTE_ID (0x0219)
-#define ZCL_FREQUENCY_TOO_HIGH_L1_ATTRIBUTE_ID (0x021A)
-#define ZCL_FREQUENCY_TOO_LOW_L2_ATTRIBUTE_ID (0x021B)
-#define ZCL_FREQUENCY_TOO_HIGH_L2_ATTRIBUTE_ID (0x021C)
-#define ZCL_FREQUENCY_TOO_LOW_L3_ATTRIBUTE_ID (0x021D)
-#define ZCL_FREQUENCY_TOO_HIGH_L3_ATTRIBUTE_ID (0x021E)
-#define ZCL_GROUND_FAULT_ATTRIBUTE_ID (0x021F)
-#define ZCL_ELECTRIC_TAMPER_DETECT_ATTRIBUTE_ID (0x0220)
-#define ZCL_INCORRECT_POLARITY_ATTRIBUTE_ID (0x0221)
-#define ZCL_CURRENT_NO_VOLTAGE_ATTRIBUTE_ID (0x0222)
-#define ZCL_UNDER_VOLTAGE_ATTRIBUTE_ID (0x0223)
-#define ZCL_OVER_VOLTAGE_ATTRIBUTE_ID (0x0224)
-#define ZCL_NORMAL_VOLTAGE_ATTRIBUTE_ID (0x0225)
-#define ZCL_PF_BELOW_THRESHOLD_ATTRIBUTE_ID (0x0226)
-#define ZCL_PF_ABOVE_THRESHOLD_ATTRIBUTE_ID (0x0227)
-#define ZCL_TERMINAL_COVER_REMOVED_ATTRIBUTE_ID (0x0228)
-#define ZCL_TERMINAL_COVER_CLOSED_ATTRIBUTE_ID (0x0229)
-#define ZCL_BURST_DETECT_ATTRIBUTE_ID (0x0230)
-#define ZCL_PRESSURE_TOO_LOW_ATTRIBUTE_ID (0x0231)
-#define ZCL_PRESSURE_TOO_HIGH_ATTRIBUTE_ID (0x0232)
-#define ZCL_FLOW_SENSOR_COMMUNICATION_ERROR_ATTRIBUTE_ID (0x0233)
-#define ZCL_FLOW_SENSOR_MEASUREMENT_FAULT_ATTRIBUTE_ID (0x0234)
-#define ZCL_FLOW_SENSOR_REVERSE_FLOW_ATTRIBUTE_ID (0x0235)
-#define ZCL_FLOW_SENSOR_AIR_DETECT_ATTRIBUTE_ID (0x0236)
-#define ZCL_PIPE_EMPTY_ATTRIBUTE_ID (0x0237)
-#define ZCL_INLET_TEMP_SENSOR_FAULT_ATTRIBUTE_ID (0x0250)
-#define ZCL_OUTLET_TEMP_SENSOR_FAULT_ATTRIBUTE_ID (0x0251)
-#define ZCL_REVERSE_FLOW_ATTRIBUTE_ID (0x0260)
-#define ZCL_TILT_TAMPER_ATTRIBUTE_ID (0x0261)
-#define ZCL_BATTERY_COVER_REMOVED_ATTRIBUTE_ID (0x0262)
-#define ZCL_BATTERY_COVER_CLOSED_ATTRIBUTE_ID (0x0263)
-#define ZCL_EXCESS_FLOW_ATTRIBUTE_ID (0x0264)
-#define ZCL_TILT_TAMPER_ENABLED_ATTRIBUTE_ID (0x0265)
-#define ZCL_MEASUREMENT_SYSTEM_ERROR_ATTRIBUTE_ID (0x0270)
-#define ZCL_WATCHDOG_ERROR_ATTRIBUTE_ID (0x0271)
-#define ZCL_SUPPLY_DISCONNECT_FAILURE_ATTRIBUTE_ID (0x0272)
-#define ZCL_SUPPLY_CONNECT_FAILURE_ATTRIBUTE_ID (0x0273)
-#define ZCL_MEASUREMENT_SOFTWARE_CHANGED_ATTRIBUTE_ID (0x0274)
-#define ZCL_DST_ENABLED_ATTRIBUTE_ID (0x0275)
-#define ZCL_DST_DISABLED_ATTRIBUTE_ID (0x0276)
-#define ZCL_CLOCK_ADJ_BACKWARD_ATTRIBUTE_ID (0x0277)
-#define ZCL_CLOCK_ADJ_FORWARD_ATTRIBUTE_ID (0x0278)
-#define ZCL_CLOCK_INVALID_ATTRIBUTE_ID (0x0279)
-#define ZCL_COMMUNICATION_ERROR_HAN_ATTRIBUTE_ID (0x027A)
-#define ZCL_COMMUNICATION_OK_HAN_ATTRIBUTE_ID (0x027B)
-#define ZCL_METER_FRAUD_ATTEMPT_ATTRIBUTE_ID (0x027C)
-#define ZCL_POWER_LOSS_ATTRIBUTE_ID (0x027D)
-#define ZCL_UNUSUAL_HAN_TRAFFIC_ATTRIBUTE_ID (0x027E)
-#define ZCL_UNEXPECTED_CLOCK_CHANGE_ATTRIBUTE_ID (0x027F)
-#define ZCL_COMMS_USING_UNAUTHENTICATED_COMPONENT_ATTRIBUTE_ID (0x0280)
-#define ZCL_METERING_ERROR_REG_CLEAR_ATTRIBUTE_ID (0x0281)
-#define ZCL_METERING_ALARM_REG_CLEAR_ATTRIBUTE_ID (0x0282)
-#define ZCL_UNEXPECTED_HW_RESET_ATTRIBUTE_ID (0x0283)
-#define ZCL_UNEXPECTED_PROGRAM_EXECUTION_ATTRIBUTE_ID (0x0284)
-#define ZCL_LIMIT_THRESHOLD_EXCEEDED_ATTRIBUTE_ID (0x0285)
-#define ZCL_LIMIT_THRESHOLD_OK_ATTRIBUTE_ID (0x0286)
-#define ZCL_LIMIT_THRESHOLD_CHANGED_ATTRIBUTE_ID (0x0287)
-#define ZCL_MAXIMUM_DEMAND_EXCEEDED_ATTRIBUTE_ID (0x0288)
-#define ZCL_PROFILE_CLEARED_ATTRIBUTE_ID (0x0289)
-#define ZCL_LOAD_PROFILE_CLEARED_ATTRIBUTE_ID (0x028A)
-#define ZCL_BATTERY_WARN_ATTRIBUTE_ID (0x028B)
-#define ZCL_WRONG_SIGNATURE_ATTRIBUTE_ID (0x028C)
-#define ZCL_NO_SIGNATURE_ATTRIBUTE_ID (0x028D)
-#define ZCL_SIGNATURE_NOT_VALID_ATTRIBUTE_ID (0x028E)
-#define ZCL_UNAUTHORISE_ACTION_FROM_HAN_ATTRIBUTE_ID (0x028F)
-#define ZCL_FAST_POLLING_START_ATTRIBUTE_ID (0x0290)
-#define ZCL_FAST_POLLING_END_ATTRIBUTE_ID (0x0291)
-#define ZCL_METER_REPORTING_INTERVAL_CHANGED_ATTRIBUTE_ID (0x0292)
-#define ZCL_DISCONNECT_TO_LOAD_LIMIT_ATTRIBUTE_ID (0x0293)
-#define ZCL_METER_SUPPLY_STATUS_REGISTER_CHANGED_ATTRIBUTE_ID (0x0294)
-#define ZCL_METER_ALARM_STATUS_REGISTER_CHANGED_ATTRIBUTE_ID (0x0295)
-#define ZCL_EXTENDED_METER_ALARM_STATUS_REGISTER_CHANGED_ATTRIBUTE_ID (0x0296)
-#define ZCL_DATA_ACCESS_VIA_LOCAL_PORT_ATTRIBUTE_ID (0x0297)
-#define ZCL_CONFIGURE_MIRROR_SUCCESS_ATTRIBUTE_ID (0x0298)
-#define ZCL_CONFIGURE_MIRROR_FAILURE_ATTRIBUTE_ID (0x0299)
-#define ZCL_CONFIGURE_NOTIFICATION_FLAG_SCHEME_SUCCESS_ATTRIBUTE_ID (0x029A)
-#define ZCL_CONFIGURE_NOTIFICATION_FLAG_SCHEME_FAILURE_ATTRIBUTE_ID (0x029B)
-#define ZCL_CONFIGURE_NOTIFICATION_FLAGS_SUCCESS_ATTRIBUTE_ID (0x029C)
-#define ZCL_CONFIGURE_NOTIFICATION_FLAGS_FAILURE_ATTRIBUTE_ID (0x029D)
-#define ZCL_STAY_AWAKE_REQUEST_HAN_ATTRIBUTE_ID (0x029E)
-#define ZCL_STAY_AWAKE_REQUEST_WAN_ATTRIBUTE_ID (0x029F)
-#define ZCL_MANUFACTURER_SPECIFIC_A_ATTRIBUTE_ID (0x02B0)
-#define ZCL_MANUFACTURER_SPECIFIC_B_ATTRIBUTE_ID (0x02B1)
-#define ZCL_MANUFACTURER_SPECIFIC_C_ATTRIBUTE_ID (0x02B2)
-#define ZCL_MANUFACTURER_SPECIFIC_D_ATTRIBUTE_ID (0x02B3)
-#define ZCL_MANUFACTURER_SPECIFIC_E_ATTRIBUTE_ID (0x02B4)
-#define ZCL_MANUFACTURER_SPECIFIC_F_ATTRIBUTE_ID (0x02B5)
-#define ZCL_MANUFACTURER_SPECIFIC_G_ATTRIBUTE_ID (0x02B6)
-#define ZCL_MANUFACTURER_SPECIFIC_H_ATTRIBUTE_ID (0x02B7)
-#define ZCL_MANUFACTURER_SPECIFIC_I_ATTRIBUTE_ID (0x02B8)
-#define ZCL_GET_PROFILE_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02C0)
-#define ZCL_GET_PROFILE_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02C1)
-#define ZCL_GET_PROFILE_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02C2)
-#define ZCL_GET_PROFILE_COMMAND_REJECTED_ATTRIBUTE_ID (0x02C3)
-#define ZCL_REQUEST_MIRROR_RESPONSE_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02C4)
-#define ZCL_REQUEST_MIRROR_RESPONSE_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02C5)
-#define ZCL_REQUEST_MIRROR_RESPONSE_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02C6)
-#define ZCL_REQUEST_MIRROR_RESPONSE_COMMAND_REJECTED_ATTRIBUTE_ID (0x02C7)
-#define ZCL_MIRROR_REMOVED_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02C8)
-#define ZCL_MIRROR_REMOVED_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02C9)
-#define ZCL_MIRROR_REMOVED_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02CA)
-#define ZCL_MIRROR_REMOVED_COMMAND_REJECTED_ATTRIBUTE_ID (0x02CB)
-#define ZCL_GET_SNAPSHOT_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02CC)
-#define ZCL_GET_SNAPSHOT_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02CD)
-#define ZCL_GET_SNAPSHOT_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02CE)
-#define ZCL_GET_SNAPSHOT_COMMAND_REJECTED_ATTRIBUTE_ID (0x02CF)
-#define ZCL_TAKE_SNAPSHOT_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02D0)
-#define ZCL_TAKE_SNAPSHOT_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02D1)
-#define ZCL_TAKE_SNAPSHOT_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02D2)
-#define ZCL_TAKE_SNAPSHOT_COMMAND_REJECTED_ATTRIBUTE_ID (0x02D3)
-#define ZCL_MIRROR_REPORT_ATTRIBUTE_RESPONSE_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02D4)
-#define ZCL_MIRROR_REPORT_ATTRIBUTE_RESPONSE_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02D5)
-#define ZCL_MIRROR_REPORT_ATTRIBUTE_RESPONSE_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02D6)
-#define ZCL_MIRROR_REPORT_ATTRIBUTE_RESPONSE_COMMAND_REJECTED_ATTRIBUTE_ID (0x02D7)
-#define ZCL_SCHEDULE_SNAPSHOT_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02D8)
-#define ZCL_SCHEDULE_SNAPSHOT_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02D9)
-#define ZCL_SCHEDULE_SNAPSHOT_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02DA)
-#define ZCL_SCHEDULE_SNAPSHOT_COMMAND_REJECTED_ATTRIBUTE_ID (0x02DB)
-#define ZCL_START_SAMPLING_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02DC)
-#define ZCL_START_SAMPLING_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02DD)
-#define ZCL_START_SAMPLING_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02DE)
-#define ZCL_START_SAMPLING_COMMAND_REJECTED_ATTRIBUTE_ID (0x02DF)
-#define ZCL_GET_SAMPLED_DATA_COMMAND_RECEIVED_ATTRIBUTE_ID (0x02E0)
-#define ZCL_GET_SAMPLED_DATA_COMMAND_ACTIONED_ATTRIBUTE_ID (0x02E1)
-#define ZCL_GET_SAMPLED_DATA_COMMAND_CANCELLED_ATTRIBUTE_ID (0x02E2)
-#define ZCL_GET_SAMPLED_DATA_COMMAND_REJECTED_ATTRIBUTE_ID (0x02E3)
-#define ZCL_SUPPLY_ON_ATTRIBUTE_ID (0x02E4)
-#define ZCL_SUPPLY_ARMED_ATTRIBUTE_ID (0x02E5)
-#define ZCL_SUPPLY_OFF_ATTRIBUTE_ID (0x02E6)
-#define ZCL_DISCONNECTED_DUE_TO_TAMPER_DETECTED_ATTRIBUTE_ID (0x02E7)
-#define ZCL_MANUAL_DISCONNECT_ATTRIBUTE_ID (0x02E8)
-#define ZCL_MANUAL_CONNECT_ATTRIBUTE_ID (0x02E9)
-#define ZCL_REMOTE_DISCONNECTION_ATTRIBUTE_ID (0x02EA)
-#define ZCL_REMOTE_CONNECT_ATTRIBUTE_ID (0x02EB)
-#define ZCL_LOCAL_DISCONNECTION_ATTRIBUTE_ID (0x02EC)
-#define ZCL_LOCAL_CONNECT_ATTRIBUTE_ID (0x02ED)
-#define ZCL_CHANGE_SUPPLY_RECEIVED_ATTRIBUTE_ID (0x02EE)
-#define ZCL_CHANGE_SUPPLY_ACTIONED_ATTRIBUTE_ID (0x02EF)
-#define ZCL_CHANGE_SUPPLY_CANCELLED_ATTRIBUTE_ID (0x02F0)
-#define ZCL_CHANGE_SUPPLY_REJECTED_ATTRIBUTE_ID (0x02F1)
-#define ZCL_LOCAL_CHANGE_SUPPLY_RECEIVED_ATTRIBUTE_ID (0x02F2)
-#define ZCL_LOCAL_CHANGE_SUPPLY_ACTIONED_ATTRIBUTE_ID (0x02F3)
-#define ZCL_LOCAL_CHANGE_SUPPLY_CANCELLED_ATTRIBUTE_ID (0x02F4)
-#define ZCL_LOCAL_CHANGE_SUPPLY_REJECTED_ATTRIBUTE_ID (0x02F5)
-#define ZCL_PUBLISH_UNCONTROLLED_FLOW_THRESHOLD_RECEIVED_ATTRIBUTE_ID (0x02F6)
-#define ZCL_PUBLISH_UNCONTROLLED_FLOW_THRESHOLD_ACTIONED_ATTRIBUTE_ID (0x02F7)
-#define ZCL_PUBLISH_UNCONTROLLED_FLOW_THRESHOLD_CANCELLED_ATTRIBUTE_ID (0x02F8)
-#define ZCL_PUBLISH_UNCONTROLLED_FLOW_THRESHOLD_REJECTED_ATTRIBUTE_ID (0x02F9)
-#define ZCL_MESSAGE_CONFIRMATION_SENT_ATTRIBUTE_ID (0x0300)
-#define ZCL_DISPLAY_MESSAGE_RECEIVED_ATTRIBUTE_ID (0x03C0)
-#define ZCL_DISPLAY_MESSAGE_ACTIONED_ATTRIBUTE_ID (0x03C1)
-#define ZCL_DISPLAY_MESSAGE_CANCELLED_ATTRIBUTE_ID (0x03C2)
-#define ZCL_DISPLAY_MESSAGE_REJECTED_ATTRIBUTE_ID (0x03C3)
-#define ZCL_CANCEL_MESSAGE_RECEIVED_ATTRIBUTE_ID (0x03C4)
-#define ZCL_CANCEL_MESSAGE_ACTIONED_ATTRIBUTE_ID (0x03C5)
-#define ZCL_CANCEL_MESSAGE_CANCELLED_ATTRIBUTE_ID (0x03C6)
-#define ZCL_CANCEL_MESSAGE_REJECTED_ATTRIBUTE_ID (0x03C7)
-#define ZCL_LOW_CREDIT_ATTRIBUTE_ID (0x0400)
-#define ZCL_NO_CREDIT_ATTRIBUTE_ID (0x0401)
-#define ZCL_CREDIT_EXHAUSTED_ATTRIBUTE_ID (0x0402)
-#define ZCL_EMERGENCY_CREDIT_ENABLED_ATTRIBUTE_ID (0x0403)
-#define ZCL_EMERGENCY_CREDIT_EXHAUSTED_ATTRIBUTE_ID (0x0404)
-#define ZCL_PREPAY_IHD_LOW_CREDIT_WARNING_ATTRIBUTE_ID (0x0405)
-#define ZCL_PHYSICAL_ATTACK_ON_THE_PREPAY_METER_ATTRIBUTE_ID (0x0420)
-#define ZCL_ELECTRONIC_ATTACK_ON_THE_PREPAY_METER_ATTRIBUTE_ID (0x0421)
-#define ZCL_DISCOUNT_APPLIED_ATTRIBUTE_ID (0x0422)
-#define ZCL_CREDIT_ADJUSTMENT_ATTRIBUTE_ID (0x0423)
-#define ZCL_CREDIT_ADJUST_FAIL_ATTRIBUTE_ID (0x0424)
-#define ZCL_DEBT_ADJUSTMENT_ATTRIBUTE_ID (0x0425)
-#define ZCL_DEBT_ADJUST_FAIL_ATTRIBUTE_ID (0x0426)
-#define ZCL_MODE_CHANGE_ATTRIBUTE_ID (0x0427)
-#define ZCL_TOPUP_CODE_ERROR_ATTRIBUTE_ID (0x0428)
-#define ZCL_TOPUP_ALREADY_USED_ATTRIBUTE_ID (0x0429)
-#define ZCL_TOPUP_CODE_INVALID_ATTRIBUTE_ID (0x042A)
-#define ZCL_TOPUP_ACCEPTED_VIA_REMOTE_ATTRIBUTE_ID (0x042B)
-#define ZCL_TOPUP_ACCEPTED_VIA_MANUAL_ENTRY_ATTRIBUTE_ID (0x042C)
-#define ZCL_FRIENDLY_CREDIT_IN_USE_ATTRIBUTE_ID (0x042D)
-#define ZCL_FRIENDLY_CREDIT_END_WARNING_ATTRIBUTE_ID (0x042E)
-#define ZCL_FRIENDLY_CREDIT_PERIOD_END_ATTRIBUTE_ID (0x042F)
-#define ZCL_PREPAY_ERROR_REG_CLEAR_ATTRIBUTE_ID (0x0430)
-#define ZCL_PREPAY_ALARM_REG_CLEAR_ATTRIBUTE_ID (0x0431)
-#define ZCL_PREPAY_CLUSTER_NOT_FOUND_ATTRIBUTE_ID (0x0432)
-#define ZCL_TOPUP_VALUE_TOO_LARGE_ATTRIBUTE_ID (0x0433)
-#define ZCL_MODE_CREDIT_2_PREPAY_ATTRIBUTE_ID (0x0441)
-#define ZCL_MODE_PREPAY_2_CREDIT_ATTRIBUTE_ID (0x0442)
-#define ZCL_MODE_DEFAULT_ATTRIBUTE_ID (0x0443)
-#define ZCL_SELECT_AVAILABLE_EMERGENCY_CREDIT_RECEIVED_ATTRIBUTE_ID (0x04C0)
-#define ZCL_SELECT_AVAILABLE_EMERGENCY_CREDIT_ACTIONED_ATTRIBUTE_ID (0x04C1)
-#define ZCL_SELECT_AVAILABLE_EMERGENCY_CREDIT_CANCELLED_ATTRIBUTE_ID (0x04C2)
-#define ZCL_SELECT_AVAILABLE_EMERGENCY_CREDIT_REJECTED_ATTRIBUTE_ID (0x04C3)
-#define ZCL_CHANGE_DEBT_RECEIVED_ATTRIBUTE_ID (0x04C4)
-#define ZCL_CHANGE_DEBT_ACTIONED_ATTRIBUTE_ID (0x04C5)
-#define ZCL_CHANGE_DEBT_CANCELLED_ATTRIBUTE_ID (0x04C6)
-#define ZCL_CHANGE_DEBT_REJECTED_ATTRIBUTE_ID (0x04C7)
-#define ZCL_EMERGENCY_CREDIT_SETUP_RECEIVED_ATTRIBUTE_ID (0x04C8)
-#define ZCL_EMERGENCY_CREDIT_SETUP_ACTIONED_ATTRIBUTE_ID (0x04C9)
-#define ZCL_EMERGENCY_CREDIT_SETUP_CANCELLED_ATTRIBUTE_ID (0x04CA)
-#define ZCL_EMERGENCY_CREDIT_SETUP_REJECTED_ATTRIBUTE_ID (0x04CB)
-#define ZCL_CONSUMER_TOPUP_RECEIVED_ATTRIBUTE_ID (0x04CC)
-#define ZCL_CONSUMER_TOPUP_ACTIONED_ATTRIBUTE_ID (0x04CD)
-#define ZCL_CONSUMER_TOPUP_CANCELLED_ATTRIBUTE_ID (0x04CE)
-#define ZCL_CONSUMER_TOPUP_REJECTED_ATTRIBUTE_ID (0x04CF)
-#define ZCL_CREDIT_ADJUSTMENT_RECEIVED_ATTRIBUTE_ID (0x04D0)
-#define ZCL_CREDIT_ADJUSTMENT_ACTIONED_ATTRIBUTE_ID (0x04D1)
-#define ZCL_CREDIT_ADJUSTMENT_CANCELLED_ATTRIBUTE_ID (0x04D2)
-#define ZCL_CREDIT_ADJUSTMENT_REJECTED_ATTRIBUTE_ID (0x04D3)
-#define ZCL_CHANGE_PAYMENT_MODE_RECEIVED_ATTRIBUTE_ID (0x04D4)
-#define ZCL_CHANGE_PAYMENT_MODE_ACTIONED_ATTRIBUTE_ID (0x04D5)
-#define ZCL_CHANGE_PAYMENT_MODE_CANCELLED_ATTRIBUTE_ID (0x04D6)
-#define ZCL_CHANGE_PAYMENT_MODE_REJECTED_ATTRIBUTE_ID (0x04D7)
-#define ZCL_GET_PREPAY_SNAPSHOT_RECEIVED_ATTRIBUTE_ID (0x04D8)
-#define ZCL_GET_PREPAY_SNAPSHOT_ACTIONED_ATTRIBUTE_ID (0x04D9)
-#define ZCL_GET_PREPAY_SNAPSHOT_CANCELLED_ATTRIBUTE_ID (0x04DA)
-#define ZCL_GET_PREPAY_SNAPSHOT_REJECTED_ATTRIBUTE_ID (0x04DB)
-#define ZCL_GET_TOPUP_LOG_RECEIVED_ATTRIBUTE_ID (0x04DC)
-#define ZCL_GET_TOPUP_LOG_ACTIONED_ATTRIBUTE_ID (0x04DD)
-#define ZCL_GET_TOPUP_LOG_CANCELLED_ATTRIBUTE_ID (0x04DE)
-#define ZCL_GET_TOPUP_LOG_REJECTED_ATTRIBUTE_ID (0x04DF)
-#define ZCL_SET_LOW_CREDIT_WARNING_LEVEL_RECEIVED_ATTRIBUTE_ID (0x04E0)
-#define ZCL_SET_LOW_CREDIT_WARNING_LEVEL_ACTIONED_ATTRIBUTE_ID (0x04E1)
-#define ZCL_SET_LOW_CREDIT_WARNING_LEVEL_CANCELLED_ATTRIBUTE_ID (0x04E2)
-#define ZCL_SET_LOW_CREDIT_WARNING_LEVEL_REJECTED_ATTRIBUTE_ID (0x04E3)
-#define ZCL_GET_DEBT_REPAY_LOG_RECEIVED_ATTRIBUTE_ID (0x04E4)
-#define ZCL_GET_DEBT_REPAY_LOG_ACTIONED_ATTRIBUTE_ID (0x04E5)
-#define ZCL_GET_DEBT_REPAY_LOG_CANCELLED_ATTRIBUTE_ID (0x04E6)
-#define ZCL_GET_DEBT_REPAY_LOG_REJECTED_ATTRIBUTE_ID (0x04E7)
-#define ZCL_SET_MAXIMUM_CREDIT_LIMIT_RECEIVED_ATTRIBUTE_ID (0x04E8)
-#define ZCL_SET_MAXIMUM_CREDIT_LIMIT_ACTIONED_ATTRIBUTE_ID (0x04E9)
-#define ZCL_SET_MAXIMUM_CREDIT_LIMIT_CANCELLED_ATTRIBUTE_ID (0x04EA)
-#define ZCL_SET_MAXIMUM_CREDIT_LIMIT_REJECTED_ATTRIBUTE_ID (0x04EB)
-#define ZCL_SET_OVERALL_DEBT_CAP_RECEIVED_ATTRIBUTE_ID (0x04EC)
-#define ZCL_SET_OVERALL_DEBT_CAP_ACTIONED_ATTRIBUTE_ID (0x04ED)
-#define ZCL_SET_OVERALL_DEBT_CAP_CANCELLED_ATTRIBUTE_ID (0x04EE)
-#define ZCL_SET_OVERALL_DEBT_CAP_REJECTED_ATTRIBUTE_ID (0x04EF)
-#define ZCL_CALENDAR_CLUSTER_NOT_FOUND_ATTRIBUTE_ID (0x0500)
-#define ZCL_CALENDAR_CHANGE_PASSIVE_ACTIVATED_ATTRIBUTE_ID (0x0501)
-#define ZCL_CALENDAR_CHANGE_PASSIVE_UPDATED_ATTRIBUTE_ID (0x0502)
-#define ZCL_PUBLISH_CALENDAR_RECEIVED_ATTRIBUTE_ID (0x05C0)
-#define ZCL_PUBLISH_CALENDAR_ACTIONED_ATTRIBUTE_ID (0x05C1)
-#define ZCL_PUBLISH_CALENDAR_CANCELLED_ATTRIBUTE_ID (0x05C2)
-#define ZCL_PUBLISH_CALENDAR_REJECTED_ATTRIBUTE_ID (0x05C3)
-#define ZCL_PUBLISH_DAY_PROFILE_RECEIVED_ATTRIBUTE_ID (0x05C4)
-#define ZCL_PUBLISH_DAY_PROFILE_ACTIONED_ATTRIBUTE_ID (0x05C5)
-#define ZCL_PUBLISH_DAY_PROFILE_CANCELLED_ATTRIBUTE_ID (0x05C6)
-#define ZCL_PUBLISH_DAY_PROFILE_REJECTED_ATTRIBUTE_ID (0x05C7)
-#define ZCL_PUBLISH_WEEK_PROFILE_RECEIVED_ATTRIBUTE_ID (0x05C8)
-#define ZCL_PUBLISH_WEEK_PROFILE_ACTIONED_ATTRIBUTE_ID (0x05C9)
-#define ZCL_PUBLISH_WEEK_PROFILE_CANCELLED_ATTRIBUTE_ID (0x05CA)
-#define ZCL_PUBLISH_WEEK_PROFILE_REJECTED_ATTRIBUTE_ID (0x05CB)
-#define ZCL_PUBLISH_SEASONS_RECEIVED_ATTRIBUTE_ID (0x05CC)
-#define ZCL_PUBLISH_SEASONS_ACTIONED_ATTRIBUTE_ID (0x05CD)
-#define ZCL_PUBLISH_SEASONS_CANCELLED_ATTRIBUTE_ID (0x05CE)
-#define ZCL_PUBLISH_SEASONS_REJECTED_ATTRIBUTE_ID (0x05CF)
-#define ZCL_PUBLISH_SPECIAL_DAYS_RECEIVED_ATTRIBUTE_ID (0x05D0)
-#define ZCL_PUBLISH_SPECIAL_DAYS_ACTIONED_ATTRIBUTE_ID (0x05D1)
-#define ZCL_PUBLISH_SPECIAL_DAYS_CANCELLED_ATTRIBUTE_ID (0x05D2)
-#define ZCL_PUBLISH_SPECIAL_DAYS_REJECTED_ATTRIBUTE_ID (0x05D3)
-#define ZCL_PASSWORD_1_CHANGE_ATTRIBUTE_ID (0x0600)
-#define ZCL_PASSWORD_2_CHANGE_ATTRIBUTE_ID (0x0601)
-#define ZCL_PASSWORD_3_CHANGE_ATTRIBUTE_ID (0x0602)
-#define ZCL_PASSWORD_4_CHANGE_ATTRIBUTE_ID (0x0603)
-#define ZCL_EVENT_LOG_CLEARED_ATTRIBUTE_ID (0x0604)
-#define ZCL_ZIGBEE_APS_TIMEOUT_ATTRIBUTE_ID (0x0610)
-#define ZCL_ZIGBEE_IEEE_TRANSMISSION_FAILURE_OVER_THRESHOLD_ATTRIBUTE_ID (0x0611)
-#define ZCL_ZIGBEE_IEEE_FRAME_CHECK_SEQUENCE_THRESHOLD_ATTRIBUTE_ID (0x0612)
-#define ZCL_ERROR_CERTIFICATE_ATTRIBUTE_ID (0x0613)
-#define ZCL_ERROR_SIGNATURE_ATTRIBUTE_ID (0x0614)
-#define ZCL_ERROR_PROGRAM_STORAGE_ATTRIBUTE_ID (0x0615)
-#define ZCL_PUBLISH_COT_RECEIVED_ATTRIBUTE_ID (0x06C0)
-#define ZCL_PUBLISH_COT_ACTIONED_ATTRIBUTE_ID (0x06C1)
-#define ZCL_PUBLISH_COT_CANCELLED_ATTRIBUTE_ID (0x06C2)
-#define ZCL_PUBLISH_COT_REJECTED_ATTRIBUTE_ID (0x06C3)
-#define ZCL_PUBLISH_COS_RECEIVED_ATTRIBUTE_ID (0x06C4)
-#define ZCL_PUBLISH_COS_ACTIONED_ATTRIBUTE_ID (0x06C5)
-#define ZCL_PUBLISH_COS_CANCELLED_ATTRIBUTE_ID (0x06C6)
-#define ZCL_PUBLISH_COS_REJECTED_ATTRIBUTE_ID (0x06C7)
-#define ZCL_CHANGE_PASSWORD_RECEIVED_ATTRIBUTE_ID (0x06C8)
-#define ZCL_CHANGE_PASSWORD_ACTIONED_ATTRIBUTE_ID (0x06C9)
-#define ZCL_CHANGE_PASSWORD_CANCELLED_ATTRIBUTE_ID (0x06CA)
-#define ZCL_CHANGE_PASSWORD_REJECTED_ATTRIBUTE_ID (0x06CB)
-#define ZCL_SET_EVENT_CONFIGURATION_RECEIVED_ATTRIBUTE_ID (0x06CC)
-#define ZCL_SET_EVENT_CONFIGURATION_ACTIONED_ATTRIBUTE_ID (0x06CD)
-#define ZCL_SET_EVENT_CONFIGURATION_CANCELLED_ATTRIBUTE_ID (0x06CE)
-#define ZCL_SET_EVENT_CONFIGURATION_REJECTED_ATTRIBUTE_ID (0x06CF)
-#define ZCL_UPDATE_SITE_ID_RECEIVED_ATTRIBUTE_ID (0x06D0)
-#define ZCL_UPDATE_SITE_ID_ACTIONED_ATTRIBUTE_ID (0x06D1)
-#define ZCL_UPDATE_SITE_ID_CANCELLED_ATTRIBUTE_ID (0x06D2)
-#define ZCL_UPDATE_SITE_ID_REJECTED_ATTRIBUTE_ID (0x06D3)
-#define ZCL_UPDATE_CIN_RECEIVED_ATTRIBUTE_ID (0x06D4)
-#define ZCL_UPDATE_CIN_ACTIONED_ATTRIBUTE_ID (0x06D5)
-#define ZCL_UPDATE_CIN_CANCELLED_ATTRIBUTE_ID (0x06D6)
-#define ZCL_UPDATE_CIN_REJECTED_ATTRIBUTE_ID (0x06D7)
-#define ZCL_TUNNELING_CLUSTER_NOT_FOUND_ATTRIBUTE_ID (0x0700)
-#define ZCL_UNSUPPORTED_PROTOCOL_ATTRIBUTE_ID (0x0701)
-#define ZCL_INCORRECT_PROTOCOL_ATTRIBUTE_ID (0x0702)
-#define ZCL_REQUEST_TUNNEL_COMMAND_RECEIVED_ATTRIBUTE_ID (0x07C0)
-#define ZCL_REQUEST_TUNNEL_COMMAND_REJECTED_ATTRIBUTE_ID (0x07C1)
-#define ZCL_REQUEST_TUNNEL_COMMAND_GENERATED_ATTRIBUTE_ID (0x07C2)
-#define ZCL_CLOSE_TUNNEL_COMMAND_RECEIVED_ATTRIBUTE_ID (0x07C3)
-#define ZCL_CLOSE_TUNNEL_COMMAND_REJECTED_ATTRIBUTE_ID (0x07C4)
-#define ZCL_CLOSE_TUNNEL_COMMAND_GENERATED_ATTRIBUTE_ID (0x07C5)
-#define ZCL_TRANSFER_DATA_COMMAND_RECEIVED_ATTRIBUTE_ID (0x07C6)
-#define ZCL_TRANSFER_DATA_COMMAND_REJECTED_ATTRIBUTE_ID (0x07C7)
-#define ZCL_TRANSFER_DATA_COMMAND_GENERATED_ATTRIBUTE_ID (0x07C8)
-#define ZCL_TRANSFER_DATA_ERROR_COMMAND_RECEIVED_ATTRIBUTE_ID (0x07C9)
-#define ZCL_TRANSFER_DATA_ERROR_COMMAND_REJECTED_ATTRIBUTE_ID (0x07CA)
-#define ZCL_TRANSFER_DATA_ERROR_COMMAND_GENERATED_ATTRIBUTE_ID (0x07CB)
-#define ZCL_ACK_TRANSFER_DATA_COMMAND_RECEIVED_ATTRIBUTE_ID (0x07CC)
-#define ZCL_ACK_TRANSFER_DATA_COMMAND_REJECTED_ATTRIBUTE_ID (0x07CD)
-#define ZCL_ACK_TRANSFER_DATA_COMMAND_GENERATED_ATTRIBUTE_ID (0x07CE)
-#define ZCL_READY_DATA_COMMAND_RECEIVED_ATTRIBUTE_ID (0x07CF)
-#define ZCL_READY_DATA_COMMAND_REJECTED_ATTRIBUTE_ID (0x07D0)
-#define ZCL_READY_DATA_COMMAND_GENERATED_ATTRIBUTE_ID (0x07D1)
-#define ZCL_GET_SUPPORTED_TUNNEL_PROTOCOLS_COMMAND_RECEIVED_ATTRIBUTE_ID (0x07D2)
-#define ZCL_GET_SUPPORTED_TUNNEL_PROTOCOLS_COMMAND_REJECTED_ATTRIBUTE_ID (0x07D3)
-#define ZCL_GET_SUPPORTED_TUNNEL_PROTOCOLS_COMMAND_GENERATED_ATTRIBUTE_ID (0x07D4)
-#define ZCL_FIRMWARE_READY_FOR_ACTIVATION_ATTRIBUTE_ID (0x0800)
-#define ZCL_FIRMWARE_ACTIVATED_ATTRIBUTE_ID (0x0801)
-#define ZCL_FIRMWARE_ACTIVATION_FAILURE_ATTRIBUTE_ID (0x0802)
-#define ZCL_PATCH_READY_FOR_ACTIVATION_ATTRIBUTE_ID (0x0803)
-#define ZCL_PATCH_ACTIVATED_ATTRIBUTE_ID (0x0804)
-#define ZCL_PATCH_FAILURE_ATTRIBUTE_ID (0x0805)
-#define ZCL_IMAGE_NOTIFY_COMMAND_RECEIVED_ATTRIBUTE_ID (0x08C0)
-#define ZCL_IMAGE_NOTIFY_COMMAND_REJECTED_ATTRIBUTE_ID (0x08C1)
-#define ZCL_QUERY_NEXT_IMAGE_REQUEST_GENERATED_ATTRIBUTE_ID (0x08C2)
-#define ZCL_QUERY_NEXT_IMAGE_RESPONSE_RECEIVED_ATTRIBUTE_ID (0x08C3)
-#define ZCL_QUERY_NEXT_IMAGE_RESPONSE_REJECTED_ATTRIBUTE_ID (0x08C4)
-#define ZCL_IMAGE_BLOCK_REQUEST_GENERATED_ATTRIBUTE_ID (0x08C5)
-#define ZCL_IMAGE_PAGE_REQUEST_GENERATED_ATTRIBUTE_ID (0x08C6)
-#define ZCL_IMAGE_BLOCK_RESPONSE_RECEIVED_ATTRIBUTE_ID (0x08C7)
-#define ZCL_IMAGE_BLOCK_RESPONSE_REJECTED_ATTRIBUTE_ID (0x08C8)
-#define ZCL_UPGRADE_END_REQUEST_GENERATED_ATTRIBUTE_ID (0x08C9)
-#define ZCL_UPGRADE_END_RESPONSE_RECEIVED_ATTRIBUTE_ID (0x08CA)
-#define ZCL_UPGRADE_END_RESPONSE_REJECTED_ATTRIBUTE_ID (0x08CB)
-#define ZCL_QUERY_SPECIFIC_FILE_REQUEST_GENERATED_ATTRIBUTE_ID (0x08CC)
-#define ZCL_QUERY_SPECIFIC_FILE_RESPONSE_RECEIVED_ATTRIBUTE_ID (0x08CD)
-#define ZCL_QUERY_SPECIFIC_FILE_RESPONSE_REJECTED_ATTRIBUTE_ID (0x08CE)
-
-// Server attributes
-#define ZCL_PROVIDER_ID_SERVER_ATTRIBUTE_ID (0x0100)
-#define ZCL_PROVIDER_NAME_ATTRIBUTE_ID (0x0101)
-#define ZCL_PROVIDER_CONTACT_DETAILS_ATTRIBUTE_ID (0x0102)
-#define ZCL_PROPOSED_PROVIDER_ID_ATTRIBUTE_ID (0x0110)
-#define ZCL_PROPOSED_PROVIDER_NAME_ATTRIBUTE_ID (0x0111)
-#define ZCL_PROPOSED_PROVIDER_CHANGE_DATE_TIME_ATTRIBUTE_ID (0x0112)
-#define ZCL_PROPOSED_PROVIDER_CHANGE_CONTROL_ATTRIBUTE_ID (0x0113)
-#define ZCL_RECEIVED_PROVIDER_ID_SERVER_ATTRIBUTE_ID (0x0120)
-#define ZCL_RECEIVED_PROVIDER_NAME_ATTRIBUTE_ID (0x0121)
-#define ZCL_RECEIVED_PROVIDER_CONTACT_DETAILS_ATTRIBUTE_ID (0x0122)
-#define ZCL_RECEIVED_PROPOSED_PROVIDER_ID_ATTRIBUTE_ID (0x0130)
-#define ZCL_RECEIVED_PROPOSED_PROVIDER_NAME_ATTRIBUTE_ID (0x0131)
-#define ZCL_RECEIVED_PROPOSED_PROVIDER_CHANGE_DATE_TIME_ATTRIBUTE_ID (0x0132)
-#define ZCL_RECEIVED_PROPOSED_PROVIDER_CHANGE_CONTROL_ATTRIBUTE_ID (0x0133)
-#define ZCL_CHANGE_OF_TENANCY_UPDATE_DATE_TIME_ATTRIBUTE_ID (0x0200)
-#define ZCL_PROPOSED_TENANCY_CHANGE_CONTROL_ATTRIBUTE_ID (0x0201)
-#define ZCL_WAN_STATUS_ATTRIBUTE_ID (0x0300)
-#define ZCL_LOW_MEDIUM_THRESHOLD_ATTRIBUTE_ID (0x0400)
-#define ZCL_MEDIUM_HIGH_THRESHOLD_ATTRIBUTE_ID (0x0401)
-
-// Attribute ids for cluster: Events
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: MDU Pairing
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Sub-GHz
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SUB_GHZ_CLUSTER_CHANNEL_CHANGE_ATTRIBUTE_ID (0x0000)
-#define ZCL_SUB_GHZ_CLUSTER_PAGE_28_CHANNEL_MASK_ATTRIBUTE_ID (0x0001)
-#define ZCL_SUB_GHZ_CLUSTER_PAGE_29_CHANNEL_MASK_ATTRIBUTE_ID (0x0002)
-#define ZCL_SUB_GHZ_CLUSTER_PAGE_30_CHANNEL_MASK_ATTRIBUTE_ID (0x0003)
-#define ZCL_SUB_GHZ_CLUSTER_PAGE_31_CHANNEL_MASK_ATTRIBUTE_ID (0x0004)
-
-// Attribute ids for cluster: Key Establishment
-
-// Client attributes
-#define ZCL_KEY_ESTABLISHMENT_SUITE_CLIENT_ATTRIBUTE_ID (0x0000)
-
-// Server attributes
-#define ZCL_KEY_ESTABLISHMENT_SUITE_SERVER_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: Information
-
-// Client attributes
-
-// Server attributes
-#define ZCL_NODE_DESCRIPTION_ATTRIBUTE_ID (0x0000)
-#define ZCL_DELIVERY_ENABLE_ATTRIBUTE_ID (0x0001)
-#define ZCL_PUSH_INFORMATION_TIMER_ATTRIBUTE_ID (0x0002)
-#define ZCL_ENABLE_SECURE_CONFIGURATION_ATTRIBUTE_ID (0x0003)
-#define ZCL_NUMBER_OF_CONTENTS_ATTRIBUTE_ID (0x0010)
-#define ZCL_CONTENT_ROOT_ID_ATTRIBUTE_ID (0x0011)
-
-// Attribute ids for cluster: Data Sharing
-
-// Client attributes
-
-// Server attributes
-#define ZCL_DEVICE_NAME_ATTRIBUTE_ID (0x0000)
-#define ZCL_DEVICE_DESCRIPTION_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Gaming
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PLAYER_NAME_ATTRIBUTE_ID (0x0000)
-#define ZCL_NB_OF_GAMES_ATTRIBUTE_ID (0x0001)
-#define ZCL_LIST_OF_GAMES_ATTRIBUTE_ID (0x0002)
-#define ZCL_ANNOUNCEMENT_INTERVAL_ATTRIBUTE_ID (0x0003)
-#define ZCL_GAME_ID_ATTRIBUTE_ID (0x0010)
-#define ZCL_NAME_OF_GAME_ATTRIBUTE_ID (0x0011)
-#define ZCL_GAME_MASTER_ATTRIBUTE_ID (0x0012)
-#define ZCL_GAMING_STATUS_ATTRIBUTE_ID (0x0013)
-#define ZCL_CURRENT_NB_OF_PLAYERS_ATTRIBUTE_ID (0x0014)
-#define ZCL_LIST_OF_CURRENT_PLAYERS_ATTRIBUTE_ID (0x0015)
-#define ZCL_MAX_NB_OF_PLAYERS_ATTRIBUTE_ID (0x0016)
-#define ZCL_MIN_NB_OF_PLAYERS_ATTRIBUTE_ID (0x0017)
-#define ZCL_CURRENT_GAME_LEVEL_ATTRIBUTE_ID (0x0018)
-#define ZCL_SCORE_OF_THIS_PLAYER_ATTRIBUTE_ID (0x0019)
-#define ZCL_TIMER1_ATTRIBUTE_ID (0x001A)
-#define ZCL_TIMER2_ATTRIBUTE_ID (0x001B)
-#define ZCL_TIMER3_ATTRIBUTE_ID (0x001C)
-#define ZCL_COUNTER1_ATTRIBUTE_ID (0x001D)
-#define ZCL_COUNTER2_ATTRIBUTE_ID (0x001E)
-#define ZCL_DOWNLOADABLE_ATTRIBUTE_ID (0x001F)
-
-// Attribute ids for cluster: Data Rate Control
-
-// Client attributes
-
-// Server attributes
-#define ZCL_AVERAGE_LATENCY_REQUIREMENT_ATTRIBUTE_ID (0x0000)
-#define ZCL_MAX_LATENCY_REQUIREMENT_ATTRIBUTE_ID (0x0001)
-#define ZCL_BANDWIDTH_REQUIREMENT_ATTRIBUTE_ID (0x0002)
-
-// Attribute ids for cluster: Voice over ZigBee
-
-// Client attributes
-
-// Server attributes
-#define ZCL_CODEC_TYPE_ATTRIBUTE_ID (0x0000)
-#define ZCL_SAMPLING_FREQUENCY_ATTRIBUTE_ID (0x0001)
-#define ZCL_CODEC_RATE_ATTRIBUTE_ID (0x0002)
-#define ZCL_ESTABLISHMENT_TIMEOUT_ATTRIBUTE_ID (0x0003)
-#define ZCL_CODEC_TYPE_SUB1_ATTRIBUTE_ID (0x0004)
-#define ZCL_CODEC_TYPE_SUB2_ATTRIBUTE_ID (0x0005)
-#define ZCL_CODEC_TYPE_SUB3_ATTRIBUTE_ID (0x0006)
-#define ZCL_COMPRESSION_TYPE_ATTRIBUTE_ID (0x0007)
-#define ZCL_COMPRESSION_RATE_ATTRIBUTE_ID (0x0008)
-#define ZCL_OPTION_FLAGS_ATTRIBUTE_ID (0x0009)
-#define ZCL_THRESHOLD_ATTRIBUTE_ID (0x000A)
-
-// Attribute ids for cluster: Chatting
-
-// Client attributes
-
-// Server attributes
-#define ZCL_U_ID_ATTRIBUTE_ID (0x0000)
-#define ZCL_NICKNAME_ATTRIBUTE_ID (0x0001)
-#define ZCL_C_ID_ATTRIBUTE_ID (0x0010)
-#define ZCL_NAME_ATTRIBUTE_ID (0x0011)
-#define ZCL_ENABLE_ADD_CHAT_ATTRIBUTE_ID (0x0020)
-
-// Attribute ids for cluster: Payment
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PAYMENT_USER_ID_ATTRIBUTE_ID (0x0000)
-#define ZCL_USER_TYPE_ATTRIBUTE_ID (0x0001)
-#define ZCL_PAYMENT_SERVICE_ID_ATTRIBUTE_ID (0x0010)
-#define ZCL_PAYMENT_SERVICE_PROVIDER_ID_ATTRIBUTE_ID (0x0011)
-#define ZCL_TOTEM_ID_ATTRIBUTE_ID (0x0012)
-#define ZCL_CURRENCY_ATTRIBUTE_ID (0x0020)
-#define ZCL_PRICE_TRAILING_DIGIT_ATTRIBUTE_ID (0x0021)
-#define ZCL_PRICE_ATTRIBUTE_ID (0x0022)
-#define ZCL_GOOD_ID_ATTRIBUTE_ID (0x0030)
-#define ZCL_PAYMENT_SERIAL_NUMBER_ATTRIBUTE_ID (0x0031)
-#define ZCL_PAYMENT_TIMESTAMP_ATTRIBUTE_ID (0x0032)
-#define ZCL_TRANS_ID_ATTRIBUTE_ID (0x0033)
-#define ZCL_TRANS_STATUS_ATTRIBUTE_ID (0x0034)
-#define ZCL_PAYMENT_STATUS_ATTRIBUTE_ID (0x0035)
-
-// Attribute ids for cluster: Billing
-
-// Client attributes
-
-// Server attributes
-#define ZCL_USER_ID_ATTRIBUTE_ID (0x0000)
-#define ZCL_SERVICE_ID_ATTRIBUTE_ID (0x0010)
-#define ZCL_SERVICE_PROVIDER_ID_ATTRIBUTE_ID (0x0011)
-#define ZCL_SESSION_INTERVAL_ATTRIBUTE_ID (0x0012)
-#define ZCL_TIMESTAMP_ATTRIBUTE_ID (0x0020)
-#define ZCL_DURATION_ATTRIBUTE_ID (0x0021)
-
-// Attribute ids for cluster: Appliance Identification
-
-// Client attributes
-
-// Server attributes
-#define ZCL_BASIC_IDENTIFICATION_ATTRIBUTE_ID (0x0000)
-#define ZCL_APPLIANCE_COMPANY_NAME_ATTRIBUTE_ID (0x0010)
-#define ZCL_COMPANY_ID_ATTRIBUTE_ID (0x0011)
-#define ZCL_BRAND_NAME_ATTRIBUTE_ID (0x0012)
-#define ZCL_BRAND_ID_ATTRIBUTE_ID (0x0013)
-#define ZCL_APPLIANCE_MODEL_ATTRIBUTE_ID (0x0014)
-#define ZCL_APPLIANCE_PART_NUMBER_ATTRIBUTE_ID (0x0015)
-#define ZCL_APPLIANCE_PRODUCT_REVISION_ATTRIBUTE_ID (0x0016)
-#define ZCL_APPLIANCE_SOFTWARE_REVISION_ATTRIBUTE_ID (0x0017)
-#define ZCL_PRODUCT_TYPE_NAME_ATTRIBUTE_ID (0x0018)
-#define ZCL_PRODUCT_TYPE_ID_ATTRIBUTE_ID (0x0019)
-#define ZCL_CECED_SPECIFICATION_VERSION_ATTRIBUTE_ID (0x001A)
-
-// Attribute ids for cluster: Meter Identification
-
-// Client attributes
-
-// Server attributes
-#define ZCL_METER_COMPANY_NAME_ATTRIBUTE_ID (0x0000)
-#define ZCL_METER_TYPE_ID_ATTRIBUTE_ID (0x0001)
-#define ZCL_DATA_QUALITY_ID_ATTRIBUTE_ID (0x0004)
-#define ZCL_CUSTOMER_NAME_ATTRIBUTE_ID (0x0005)
-#define ZCL_METER_MODEL_ATTRIBUTE_ID (0x0006)
-#define ZCL_METER_PART_NUMBER_ATTRIBUTE_ID (0x0007)
-#define ZCL_METER_PRODUCT_REVISION_ATTRIBUTE_ID (0x0008)
-#define ZCL_METER_SOFTWARE_REVISION_ATTRIBUTE_ID (0x000A)
-#define ZCL_UTILITY_NAME_ATTRIBUTE_ID (0x000B)
-#define ZCL_POD_ATTRIBUTE_ID (0x000C)
-#define ZCL_AVAILABLE_POWER_ATTRIBUTE_ID (0x000D)
-#define ZCL_POWER_THRESHOLD_ATTRIBUTE_ID (0x000E)
-
-// Attribute ids for cluster: Appliance Events and Alert
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Appliance Statistics
-
-// Client attributes
-
-// Server attributes
-#define ZCL_LOG_MAX_SIZE_ATTRIBUTE_ID (0x0000)
-#define ZCL_LOG_QUEUE_MAX_SIZE_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Electrical Measurement
-
-// Client attributes
-
-// Server attributes
-#define ZCL_MEASUREMENT_TYPE_ATTRIBUTE_ID (0x0000)
-#define ZCL_DC_VOLTAGE_ATTRIBUTE_ID (0x0100)
-#define ZCL_DC_VOLTAGE_MIN_ATTRIBUTE_ID (0x0101)
-#define ZCL_DC_VOLTAGE_MAX_ATTRIBUTE_ID (0x0102)
-#define ZCL_DC_CURRENT_ATTRIBUTE_ID (0x0103)
-#define ZCL_DC_CURRENT_MIN_ATTRIBUTE_ID (0x0104)
-#define ZCL_DC_CURRENT_MAX_ATTRIBUTE_ID (0x0105)
-#define ZCL_DC_POWER_ATTRIBUTE_ID (0x0106)
-#define ZCL_DC_POWER_MIN_ATTRIBUTE_ID (0x0107)
-#define ZCL_DC_POWER_MAX_ATTRIBUTE_ID (0x0108)
-#define ZCL_DC_VOLTAGE_MULTIPLIER_ATTRIBUTE_ID (0x0200)
-#define ZCL_DC_VOLTAGE_DIVISOR_ATTRIBUTE_ID (0x0201)
-#define ZCL_DC_CURRENT_MULTIPLIER_ATTRIBUTE_ID (0x0202)
-#define ZCL_DC_CURRENT_DIVISOR_ATTRIBUTE_ID (0x0203)
-#define ZCL_DC_POWER_MULTIPLIER_ATTRIBUTE_ID (0x0204)
-#define ZCL_DC_POWER_DIVISOR_ATTRIBUTE_ID (0x0205)
-#define ZCL_AC_FREQUENCY_ATTRIBUTE_ID (0x0300)
-#define ZCL_AC_FREQUENCY_MIN_ATTRIBUTE_ID (0x0301)
-#define ZCL_AC_FREQUENCY_MAX_ATTRIBUTE_ID (0x0302)
-#define ZCL_NEUTRAL_CURRENT_ATTRIBUTE_ID (0x0303)
-#define ZCL_TOTAL_ACTIVE_POWER_ATTRIBUTE_ID (0x0304)
-#define ZCL_TOTAL_REACTIVE_POWER_ATTRIBUTE_ID (0x0305)
-#define ZCL_TOTAL_APPARENT_POWER_ATTRIBUTE_ID (0x0306)
-#define ZCL_MEASURED_1_ST_HARMONIC_CURRENT_ATTRIBUTE_ID (0x0307)
-#define ZCL_MEASURED_3_RD_HARMONIC_CURRENT_ATTRIBUTE_ID (0x0308)
-#define ZCL_MEASURED_5_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x0309)
-#define ZCL_MEASURED_7_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x030A)
-#define ZCL_MEASURED_9_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x030B)
-#define ZCL_MEASURED_11_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x030C)
-#define ZCL_MEASURED_PHASE_1_ST_HARMONIC_CURRENT_ATTRIBUTE_ID (0x030D)
-#define ZCL_MEASURED_PHASE_3_RD_HARMONIC_CURRENT_ATTRIBUTE_ID (0x030E)
-#define ZCL_MEASURED_PHASE_5_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x030F)
-#define ZCL_MEASURED_PHASE_7_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x0310)
-#define ZCL_MEASURED_PHASE_9_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x0311)
-#define ZCL_MEASURED_PHASE_11_TH_HARMONIC_CURRENT_ATTRIBUTE_ID (0x0312)
-#define ZCL_AC_FREQUENCY_MULTIPLIER_ATTRIBUTE_ID (0x0400)
-#define ZCL_AC_FREQUENCY_DIVISOR_ATTRIBUTE_ID (0x0401)
-#define ZCL_POWER_MULTIPLIER_ATTRIBUTE_ID (0x0402)
-#define ZCL_POWER_DIVISOR_ATTRIBUTE_ID (0x0403)
-#define ZCL_HARMONIC_CURRENT_MULTIPLIER_ATTRIBUTE_ID (0x0404)
-#define ZCL_PHASE_HARMONIC_CURRENT_MULTIPLIER_ATTRIBUTE_ID (0x0405)
-#define ZCL_INSTANTANEOUS_VOLTAGE_ATTRIBUTE_ID (0x0500)
-#define ZCL_INSTANTANEOUS_LINE_CURRENT_ATTRIBUTE_ID (0x0501)
-#define ZCL_INSTANTANEOUS_ACTIVE_CURRENT_ATTRIBUTE_ID (0x0502)
-#define ZCL_INSTANTANEOUS_REACTIVE_CURRENT_ATTRIBUTE_ID (0x0503)
-#define ZCL_INSTANTANEOUS_POWER_ATTRIBUTE_ID (0x0504)
-#define ZCL_RMS_VOLTAGE_ATTRIBUTE_ID (0x0505)
-#define ZCL_RMS_VOLTAGE_MIN_ATTRIBUTE_ID (0x0506)
-#define ZCL_RMS_VOLTAGE_MAX_ATTRIBUTE_ID (0x0507)
-#define ZCL_RMS_CURRENT_ATTRIBUTE_ID (0x0508)
-#define ZCL_RMS_CURRENT_MIN_ATTRIBUTE_ID (0x0509)
-#define ZCL_RMS_CURRENT_MAX_ATTRIBUTE_ID (0x050A)
-#define ZCL_ACTIVE_POWER_ATTRIBUTE_ID (0x050B)
-#define ZCL_ACTIVE_POWER_MIN_ATTRIBUTE_ID (0x050C)
-#define ZCL_ACTIVE_POWER_MAX_ATTRIBUTE_ID (0x050D)
-#define ZCL_REACTIVE_POWER_ATTRIBUTE_ID (0x050E)
-#define ZCL_APPARENT_POWER_ATTRIBUTE_ID (0x050F)
-#define ZCL_AC_POWER_FACTOR_ATTRIBUTE_ID (0x0510)
-#define ZCL_AVERAGE_RMS_VOLTAGE_MEASUREMENT_PERIOD_ATTRIBUTE_ID (0x0511)
-#define ZCL_AVERAGE_RMS_UNDER_VOLTAGE_COUNTER_ATTRIBUTE_ID (0x0513)
-#define ZCL_RMS_EXTREME_OVER_VOLTAGE_PERIOD_ATTRIBUTE_ID (0x0514)
-#define ZCL_RMS_EXTREME_UNDER_VOLTAGE_PERIOD_ATTRIBUTE_ID (0x0515)
-#define ZCL_RMS_VOLTAGE_SAG_PERIOD_ATTRIBUTE_ID (0x0516)
-#define ZCL_RMS_VOLTAGE_SWELL_PERIOD_ATTRIBUTE_ID (0x0517)
-#define ZCL_AC_VOLTAGE_MULTIPLIER_ATTRIBUTE_ID (0x0600)
-#define ZCL_AC_VOLTAGE_DIVISOR_ATTRIBUTE_ID (0x0601)
-#define ZCL_AC_CURRENT_MULTIPLIER_ATTRIBUTE_ID (0x0602)
-#define ZCL_AC_CURRENT_DIVISOR_ATTRIBUTE_ID (0x0603)
-#define ZCL_AC_POWER_MULTIPLIER_ATTRIBUTE_ID (0x0604)
-#define ZCL_AC_POWER_DIVISOR_ATTRIBUTE_ID (0x0605)
-#define ZCL_DC_OVERLOAD_ALARMS_MASK_ATTRIBUTE_ID (0x0700)
-#define ZCL_DC_VOLTAGE_OVERLOAD_ATTRIBUTE_ID (0x0701)
-#define ZCL_DC_CURRENT_OVERLOAD_ATTRIBUTE_ID (0x0702)
-#define ZCL_AC_OVERLOAD_ALARMS_MASK_ATTRIBUTE_ID (0x0800)
-#define ZCL_AC_VOLTAGE_OVERLOAD_ATTRIBUTE_ID (0x0801)
-#define ZCL_AC_CURRENT_OVERLOAD_ATTRIBUTE_ID (0x0802)
-#define ZCL_AC_POWER_OVERLOAD_ATTRIBUTE_ID (0x0803)
-#define ZCL_AC_REACTIVE_POWER_OVERLOAD_ATTRIBUTE_ID (0x0804)
-#define ZCL_AVERAGE_RMS_OVER_VOLTAGE_ATTRIBUTE_ID (0x0805)
-#define ZCL_AVERAGE_RMS_UNDER_VOLTAGE_ATTRIBUTE_ID (0x0806)
-#define ZCL_RMS_EXTREME_OVER_VOLTAGE_ATTRIBUTE_ID (0x0807)
-#define ZCL_RMS_EXTREME_UNDER_VOLTAGE_ATTRIBUTE_ID (0x0808)
-#define ZCL_RMS_VOLTAGE_SAG_ATTRIBUTE_ID (0x0809)
-#define ZCL_RMS_VOLTAGE_SWELL_ATTRIBUTE_ID (0x080A)
-#define ZCL_LINE_CURRENT_PHASE_B_ATTRIBUTE_ID (0x0901)
-#define ZCL_ACTIVE_CURRENT_PHASE_B_ATTRIBUTE_ID (0x0902)
-#define ZCL_REACTIVE_CURRENT_PHASE_B_ATTRIBUTE_ID (0x0903)
-#define ZCL_RMS_VOLTAGE_PHASE_B_ATTRIBUTE_ID (0x0905)
-#define ZCL_RMS_VOLTAGE_MIN_PHASE_B_ATTRIBUTE_ID (0x0906)
-#define ZCL_RMS_VOLTAGE_MAX_PHASE_B_ATTRIBUTE_ID (0x0907)
-#define ZCL_RMS_CURRENT_PHASE_B_ATTRIBUTE_ID (0x0908)
-#define ZCL_RMS_CURRENT_MIN_PHASE_B_ATTRIBUTE_ID (0x0909)
-#define ZCL_RMS_CURRENT_MAX_PHASE_B_ATTRIBUTE_ID (0x090A)
-#define ZCL_ACTIVE_POWER_PHASE_B_ATTRIBUTE_ID (0x090B)
-#define ZCL_ACTIVE_POWER_MIN_PHASE_B_ATTRIBUTE_ID (0x090C)
-#define ZCL_ACTIVE_POWER_MAX_PHASE_B_ATTRIBUTE_ID (0x090D)
-#define ZCL_REACTIVE_POWER_PHASE_B_ATTRIBUTE_ID (0x090E)
-#define ZCL_APPARENT_POWER_PHASE_B_ATTRIBUTE_ID (0x090F)
-#define ZCL_POWER_FACTOR_PHASE_B_ATTRIBUTE_ID (0x0910)
-#define ZCL_AVERAGE_RMS_VOLTAGE_MEASUREMENT_PERIOD_PHASE_B_ATTRIBUTE_ID (0x0911)
-#define ZCL_AVERAGE_RMS_OVER_VOLTAGE_COUNTER_PHASE_B_ATTRIBUTE_ID (0x0912)
-#define ZCL_AVERAGE_RMS_UNDER_VOLTAGE_COUNTER_PHASE_B_ATTRIBUTE_ID (0x0913)
-#define ZCL_RMS_EXTREME_OVER_VOLTAGE_PERIOD_PHASE_B_ATTRIBUTE_ID (0x0914)
-#define ZCL_RMS_EXTREME_UNDER_VOLTAGE_PERIOD_PHASE_B_ATTRIBUTE_ID (0x0915)
-#define ZCL_RMS_VOLTAGE_SAG_PERIOD_PHASE_B_ATTRIBUTE_ID (0x0916)
-#define ZCL_RMS_VOLTAGE_SWELL_PERIOD_PHASE_B_ATTRIBUTE_ID (0x0917)
-#define ZCL_LINE_CURRENT_PHASE_C_ATTRIBUTE_ID (0x0A01)
-#define ZCL_ACTIVE_CURRENT_PHASE_C_ATTRIBUTE_ID (0x0A02)
-#define ZCL_REACTIVE_CURRENT_PHASE_C_ATTRIBUTE_ID (0x0A03)
-#define ZCL_RMS_VOLTAGE_PHASE_C_ATTRIBUTE_ID (0x0A05)
-#define ZCL_RMS_VOLTAGE_MIN_PHASE_C_ATTRIBUTE_ID (0x0A06)
-#define ZCL_RMS_VOLTAGE_MAX_PHASE_C_ATTRIBUTE_ID (0x0A07)
-#define ZCL_RMS_CURRENT_PHASE_C_ATTRIBUTE_ID (0x0A08)
-#define ZCL_RMS_CURRENT_MIN_PHASE_C_ATTRIBUTE_ID (0x0A09)
-#define ZCL_RMS_CURRENT_MAX_PHASE_C_ATTRIBUTE_ID (0x0A0A)
-#define ZCL_ACTIVE_POWER_PHASE_C_ATTRIBUTE_ID (0x0A0B)
-#define ZCL_ACTIVE_POWER_MIN_PHASE_C_ATTRIBUTE_ID (0x0A0C)
-#define ZCL_ACTIVE_POWER_MAX_PHASE_C_ATTRIBUTE_ID (0x0A0D)
-#define ZCL_REACTIVE_POWER_PHASE_C_ATTRIBUTE_ID (0x0A0E)
-#define ZCL_APPARENT_POWER_PHASE_C_ATTRIBUTE_ID (0x0A0F)
-#define ZCL_POWER_FACTOR_PHASE_C_ATTRIBUTE_ID (0x0A10)
-#define ZCL_AVERAGE_RMS_VOLTAGE_MEASUREMENT_PERIOD_PHASE_C_ATTRIBUTE_ID (0x0A11)
-#define ZCL_AVERAGE_RMS_OVER_VOLTAGE_COUNTER_PHASE_C_ATTRIBUTE_ID (0x0A12)
-#define ZCL_AVERAGE_RMS_UNDER_VOLTAGE_COUNTER_PHASE_C_ATTRIBUTE_ID (0x0A13)
-#define ZCL_RMS_EXTREME_OVER_VOLTAGE_PERIOD_PHASE_C_ATTRIBUTE_ID (0x0A14)
-#define ZCL_RMS_EXTREME_UNDER_VOLTAGE_PERIOD_PHASE_C_ATTRIBUTE_ID (0x0A15)
-#define ZCL_RMS_VOLTAGE_SAG_PERIOD_PHASE_C_ATTRIBUTE_ID (0x0A16)
-#define ZCL_RMS_VOLTAGE_SWELL_PERIOD_PHASE_C_ATTRIBUTE_ID (0x0A17)
-
-// Attribute ids for cluster: Diagnostics
-
-// Client attributes
-
-// Server attributes
-#define ZCL_NUMBER_OF_RESETS_ATTRIBUTE_ID (0x0000)
-#define ZCL_PERSISTENT_MEMORY_WRITES_ATTRIBUTE_ID (0x0001)
-#define ZCL_MAC_RX_BCAST_ATTRIBUTE_ID (0x0100)
-#define ZCL_MAC_TX_BCAST_ATTRIBUTE_ID (0x0101)
-#define ZCL_MAC_RX_UCAST_ATTRIBUTE_ID (0x0102)
-#define ZCL_MAC_TX_UCAST_ATTRIBUTE_ID (0x0103)
-#define ZCL_MAC_TX_UCAST_RETRY_ATTRIBUTE_ID (0x0104)
-#define ZCL_MAC_TX_UCAST_FAIL_ATTRIBUTE_ID (0x0105)
-#define ZCL_APS_RX_BCAST_ATTRIBUTE_ID (0x0106)
-#define ZCL_APS_TX_BCAST_ATTRIBUTE_ID (0x0107)
-#define ZCL_APS_RX_UCAST_ATTRIBUTE_ID (0x0108)
-#define ZCL_APS_UCAST_SUCCESS_ATTRIBUTE_ID (0x0109)
-#define ZCL_APS_TX_UCAST_RETRY_ATTRIBUTE_ID (0x010A)
-#define ZCL_APS_TX_UCAST_FAIL_ATTRIBUTE_ID (0x010B)
-#define ZCL_ROUTE_DISC_INITIATED_ATTRIBUTE_ID (0x010C)
-#define ZCL_NEIGHBOR_ADDED_ATTRIBUTE_ID (0x010D)
-#define ZCL_NEIGHBOR_REMOVED_ATTRIBUTE_ID (0x010E)
-#define ZCL_NEIGHBOR_STALE_ATTRIBUTE_ID (0x010F)
-#define ZCL_JOIN_INDICATION_ATTRIBUTE_ID (0x0110)
-#define ZCL_CHILD_MOVED_ATTRIBUTE_ID (0x0111)
-#define ZCL_NWK_FC_FAILURE_ATTRIBUTE_ID (0x0112)
-#define ZCL_APS_FC_FAILURE_ATTRIBUTE_ID (0x0113)
-#define ZCL_APS_UNAUTHORIZED_KEY_ATTRIBUTE_ID (0x0114)
-#define ZCL_NWK_DECRYPT_FAILURE_ATTRIBUTE_ID (0x0115)
-#define ZCL_APS_DECRYPT_FAILURE_ATTRIBUTE_ID (0x0116)
-#define ZCL_PACKET_BUFFER_ALLOC_FAILURES_ATTRIBUTE_ID (0x0117)
-#define ZCL_RELAYED_UNICAST_ATTRIBUTE_ID (0x0118)
-#define ZCL_PHY_TO_MAC_QUEUE_LIMIT_REACHED_ATTRIBUTE_ID (0x0119)
-#define ZCL_PACKET_VALIDATE_DROP_COUNT_ATTRIBUTE_ID (0x011A)
-#define ZCL_AVERAGE_MAC_RETRY_PER_APS_MSG_SENT_ATTRIBUTE_ID (0x011B)
-#define ZCL_LAST_MESSAGE_LQI_ATTRIBUTE_ID (0x011C)
-#define ZCL_LAST_MESSAGE_RSSI_ATTRIBUTE_ID (0x011D)
-
-// Attribute ids for cluster: ZLL Commissioning
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Binding
-
-// Client attributes
-
-// Server attributes
-
-// Attribute ids for cluster: Group Key Management
-
-// Client attributes
-
-// Server attributes
-#define ZCL_GROUPS_ATTRIBUTE_ID (0x0000)
-#define ZCL_GROUPKEYS_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Sample Mfg Specific Cluster
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ATTRIBUTE_ONE_ATTRIBUTE_ID (0x0000)
-#define ZCL_ATTRIBUTE_TWO_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Sample Mfg Specific Cluster 2
-
-// Client attributes
-
-// Server attributes
-#define ZCL_ATTRIBUTE_THREE_ATTRIBUTE_ID (0x0000)
-#define ZCL_ATTRIBUTE_FOUR_ATTRIBUTE_ID (0x0001)
-
-// Attribute ids for cluster: Configuration Cluster
-
-// Client attributes
-
-// Server attributes
-#define ZCL_TOKENS_LOCKED_ATTRIBUTE_ID (0x0000)
-
-// Attribute ids for cluster: MFGLIB Cluster
-
-// Client attributes
-
-// Server attributes
-#define ZCL_PACKETS_RECEIVED_ATTRIBUTE_ID (0x0000)
-#define ZCL_SAVED_RSSI_ATTRIBUTE_ID (0x0001)
-#define ZCL_SAVED_LQI_ATTRIBUTE_ID (0x0002)
-
-// Attribute ids for cluster: SL Works With All Hubs
-
-// Client attributes
-
-// Server attributes
-#define ZCL_SL_DISABLE_OTA_DOWNGRADES_ATTRIBUTE_ID (0x0002)
-#define ZCL_SL_MGMT_LEAVE_WITHOUT_REJOIN_ENABLED_ATTRIBUTE_ID (0x0003)
-#define ZCL_SL_NWK_RETRY_COUNT_ATTRIBUTE_ID (0x0004)
-#define ZCL_SL_MAC_RETRY_COUNT_ATTRIBUTE_ID (0x0005)
-#define ZCL_SL_ROUTER_CHECKIN_ENABLED_ATTRIBUTE_ID (0x0006)
-#define ZCL_SL_TOUCHLINK_INTERPAN_ENABLED_ATTRIBUTE_ID (0x0007)
-#define ZCL_SL_WWAH_PARENT_CLASSIFICATION_ENABLED_ATTRIBUTE_ID (0x0008)
-#define ZCL_SL_WWAH_APP_EVENT_RETRY_ENABLED_ATTRIBUTE_ID (0x0009)
-#define ZCL_SL_WWAH_APP_EVENT_RETRY_QUEUE_SIZE_ATTRIBUTE_ID (0x000A)
-#define ZCL_SL_WWAH_REJOIN_ENABLED_ATTRIBUTE_ID (0x000B)
-#define ZCL_SL_MAC_POLL_FAILURE_WAIT_TIME_ATTRIBUTE_ID (0x000C)
-#define ZCL_SL_CONFIGURATION_MODE_ENABLED_ATTRIBUTE_ID (0x000D)
-#define ZCL_SL_CURRENT_DEBUG_REPORT_ID_ATTRIBUTE_ID (0x000E)
-#define ZCL_SL_TC_SECURITY_ON_NTWK_KEY_ROTATION_ENABLED_ATTRIBUTE_ID (0x000F)
-#define ZCL_SL_WWAH_BAD_PARENT_RECOVERY_ENABLED_ATTRIBUTE_ID (0x0010)
-#define ZCL_SL_PENDING_NETWORK_UPDATE_CHANNEL_ATTRIBUTE_ID (0x0011)
-#define ZCL_SL_PENDING_NETWORK_UPDATE_PANID_ATTRIBUTE_ID (0x0012)
-#define ZCL_SL_OTA_MAX_OFFLINE_DURATION_ATTRIBUTE_ID (0x0013)
diff --git a/examples/chip-tool/gen/attribute-size.cpp b/examples/chip-tool/gen/attribute-size.cpp
deleted file mode 100644
index a455aef..0000000
--- a/examples/chip-tool/gen/attribute-size.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-#include <app/util/af.h>
-#include <app/util/attribute-list-byte-span.h>
-#include <app/util/basic-types.h>
-#include <support/SafeInt.h>
-#include <support/logging/CHIPLogging.h>
-
-#include "gen/af-structs.h"
-
-using namespace chip;
-using namespace chip::app::List;
-
-// The first 2 bytes specify the number of entries. A value of 0xFFFF means the list in invalid
-// and data is undefined.
-constexpr uint16_t kSizeLengthInBytes = 2u;
-
-void copyListMember(uint8_t * dest, uint8_t * src, bool write, uint16_t * offset, uint16_t length)
-{
- if (write)
- {
- memmove(dest + *offset, src, length);
- }
- else
- {
- memmove(dest, src + *offset, length);
- }
-
- *offset = static_cast<uint16_t>(*offset + length);
-}
-
-uint16_t emberAfCopyList(ClusterId clusterId, EmberAfAttributeMetadata * am, bool write, uint8_t * dest, uint8_t * src,
- int32_t index)
-{
- if (index == -1)
- {
- memmove(dest, src, am->size);
- return am->size;
- }
-
- if (index == 0)
- {
- if (write)
- {
- // src is a pointer to native-endian uint16_t, dest is pointer to buffer that should hold little-endian value
- emberAfCopyInt16u(dest, 0, *reinterpret_cast<uint16_t *>(src));
- }
- else
- {
- // src is pointer to buffer holding little-endian value, dest is a pointer to native-endian uint16_t
- *reinterpret_cast<uint16_t *>(dest) = emberAfGetInt16u(src, 0, kSizeLengthInBytes);
- }
- return kSizeLengthInBytes;
- }
-
- if (!chip::CanCastTo<uint16_t>(index))
- {
- ChipLogError(Zcl, "Index %l is invalid. Should be between 1 and 65534", index);
- return 0;
- }
-
- uint16_t entryLength = 0;
- switch (clusterId)
- {
- }
-
- return entryLength;
-}
-
-// A list is a collection of entries of the same data type. The data type may be any defined data type.
-uint16_t emberAfAttributeValueListSize(ClusterId clusterId, AttributeId attributeId, const uint8_t * buffer)
-{
- // The first 2 bytes specify the number of entries. A value of 0xFFFF means the list in invalid
- // and data is undefined.
- uint16_t entryCount = emberAfGetInt16u(buffer, 0, kSizeLengthInBytes);
- if (entryCount == 0xFFFF)
- {
- return 0;
- }
-
- uint16_t entryLength = 0;
- switch (clusterId)
- {
- }
-
- uint32_t totalSize = kSizeLengthInBytes + (entryCount * entryLength);
- if (!chip::CanCastTo<uint16_t>(totalSize))
- {
- ChipLogError(Zcl, "Cluster 0x%04x: Size of attribute 0x%02x is too large.", clusterId, attributeId);
- return 0;
- }
-
- return static_cast<uint16_t>(totalSize);
-}
diff --git a/examples/chip-tool/gen/attribute-size.h b/examples/chip-tool/gen/attribute-size.h
deleted file mode 100644
index 1dea3de..0000000
--- a/examples/chip-tool/gen/attribute-size.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// ZCL attribute sizes
-ZCL_DATA8_ATTRIBUTE_TYPE, 1, ZCL_DATA16_ATTRIBUTE_TYPE, 2, ZCL_DATA24_ATTRIBUTE_TYPE, 3, ZCL_DATA32_ATTRIBUTE_TYPE, 4,
- ZCL_DATA40_ATTRIBUTE_TYPE, 5, ZCL_DATA48_ATTRIBUTE_TYPE, 6, ZCL_DATA56_ATTRIBUTE_TYPE, 7, ZCL_DATA64_ATTRIBUTE_TYPE, 8,
- ZCL_BOOLEAN_ATTRIBUTE_TYPE, 1, ZCL_BITMAP8_ATTRIBUTE_TYPE, 1, ZCL_BITMAP16_ATTRIBUTE_TYPE, 2, ZCL_BITMAP24_ATTRIBUTE_TYPE, 3,
- ZCL_BITMAP32_ATTRIBUTE_TYPE, 4, ZCL_BITMAP40_ATTRIBUTE_TYPE, 5, ZCL_BITMAP48_ATTRIBUTE_TYPE, 6, ZCL_BITMAP56_ATTRIBUTE_TYPE, 7,
- ZCL_BITMAP64_ATTRIBUTE_TYPE, 8, ZCL_INT8U_ATTRIBUTE_TYPE, 1, ZCL_INT16U_ATTRIBUTE_TYPE, 2, ZCL_INT24U_ATTRIBUTE_TYPE, 3,
- ZCL_INT32U_ATTRIBUTE_TYPE, 4, ZCL_INT40U_ATTRIBUTE_TYPE, 5, ZCL_INT48U_ATTRIBUTE_TYPE, 6, ZCL_INT56U_ATTRIBUTE_TYPE, 7,
- ZCL_INT64U_ATTRIBUTE_TYPE, 8, ZCL_INT8S_ATTRIBUTE_TYPE, 1, ZCL_INT16S_ATTRIBUTE_TYPE, 2, ZCL_INT24S_ATTRIBUTE_TYPE, 3,
- ZCL_INT32S_ATTRIBUTE_TYPE, 4, ZCL_INT40S_ATTRIBUTE_TYPE, 5, ZCL_INT48S_ATTRIBUTE_TYPE, 6, ZCL_INT56S_ATTRIBUTE_TYPE, 7,
- ZCL_INT64S_ATTRIBUTE_TYPE, 8, ZCL_ENUM8_ATTRIBUTE_TYPE, 1, ZCL_ENUM16_ATTRIBUTE_TYPE, 2, ZCL_FLOAT_SEMI_ATTRIBUTE_TYPE, 2,
- ZCL_FLOAT_SINGLE_ATTRIBUTE_TYPE, 4, ZCL_FLOAT_DOUBLE_ATTRIBUTE_TYPE, 8, ZCL_TIME_OF_DAY_ATTRIBUTE_TYPE, 4,
- ZCL_DATE_ATTRIBUTE_TYPE, 4, ZCL_UTC_TIME_ATTRIBUTE_TYPE, 4, ZCL_CLUSTER_ID_ATTRIBUTE_TYPE, 2, ZCL_ATTRIBUTE_ID_ATTRIBUTE_TYPE,
- 2, ZCL_BACNET_OID_ATTRIBUTE_TYPE, 4, ZCL_IEEE_ADDRESS_ATTRIBUTE_TYPE, 8, ZCL_SECURITY_KEY_ATTRIBUTE_TYPE, 16,
- ZCL_ENDPOINT_ID_ATTRIBUTE_TYPE, 1, ZCL_GROUP_ID_ATTRIBUTE_TYPE, 2, ZCL_COMMAND_ID_ATTRIBUTE_TYPE, 1, ZCL_NODE_ID_ATTRIBUTE_TYPE,
- 8, ZCL_DEVICE_TYPE_ID_ATTRIBUTE_TYPE, 4, ZCL_FABRIC_ID_ATTRIBUTE_TYPE, 8,
diff --git a/examples/chip-tool/gen/attribute-type.h b/examples/chip-tool/gen/attribute-type.h
deleted file mode 100644
index bcf9ee3..0000000
--- a/examples/chip-tool/gen/attribute-type.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// ZCL attribute types
-enum
-{
- ZCL_NO_DATA_ATTRIBUTE_TYPE = 0x00, // No data
- ZCL_DATA8_ATTRIBUTE_TYPE = 0x08, // 8-bit data
- ZCL_DATA16_ATTRIBUTE_TYPE = 0x09, // 16-bit data
- ZCL_DATA24_ATTRIBUTE_TYPE = 0x0A, // 24-bit data
- ZCL_DATA32_ATTRIBUTE_TYPE = 0x0B, // 32-bit data
- ZCL_DATA40_ATTRIBUTE_TYPE = 0x0C, // 40-bit data
- ZCL_DATA48_ATTRIBUTE_TYPE = 0x0D, // 48-bit data
- ZCL_DATA56_ATTRIBUTE_TYPE = 0x0E, // 56-bit data
- ZCL_DATA64_ATTRIBUTE_TYPE = 0x0F, // 64-bit data
- ZCL_BOOLEAN_ATTRIBUTE_TYPE = 0x10, // Boolean
- ZCL_BITMAP8_ATTRIBUTE_TYPE = 0x18, // 8-bit bitmap
- ZCL_BITMAP16_ATTRIBUTE_TYPE = 0x19, // 16-bit bitmap
- ZCL_BITMAP24_ATTRIBUTE_TYPE = 0x1A, // 24-bit bitmap
- ZCL_BITMAP32_ATTRIBUTE_TYPE = 0x1B, // 32-bit bitmap
- ZCL_BITMAP40_ATTRIBUTE_TYPE = 0x1C, // 40-bit bitmap
- ZCL_BITMAP48_ATTRIBUTE_TYPE = 0x1D, // 48-bit bitmap
- ZCL_BITMAP56_ATTRIBUTE_TYPE = 0x1E, // 56-bit bitmap
- ZCL_BITMAP64_ATTRIBUTE_TYPE = 0x1F, // 64-bit bitmap
- ZCL_INT8U_ATTRIBUTE_TYPE = 0x20, // Unsigned 8-bit integer
- ZCL_INT16U_ATTRIBUTE_TYPE = 0x21, // Unsigned 16-bit integer
- ZCL_INT24U_ATTRIBUTE_TYPE = 0x22, // Unsigned 24-bit integer
- ZCL_INT32U_ATTRIBUTE_TYPE = 0x23, // Unsigned 32-bit integer
- ZCL_INT40U_ATTRIBUTE_TYPE = 0x24, // Unsigned 40-bit integer
- ZCL_INT48U_ATTRIBUTE_TYPE = 0x25, // Unsigned 48-bit integer
- ZCL_INT56U_ATTRIBUTE_TYPE = 0x26, // Unsigned 56-bit integer
- ZCL_INT64U_ATTRIBUTE_TYPE = 0x27, // Unsigned 64-bit integer
- ZCL_INT8S_ATTRIBUTE_TYPE = 0x28, // Signed 8-bit integer
- ZCL_INT16S_ATTRIBUTE_TYPE = 0x29, // Signed 16-bit integer
- ZCL_INT24S_ATTRIBUTE_TYPE = 0x2A, // Signed 24-bit integer
- ZCL_INT32S_ATTRIBUTE_TYPE = 0x2B, // Signed 32-bit integer
- ZCL_INT40S_ATTRIBUTE_TYPE = 0x2C, // Signed 40-bit integer
- ZCL_INT48S_ATTRIBUTE_TYPE = 0x2D, // Signed 48-bit integer
- ZCL_INT56S_ATTRIBUTE_TYPE = 0x2E, // Signed 56-bit integer
- ZCL_INT64S_ATTRIBUTE_TYPE = 0x2F, // Signed 64-bit integer
- ZCL_ENUM8_ATTRIBUTE_TYPE = 0x30, // 8-bit enumeration
- ZCL_ENUM16_ATTRIBUTE_TYPE = 0x31, // 16-bit enumeration
- ZCL_FLOAT_SEMI_ATTRIBUTE_TYPE = 0x38, // Semi-precision
- ZCL_FLOAT_SINGLE_ATTRIBUTE_TYPE = 0x39, // Single precision
- ZCL_FLOAT_DOUBLE_ATTRIBUTE_TYPE = 0x3A, // Double precision
- ZCL_OCTET_STRING_ATTRIBUTE_TYPE = 0x41, // Octet string
- ZCL_CHAR_STRING_ATTRIBUTE_TYPE = 0x42, // Character string
- ZCL_LONG_OCTET_STRING_ATTRIBUTE_TYPE = 0x43, // Long octet string
- ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE = 0x44, // Long character string
- ZCL_ARRAY_ATTRIBUTE_TYPE = 0x48, // Array
- ZCL_STRUCT_ATTRIBUTE_TYPE = 0x4C, // Structure
- ZCL_SET_ATTRIBUTE_TYPE = 0x50, // Set
- ZCL_BAG_ATTRIBUTE_TYPE = 0x51, // Bag
- ZCL_TIME_OF_DAY_ATTRIBUTE_TYPE = 0xE0, // Time of day
- ZCL_DATE_ATTRIBUTE_TYPE = 0xE1, // Date
- ZCL_UTC_TIME_ATTRIBUTE_TYPE = 0xE2, // UTC Time
- ZCL_CLUSTER_ID_ATTRIBUTE_TYPE = 0xE8, // Cluster ID
- ZCL_ATTRIBUTE_ID_ATTRIBUTE_TYPE = 0xE9, // Attribute ID
- ZCL_BACNET_OID_ATTRIBUTE_TYPE = 0xEA, // BACnet OID
- ZCL_IEEE_ADDRESS_ATTRIBUTE_TYPE = 0xF0, // IEEE address
- ZCL_SECURITY_KEY_ATTRIBUTE_TYPE = 0xF1, // 128-bit security key
- ZCL_ENDPOINT_ID_ATTRIBUTE_TYPE = 0xF2, // Endpoint Id
- ZCL_GROUP_ID_ATTRIBUTE_TYPE = 0xF3, // Group Id
- ZCL_COMMAND_ID_ATTRIBUTE_TYPE = 0xF4, // Command Id
- ZCL_NODE_ID_ATTRIBUTE_TYPE = 0xF5, // Node Id
- ZCL_DEVICE_TYPE_ID_ATTRIBUTE_TYPE = 0xF6, // Device Type Id
- ZCL_FABRIC_ID_ATTRIBUTE_TYPE = 0xF7, // Fabric Id
- ZCL_UNKNOWN_ATTRIBUTE_TYPE = 0xFF, // Unknown
-};
diff --git a/examples/chip-tool/gen/call-command-handler.cpp b/examples/chip-tool/gen/call-command-handler.cpp
deleted file mode 100644
index dd5a1cd..0000000
--- a/examples/chip-tool/gen/call-command-handler.cpp
+++ /dev/null
@@ -1,2001 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-#include <stdint.h>
-
-#include "af-structs.h"
-#include "app/util/util.h"
-#include "call-command-handler.h"
-#include "callback.h"
-#include "cluster-id.h"
-#include "command-id.h"
-
-using namespace chip;
-
-EmberAfStatus emberAfAccountLoginClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfApplicationBasicClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfApplicationLauncherClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfAudioOutputClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfBarrierControlClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfBasicClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfBindingClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfColorControlClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfContentLaunchClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfDescriptorClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfDoorLockClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfEthernetNetworkDiagnosticsClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfGeneralCommissioningClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfGeneralDiagnosticsClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfGroupKeyManagementClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfGroupsClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfIdentifyClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfKeypadInputClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfLevelControlClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfLowPowerClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfMediaInputClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfMediaPlaybackClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfNetworkCommissioningClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfOnOffClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfOperationalCredentialsClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfPumpConfigurationAndControlClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfScenesClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfSwitchClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfTvChannelClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfTargetNavigatorClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfTemperatureMeasurementClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfTestClusterClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfThermostatClusterClientCommandParse(EmberAfClusterCommand * cmd);
-EmberAfStatus emberAfWakeOnLanClusterClientCommandParse(EmberAfClusterCommand * cmd);
-
-static EmberAfStatus status(bool wasHandled, bool clusterExists, bool mfgSpecific)
-{
- if (wasHandled)
- {
- return EMBER_ZCL_STATUS_SUCCESS;
- }
- else if (mfgSpecific)
- {
- return EMBER_ZCL_STATUS_UNSUP_MANUF_CLUSTER_COMMAND;
- }
- else if (clusterExists)
- {
- return EMBER_ZCL_STATUS_UNSUP_COMMAND;
- }
- else
- {
- return EMBER_ZCL_STATUS_UNSUPPORTED_CLUSTER;
- }
-}
-
-// Main command parsing controller.
-EmberAfStatus emberAfClusterSpecificCommandParse(EmberAfClusterCommand * cmd)
-{
- EmberAfStatus result = status(false, false, cmd->mfgSpecific);
- if (cmd->direction == (uint8_t) ZCL_DIRECTION_SERVER_TO_CLIENT &&
- emberAfContainsClientWithMfgCode(cmd->apsFrame->destinationEndpoint, cmd->apsFrame->clusterId, cmd->mfgCode))
- {
- switch (cmd->apsFrame->clusterId)
- {
- case ZCL_ACCOUNT_LOGIN_CLUSTER_ID:
- result = emberAfAccountLoginClusterClientCommandParse(cmd);
- break;
- case ZCL_APPLICATION_BASIC_CLUSTER_ID:
- // No commands are enabled for cluster Application Basic
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_APPLICATION_LAUNCHER_CLUSTER_ID:
- result = emberAfApplicationLauncherClusterClientCommandParse(cmd);
- break;
- case ZCL_AUDIO_OUTPUT_CLUSTER_ID:
- // No commands are enabled for cluster Audio Output
- 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);
- break;
- case ZCL_BASIC_CLUSTER_ID:
- // No commands are enabled for cluster Basic
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_BINDING_CLUSTER_ID:
- // No commands are enabled for cluster Binding
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_COLOR_CONTROL_CLUSTER_ID:
- // No commands are enabled for cluster Color Control
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_CONTENT_LAUNCH_CLUSTER_ID:
- result = emberAfContentLaunchClusterClientCommandParse(cmd);
- break;
- case ZCL_DESCRIPTOR_CLUSTER_ID:
- // No commands are enabled for cluster Descriptor
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_DOOR_LOCK_CLUSTER_ID:
- result = emberAfDoorLockClusterClientCommandParse(cmd);
- break;
- case ZCL_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_ID:
- // No commands are enabled for cluster Ethernet Network Diagnostics
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_GENERAL_COMMISSIONING_CLUSTER_ID:
- result = emberAfGeneralCommissioningClusterClientCommandParse(cmd);
- break;
- case ZCL_GENERAL_DIAGNOSTICS_CLUSTER_ID:
- // No commands are enabled for cluster General Diagnostics
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_GROUP_KEY_MANAGEMENT_CLUSTER_ID:
- // No commands are enabled for cluster Group Key Management
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_GROUPS_CLUSTER_ID:
- result = emberAfGroupsClusterClientCommandParse(cmd);
- break;
- case ZCL_IDENTIFY_CLUSTER_ID:
- result = emberAfIdentifyClusterClientCommandParse(cmd);
- break;
- case ZCL_KEYPAD_INPUT_CLUSTER_ID:
- result = emberAfKeypadInputClusterClientCommandParse(cmd);
- break;
- case ZCL_LEVEL_CONTROL_CLUSTER_ID:
- // No commands are enabled for cluster Level Control
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_LOW_POWER_CLUSTER_ID:
- // No commands are enabled for cluster Low Power
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_MEDIA_INPUT_CLUSTER_ID:
- // No commands are enabled for cluster Media Input
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_MEDIA_PLAYBACK_CLUSTER_ID:
- result = emberAfMediaPlaybackClusterClientCommandParse(cmd);
- break;
- case ZCL_NETWORK_COMMISSIONING_CLUSTER_ID:
- result = emberAfNetworkCommissioningClusterClientCommandParse(cmd);
- break;
- case ZCL_ON_OFF_CLUSTER_ID:
- // No commands are enabled for cluster On/off
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID:
- result = emberAfOperationalCredentialsClusterClientCommandParse(cmd);
- break;
- case ZCL_PUMP_CONFIG_CONTROL_CLUSTER_ID:
- // No commands are enabled for cluster Pump Configuration and Control
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_SCENES_CLUSTER_ID:
- result = emberAfScenesClusterClientCommandParse(cmd);
- break;
- case ZCL_SWITCH_CLUSTER_ID:
- // No commands are enabled for cluster Switch
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_TV_CHANNEL_CLUSTER_ID:
- result = emberAfTvChannelClusterClientCommandParse(cmd);
- break;
- case ZCL_TARGET_NAVIGATOR_CLUSTER_ID:
- result = emberAfTargetNavigatorClusterClientCommandParse(cmd);
- break;
- case ZCL_TEMP_MEASUREMENT_CLUSTER_ID:
- // No commands are enabled for cluster Temperature Measurement
- result = status(false, true, cmd->mfgSpecific);
- break;
- case ZCL_TEST_CLUSTER_ID:
- result = emberAfTestClusterClusterClientCommandParse(cmd);
- break;
- case ZCL_THERMOSTAT_CLUSTER_ID:
- result = emberAfThermostatClusterClientCommandParse(cmd);
- break;
- case ZCL_WAKE_ON_LAN_CLUSTER_ID:
- // No commands are enabled for cluster Wake on LAN
- result = status(false, true, cmd->mfgSpecific);
- break;
- default:
- // Unrecognized cluster ID, error status will apply.
- break;
- }
- }
- else if (cmd->direction == (uint8_t) ZCL_DIRECTION_CLIENT_TO_SERVER &&
- emberAfContainsServerWithMfgCode(cmd->apsFrame->destinationEndpoint, cmd->apsFrame->clusterId, cmd->mfgCode))
- {
- switch (cmd->apsFrame->clusterId)
- {
- default:
- // Unrecognized cluster ID, error status will apply.
- break;
- }
- }
- return result;
-}
-
-// Cluster specific command parsing
-
-EmberAfStatus emberAfAccountLoginClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_GET_SETUP_PIN_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t * setupPIN;
-
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- setupPIN = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfAccountLoginClusterGetSetupPINResponseCallback(nullptr, setupPIN);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfApplicationLauncherClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_LAUNCH_APP_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint8_t * data;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- data = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfApplicationLauncherClusterLaunchAppResponseCallback(nullptr, status, data);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfContentLaunchClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_LAUNCH_CONTENT_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t * data;
- uint8_t contentLaunchStatus;
-
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- data = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + emberAfStringLength(data) + 1u);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- contentLaunchStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfContentLaunchClusterLaunchContentResponseCallback(nullptr, data, contentLaunchStatus);
- break;
- }
- case ZCL_LAUNCH_URL_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t * data;
- uint8_t contentLaunchStatus;
-
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- data = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + emberAfStringLength(data) + 1u);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- contentLaunchStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfContentLaunchClusterLaunchURLResponseCallback(nullptr, data, contentLaunchStatus);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfDoorLockClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_CLEAR_ALL_PINS_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterClearAllPinsResponseCallback(nullptr, status);
- break;
- }
- case ZCL_CLEAR_ALL_RFIDS_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterClearAllRfidsResponseCallback(nullptr, status);
- break;
- }
- case ZCL_CLEAR_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterClearHolidayScheduleResponseCallback(nullptr, status);
- break;
- }
- case ZCL_CLEAR_PIN_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterClearPinResponseCallback(nullptr, status);
- break;
- }
- case ZCL_CLEAR_RFID_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterClearRfidResponseCallback(nullptr, status);
- break;
- }
- case ZCL_CLEAR_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterClearWeekdayScheduleResponseCallback(nullptr, status);
- break;
- }
- case ZCL_CLEAR_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterClearYeardayScheduleResponseCallback(nullptr, status);
- break;
- }
- case ZCL_GET_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t scheduleId;
- uint8_t status;
- uint32_t localStartTime;
- uint32_t localEndTime;
- uint8_t operatingModeDuringHoliday;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- scheduleId = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 4)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- localStartTime = emberAfGetInt32u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 4);
- if (cmd->bufLen < payloadOffset + 4)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- localEndTime = emberAfGetInt32u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 4);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- operatingModeDuringHoliday = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterGetHolidayScheduleResponseCallback(nullptr, scheduleId, status, localStartTime,
- localEndTime, operatingModeDuringHoliday);
- break;
- }
- case ZCL_GET_LOG_RECORD_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint16_t logEntryId;
- uint32_t timestamp;
- uint8_t eventType;
- uint8_t source;
- uint8_t eventIdOrAlarmCode;
- uint16_t userId;
- uint8_t * pin;
-
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- logEntryId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 4)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- timestamp = emberAfGetInt32u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 4);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- eventType = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- source = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- eventIdOrAlarmCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- pin = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterGetLogRecordResponseCallback(nullptr, logEntryId, timestamp, eventType, source,
- eventIdOrAlarmCode, userId, pin);
- break;
- }
- case ZCL_GET_PIN_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint16_t userId;
- uint8_t userStatus;
- uint8_t userType;
- uint8_t * pin;
-
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userType = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- pin = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterGetPinResponseCallback(nullptr, userId, userStatus, userType, pin);
- break;
- }
- case ZCL_GET_RFID_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint16_t userId;
- uint8_t userStatus;
- uint8_t userType;
- uint8_t * rfid;
-
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userType = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- rfid = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterGetRfidResponseCallback(nullptr, userId, userStatus, userType, rfid);
- break;
- }
- case ZCL_GET_USER_TYPE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint16_t userId;
- uint8_t userType;
-
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userType = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterGetUserTypeResponseCallback(nullptr, userId, userType);
- break;
- }
- case ZCL_GET_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t scheduleId;
- uint16_t userId;
- uint8_t status;
- uint8_t daysMask;
- uint8_t startHour;
- uint8_t startMinute;
- uint8_t endHour;
- uint8_t endMinute;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- scheduleId = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- daysMask = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- startHour = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- startMinute = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- endHour = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- endMinute = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterGetWeekdayScheduleResponseCallback(nullptr, scheduleId, userId, status, daysMask,
- startHour, startMinute, endHour, endMinute);
- break;
- }
- case ZCL_GET_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t scheduleId;
- uint16_t userId;
- uint8_t status;
- uint32_t localStartTime;
- uint32_t localEndTime;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- scheduleId = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- userId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 4)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- localStartTime = emberAfGetInt32u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 4);
- if (cmd->bufLen < payloadOffset + 4)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- localEndTime = emberAfGetInt32u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterGetYeardayScheduleResponseCallback(nullptr, scheduleId, userId, status,
- localStartTime, localEndTime);
- break;
- }
- case ZCL_LOCK_DOOR_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterLockDoorResponseCallback(nullptr, status);
- break;
- }
- case ZCL_SET_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterSetHolidayScheduleResponseCallback(nullptr, status);
- break;
- }
- case ZCL_SET_PIN_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterSetPinResponseCallback(nullptr, status);
- break;
- }
- case ZCL_SET_RFID_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterSetRfidResponseCallback(nullptr, status);
- break;
- }
- case ZCL_SET_USER_TYPE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterSetUserTypeResponseCallback(nullptr, status);
- break;
- }
- case ZCL_SET_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterSetWeekdayScheduleResponseCallback(nullptr, status);
- break;
- }
- case ZCL_SET_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterSetYeardayScheduleResponseCallback(nullptr, status);
- break;
- }
- case ZCL_UNLOCK_DOOR_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterUnlockDoorResponseCallback(nullptr, status);
- break;
- }
- case ZCL_UNLOCK_WITH_TIMEOUT_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfDoorLockClusterUnlockWithTimeoutResponseCallback(nullptr, status);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfGeneralCommissioningClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_ARM_FAIL_SAFE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfGeneralCommissioningClusterArmFailSafeResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_COMMISSIONING_COMPLETE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfGeneralCommissioningClusterCommissioningCompleteResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_SET_REGULATORY_CONFIG_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfGeneralCommissioningClusterSetRegulatoryConfigResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfGroupsClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_ADD_GROUP_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfGroupsClusterAddGroupResponseCallback(nullptr, status, groupId);
- break;
- }
- case ZCL_GET_GROUP_MEMBERSHIP_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t capacity;
- uint8_t groupCount;
- /* TYPE WARNING: array array defaults to */ uint8_t * groupList;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- capacity = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupCount = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- groupList = cmd->buffer + payloadOffset;
-
- wasHandled = emberAfGroupsClusterGetGroupMembershipResponseCallback(nullptr, capacity, groupCount, groupList);
- break;
- }
- case ZCL_REMOVE_GROUP_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfGroupsClusterRemoveGroupResponseCallback(nullptr, status, groupId);
- break;
- }
- case ZCL_VIEW_GROUP_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
- uint8_t * groupName;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupName = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfGroupsClusterViewGroupResponseCallback(nullptr, status, groupId, groupName);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfIdentifyClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_IDENTIFY_QUERY_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint16_t timeout;
-
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- timeout = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfIdentifyClusterIdentifyQueryResponseCallback(nullptr, timeout);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfKeypadInputClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_SEND_KEY_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfKeypadInputClusterSendKeyResponseCallback(nullptr, status);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfMediaPlaybackClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_MEDIA_FAST_FORWARD_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaFastForwardResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_NEXT_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaNextResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_PAUSE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaPauseResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_PLAY_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaPlayResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_PREVIOUS_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaPreviousResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_REWIND_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaRewindResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_SKIP_BACKWARD_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaSkipBackwardResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_SKIP_FORWARD_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaSkipForwardResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_SKIP_SEEK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaSkipSeekResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_START_OVER_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaStartOverResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- case ZCL_MEDIA_STOP_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t mediaPlaybackStatus;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- mediaPlaybackStatus = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfMediaPlaybackClusterMediaStopResponseCallback(nullptr, mediaPlaybackStatus);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfNetworkCommissioningClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_ADD_THREAD_NETWORK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfNetworkCommissioningClusterAddThreadNetworkResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_ADD_WI_FI_NETWORK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfNetworkCommissioningClusterAddWiFiNetworkResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_DISABLE_NETWORK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfNetworkCommissioningClusterDisableNetworkResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_ENABLE_NETWORK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfNetworkCommissioningClusterEnableNetworkResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_REMOVE_NETWORK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfNetworkCommissioningClusterRemoveNetworkResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_SCAN_NETWORKS_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
- /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults;
- /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + emberAfStringLength(debugText) + 1u);
- wifiScanResults = cmd->buffer + payloadOffset;
- threadScanResults = cmd->buffer + payloadOffset;
-
- wasHandled = emberAfNetworkCommissioningClusterScanNetworksResponseCallback(nullptr, errorCode, debugText,
- wifiScanResults, threadScanResults);
- break;
- }
- case ZCL_UPDATE_THREAD_NETWORK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfNetworkCommissioningClusterUpdateThreadNetworkResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- case ZCL_UPDATE_WI_FI_NETWORK_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t errorCode;
- uint8_t * debugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- errorCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- debugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback(nullptr, errorCode, debugText);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfOperationalCredentialsClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_OP_CSR_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- chip::ByteSpan CSR;
- chip::ByteSpan CSRNonce;
- chip::ByteSpan VendorReserved1;
- chip::ByteSpan VendorReserved2;
- chip::ByteSpan VendorReserved3;
- chip::ByteSpan Signature;
-
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- {
- uint8_t * rawData = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- CSR = chip::ByteSpan(rawData + 1u, emberAfStringLength(rawData));
- }
- payloadOffset = static_cast<uint16_t>(payloadOffset + CSR.size() + 1u);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- {
- uint8_t * rawData = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- CSRNonce = chip::ByteSpan(rawData + 1u, emberAfStringLength(rawData));
- }
- payloadOffset = static_cast<uint16_t>(payloadOffset + CSRNonce.size() + 1u);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- {
- uint8_t * rawData = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- VendorReserved1 = chip::ByteSpan(rawData + 1u, emberAfStringLength(rawData));
- }
- payloadOffset = static_cast<uint16_t>(payloadOffset + VendorReserved1.size() + 1u);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- {
- uint8_t * rawData = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- VendorReserved2 = chip::ByteSpan(rawData + 1u, emberAfStringLength(rawData));
- }
- payloadOffset = static_cast<uint16_t>(payloadOffset + VendorReserved2.size() + 1u);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- {
- uint8_t * rawData = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- VendorReserved3 = chip::ByteSpan(rawData + 1u, emberAfStringLength(rawData));
- }
- payloadOffset = static_cast<uint16_t>(payloadOffset + VendorReserved3.size() + 1u);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- {
- uint8_t * rawData = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- Signature = chip::ByteSpan(rawData + 1u, emberAfStringLength(rawData));
- }
-
- wasHandled = emberAfOperationalCredentialsClusterOpCSRResponseCallback(nullptr, CSR, CSRNonce, VendorReserved1,
- VendorReserved2, VendorReserved3, Signature);
- break;
- }
- case ZCL_OP_CERT_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t StatusCode;
- uint64_t FabricIndex;
- uint8_t * DebugText;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- StatusCode = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 8)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- FabricIndex = emberAfGetInt64u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 8);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- DebugText = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfOperationalCredentialsClusterOpCertResponseCallback(nullptr, StatusCode, FabricIndex, DebugText);
- break;
- }
- case ZCL_SET_FABRIC_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- chip::FabricId FabricId;
-
- if (cmd->bufLen < payloadOffset + 8)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- FabricId = emberAfGetInt64u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfOperationalCredentialsClusterSetFabricResponseCallback(nullptr, FabricId);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfScenesClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_ADD_SCENE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- sceneId = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfScenesClusterAddSceneResponseCallback(nullptr, status, groupId, sceneId);
- break;
- }
- case ZCL_GET_SCENE_MEMBERSHIP_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint8_t capacity;
- uint16_t groupId;
- uint8_t sceneCount;
- /* TYPE WARNING: array array defaults to */ uint8_t * sceneList;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- capacity = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (status == 0)
- {
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- sceneCount = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- }
- else
- {
- sceneCount = UINT8_MAX;
- }
- if (status == 0)
- {
- sceneList = cmd->buffer + payloadOffset;
- }
- else
- {
- sceneList = NULL;
- }
-
- wasHandled =
- emberAfScenesClusterGetSceneMembershipResponseCallback(nullptr, status, capacity, groupId, sceneCount, sceneList);
- break;
- }
- case ZCL_REMOVE_ALL_SCENES_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfScenesClusterRemoveAllScenesResponseCallback(nullptr, status, groupId);
- break;
- }
- case ZCL_REMOVE_SCENE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- sceneId = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfScenesClusterRemoveSceneResponseCallback(nullptr, status, groupId, sceneId);
- break;
- }
- case ZCL_STORE_SCENE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- sceneId = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfScenesClusterStoreSceneResponseCallback(nullptr, status, groupId, sceneId);
- break;
- }
- case ZCL_VIEW_SCENE_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint16_t groupId;
- uint8_t sceneId;
- uint16_t transitionTime;
- uint8_t * sceneName;
- /* TYPE WARNING: array array defaults to */ uint8_t * extensionFieldSets;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- groupId = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- sceneId = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (status == 0)
- {
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- transitionTime = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- }
- else
- {
- transitionTime = UINT16_MAX;
- }
- if (status == 0)
- {
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- sceneName = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + emberAfStringLength(sceneName) + 1u);
- }
- else
- {
- sceneName = NULL;
- }
- if (status == 0)
- {
- extensionFieldSets = cmd->buffer + payloadOffset;
- }
- else
- {
- extensionFieldSets = NULL;
- }
-
- wasHandled = emberAfScenesClusterViewSceneResponseCallback(nullptr, status, groupId, sceneId, transitionTime, sceneName,
- extensionFieldSets);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfTvChannelClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_CHANGE_CHANNEL_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch;
- uint8_t ErrorType;
-
- ChannelMatch = cmd->buffer + payloadOffset;
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- ErrorType = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfTvChannelClusterChangeChannelResponseCallback(nullptr, ChannelMatch, ErrorType);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfTargetNavigatorClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_NAVIGATE_TARGET_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t status;
- uint8_t * data;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- status = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1u)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- data = emberAfGetString(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfTargetNavigatorClusterNavigateTargetResponseCallback(nullptr, status, data);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfTestClusterClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_TEST_SPECIFIC_RESPONSE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t returnValue;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- returnValue = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfTestClusterClusterTestSpecificResponseCallback(nullptr, returnValue);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
-EmberAfStatus emberAfThermostatClusterClientCommandParse(EmberAfClusterCommand * cmd)
-{
- bool wasHandled = false;
-
- if (!cmd->mfgSpecific)
- {
- switch (cmd->commandId)
- {
- case ZCL_CURRENT_WEEKLY_SCHEDULE_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint8_t numberOfTransitionsForSequence;
- uint8_t dayOfWeekForSequence;
- uint8_t modeForSequence;
- /* TYPE WARNING: array array defaults to */ uint8_t * payload;
-
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- numberOfTransitionsForSequence = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- dayOfWeekForSequence = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- modeForSequence = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- payload = cmd->buffer + payloadOffset;
-
- wasHandled = emberAfThermostatClusterCurrentWeeklyScheduleCallback(nullptr, numberOfTransitionsForSequence,
- dayOfWeekForSequence, modeForSequence, payload);
- break;
- }
- case ZCL_RELAY_STATUS_LOG_COMMAND_ID: {
- uint16_t payloadOffset = cmd->payloadStartIndex;
- uint16_t timeOfDay;
- uint16_t relayStatus;
- int16_t localTemperature;
- uint8_t humidityInPercentage;
- int16_t setpoint;
- uint16_t unreadEntries;
-
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- timeOfDay = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- relayStatus = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- localTemperature = static_cast<int16_t>(emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen));
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 1)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- humidityInPercentage = emberAfGetInt8u(cmd->buffer, payloadOffset, cmd->bufLen);
- payloadOffset = static_cast<uint16_t>(payloadOffset + 1);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- setpoint = static_cast<int16_t>(emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen));
- payloadOffset = static_cast<uint16_t>(payloadOffset + 2);
- if (cmd->bufLen < payloadOffset + 2)
- {
- return EMBER_ZCL_STATUS_MALFORMED_COMMAND;
- }
- unreadEntries = emberAfGetInt16u(cmd->buffer, payloadOffset, cmd->bufLen);
-
- wasHandled = emberAfThermostatClusterRelayStatusLogCallback(nullptr, timeOfDay, relayStatus, localTemperature,
- humidityInPercentage, setpoint, unreadEntries);
- break;
- }
- default: {
- // Unrecognized command ID, error status will apply.
- break;
- }
- }
- }
- return status(wasHandled, true, cmd->mfgSpecific);
-}
diff --git a/examples/chip-tool/gen/callback-stub.cpp b/examples/chip-tool/gen/callback-stub.cpp
deleted file mode 100644
index 6f13d45..0000000
--- a/examples/chip-tool/gen/callback-stub.cpp
+++ /dev/null
@@ -1,858 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-#include "callback.h"
-#include "cluster-id.h"
-
-#include <lib/support/Span.h>
-
-using namespace chip;
-
-// Cluster Init Functions
-void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
-{
- switch (clusterId)
- {
- case ZCL_ACCOUNT_LOGIN_CLUSTER_ID:
- emberAfAccountLoginClusterInitCallback(endpoint);
- break;
- case ZCL_APPLICATION_BASIC_CLUSTER_ID:
- emberAfApplicationBasicClusterInitCallback(endpoint);
- break;
- case ZCL_APPLICATION_LAUNCHER_CLUSTER_ID:
- emberAfApplicationLauncherClusterInitCallback(endpoint);
- break;
- case ZCL_AUDIO_OUTPUT_CLUSTER_ID:
- emberAfAudioOutputClusterInitCallback(endpoint);
- break;
- case ZCL_BARRIER_CONTROL_CLUSTER_ID:
- emberAfBarrierControlClusterInitCallback(endpoint);
- break;
- case ZCL_BASIC_CLUSTER_ID:
- emberAfBasicClusterInitCallback(endpoint);
- break;
- case ZCL_BINDING_CLUSTER_ID:
- emberAfBindingClusterInitCallback(endpoint);
- break;
- case ZCL_COLOR_CONTROL_CLUSTER_ID:
- emberAfColorControlClusterInitCallback(endpoint);
- break;
- case ZCL_CONTENT_LAUNCH_CLUSTER_ID:
- emberAfContentLaunchClusterInitCallback(endpoint);
- break;
- case ZCL_DESCRIPTOR_CLUSTER_ID:
- emberAfDescriptorClusterInitCallback(endpoint);
- break;
- case ZCL_DOOR_LOCK_CLUSTER_ID:
- emberAfDoorLockClusterInitCallback(endpoint);
- break;
- case ZCL_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_ID:
- emberAfEthernetNetworkDiagnosticsClusterInitCallback(endpoint);
- break;
- case ZCL_GENERAL_COMMISSIONING_CLUSTER_ID:
- emberAfGeneralCommissioningClusterInitCallback(endpoint);
- break;
- case ZCL_GENERAL_DIAGNOSTICS_CLUSTER_ID:
- emberAfGeneralDiagnosticsClusterInitCallback(endpoint);
- break;
- case ZCL_GROUP_KEY_MANAGEMENT_CLUSTER_ID:
- emberAfGroupKeyManagementClusterInitCallback(endpoint);
- break;
- case ZCL_GROUPS_CLUSTER_ID:
- emberAfGroupsClusterInitCallback(endpoint);
- break;
- case ZCL_IDENTIFY_CLUSTER_ID:
- emberAfIdentifyClusterInitCallback(endpoint);
- break;
- case ZCL_KEYPAD_INPUT_CLUSTER_ID:
- emberAfKeypadInputClusterInitCallback(endpoint);
- break;
- case ZCL_LEVEL_CONTROL_CLUSTER_ID:
- emberAfLevelControlClusterInitCallback(endpoint);
- break;
- case ZCL_LOW_POWER_CLUSTER_ID:
- emberAfLowPowerClusterInitCallback(endpoint);
- break;
- case ZCL_MEDIA_INPUT_CLUSTER_ID:
- emberAfMediaInputClusterInitCallback(endpoint);
- break;
- case ZCL_MEDIA_PLAYBACK_CLUSTER_ID:
- emberAfMediaPlaybackClusterInitCallback(endpoint);
- break;
- case ZCL_NETWORK_COMMISSIONING_CLUSTER_ID:
- emberAfNetworkCommissioningClusterInitCallback(endpoint);
- break;
- case ZCL_ON_OFF_CLUSTER_ID:
- emberAfOnOffClusterInitCallback(endpoint);
- break;
- case ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID:
- emberAfOperationalCredentialsClusterInitCallback(endpoint);
- break;
- case ZCL_PUMP_CONFIG_CONTROL_CLUSTER_ID:
- emberAfPumpConfigurationAndControlClusterInitCallback(endpoint);
- break;
- case ZCL_SCENES_CLUSTER_ID:
- emberAfScenesClusterInitCallback(endpoint);
- break;
- case ZCL_SWITCH_CLUSTER_ID:
- emberAfSwitchClusterInitCallback(endpoint);
- break;
- case ZCL_TV_CHANNEL_CLUSTER_ID:
- emberAfTvChannelClusterInitCallback(endpoint);
- break;
- case ZCL_TARGET_NAVIGATOR_CLUSTER_ID:
- emberAfTargetNavigatorClusterInitCallback(endpoint);
- break;
- case ZCL_TEMP_MEASUREMENT_CLUSTER_ID:
- emberAfTemperatureMeasurementClusterInitCallback(endpoint);
- break;
- case ZCL_TEST_CLUSTER_ID:
- emberAfTestClusterClusterInitCallback(endpoint);
- break;
- case ZCL_THERMOSTAT_CLUSTER_ID:
- emberAfThermostatClusterInitCallback(endpoint);
- break;
- case ZCL_WAKE_ON_LAN_CLUSTER_ID:
- emberAfWakeOnLanClusterInitCallback(endpoint);
- break;
- default:
- // Unrecognized cluster ID
- break;
- }
-}
-
-void __attribute__((weak)) emberAfAccountLoginClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfApplicationBasicClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfApplicationLauncherClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfAudioOutputClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfBarrierControlClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfBasicClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfBindingClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfColorControlClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfContentLaunchClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfDescriptorClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfDoorLockClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfEthernetNetworkDiagnosticsClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfGeneralCommissioningClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfGeneralDiagnosticsClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfGroupKeyManagementClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfGroupsClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfIdentifyClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfKeypadInputClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfLevelControlClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfLowPowerClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfMediaInputClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfMediaPlaybackClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfNetworkCommissioningClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfOnOffClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfOperationalCredentialsClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfPumpConfigurationAndControlClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfScenesClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfSwitchClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfTvChannelClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfTargetNavigatorClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfTemperatureMeasurementClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfTestClusterClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfThermostatClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-void __attribute__((weak)) emberAfWakeOnLanClusterInitCallback(EndpointId endpoint)
-{
- // To prevent warning
- (void) endpoint;
-}
-
-//
-// Non-Cluster Related Callbacks
-//
-
-/** @brief Add To Current App Tasks
- *
- * This function is only useful to sleepy end devices. This function will note
- * the passed item as part of a set of tasks the application has outstanding
- * (e.g. message sent requiring APS acknwoledgement). This will affect how the
- * application behaves with regard to sleeping and polling. Until the
- * outstanding task is completed, the device may poll more frequently and sleep
- * less often.
- *
- * @param tasks Ver.: always
- */
-void __attribute__((weak)) emberAfAddToCurrentAppTasksCallback(EmberAfApplicationTask tasks) {}
-
-/** @brief Remove From Current App Tasks
- *
- * This function is only useful to sleepy end devices. This function will
- * remove the passed item from the set of tasks the application has outstanding
- * (e.g. message sent requiring APS acknwoledgement). This will affect how the
- * application behaves with regard to sleeping and polling. Removing the item
- * from the list of outstanding tasks may allow the device to sleep longer and
- * poll less frequently. If there are other outstanding tasks the system may
- * still have to stay away and poll more often.
- *
- * @param tasks Ver.: always
- */
-void __attribute__((weak)) emberAfRemoveFromCurrentAppTasksCallback(EmberAfApplicationTask tasks) {}
-
-/** @brief Allow Network Write Attribute
- *
- * This function is called by the application framework before it writes an
- * attribute in response to a write attribute request from an external device.
- * The value passed into this callback is the value to which the attribute is to
- * be set by the framework.
- Example: In mirroring simple metering data
- * on an Energy Services Interface (ESI) (formerly called Energy Service Portal
- * (ESP) in SE 1.0).), a mirrored simple meter needs to write read-only
- * attributes on its mirror. The-meter-mirror sample application, located in
- * app/framework/sample-apps, uses this callback to allow the mirrored device to
- * write simple metering attributes on the mirror regardless of the fact that
- * most simple metering attributes are defined as read-only by the ZigBee
- * specification.
- Note: The ZCL specification does not (as of this
- * writing) specify any permission-level security for writing writeable
- * attributes. As far as the ZCL specification is concerned, if an attribute is
- * writeable, any device that has a link key for the device should be able to
- * write that attribute. Furthermore if an attribute is read only, it should not
- * be written over the air. Thus, if you implement permissions for writing
- * attributes as a feature, you MAY be operating outside the specification. This
- * is unlikely to be a problem for writing read-only attributes, but it may be a
- * problem for attributes that are writeable according to the specification but
- * restricted by the application implementing this callback.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeId Ver.: always
- * @param mask Ver.: always
- * @param manufacturerCode Ver.: always
- * @param value Ver.: always
- * @param type Ver.: always
- */
-EmberAfAttributeWritePermission __attribute__((weak))
-emberAfAllowNetworkWriteAttributeCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId, uint8_t mask,
- uint16_t manufacturerCode, uint8_t * value, uint8_t type)
-{
- return EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_ALLOW_WRITE_NORMAL; // Default
-}
-
-/** @brief Attribute Read Access
- *
- * This function is called whenever the Application Framework needs to check
- * access permission for an attribute read.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param manufacturerCode Ver.: always
- * @param attributeId Ver.: always
- */
-bool __attribute__((weak))
-emberAfAttributeReadAccessCallback(EndpointId endpoint, ClusterId clusterId, uint16_t manufacturerCode, AttributeId attributeId)
-{
- return true;
-}
-
-/** @brief Attribute Write Access
- *
- * This function is called whenever the Application Framework needs to check
- * access permission for an attribute write.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param manufacturerCode Ver.: always
- * @param attributeId Ver.: always
- */
-bool __attribute__((weak))
-emberAfAttributeWriteAccessCallback(EndpointId endpoint, ClusterId clusterId, uint16_t manufacturerCode, AttributeId attributeId)
-{
- return true;
-}
-
-/** @brief Default Response
- *
- * This function is called by the application framework when a Default Response
- * command is received from an external device. The application should return
- * true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param commandId The command identifier to which this is a response. Ver.:
- * always
- * @param status Specifies either SUCCESS or the nature of the error that was
- * detected in the received command. Ver.: always
- */
-bool __attribute__((weak)) emberAfDefaultResponseCallback(ClusterId clusterId, CommandId commandId, EmberAfStatus status)
-{
- return false;
-}
-
-/** @brief Configure Reporting Response
- *
- * This function is called by the application framework when a Configure
- * Reporting Response command is received from an external device. The
- * application should return true if the message was processed or false if it
- * was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of attribute status records. Ver.:
- * always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool __attribute__((weak)) emberAfConfigureReportingResponseCallback(ClusterId clusterId, uint8_t * buffer, uint16_t bufLen)
-{
- return false;
-}
-
-/** @brief Read Reporting Configuration Response
- *
- * This function is called by the application framework when a Read Reporting
- * Configuration Response command is received from an external device. The
- * application should return true if the message was processed or false if it
- * was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of attribute reporting configuration
- * records. Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool __attribute__((weak)) emberAfReadReportingConfigurationResponseCallback(ClusterId clusterId, uint8_t * buffer, uint16_t bufLen)
-{
- return false;
-}
-
-/** @brief Discover Attributes Response
- *
- * This function is called by the application framework when a Discover
- * Attributes Response or Discover Attributes Extended Response command is
- * received from an external device. The Discover Attributes Response command
- * contains a bool indicating if discovery is complete and a list of zero or
- * more attribute identifier/type records. The final argument indicates whether
- * the response is in the extended format or not. The application should return
- * true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param discoveryComplete Indicates whether there are more attributes to be
- * discovered. true if there are no more attributes to be discovered. Ver.:
- * always
- * @param buffer Buffer containing the list of attribute identifier/type
- * records. Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- * @param extended Indicates whether the response is in the extended format or
- * not. Ver.: always
- */
-bool __attribute__((weak)) emberAfDiscoverAttributesResponseCallback(ClusterId clusterId, bool discoveryComplete, uint8_t * buffer,
- uint16_t bufLen, bool extended)
-{
- return false;
-}
-
-/** @brief Discover Commands Generated Response
- *
- * This function is called by the framework when Discover Commands Generated
- * Response is received.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param manufacturerCode Manufacturer code Ver.: always
- * @param discoveryComplete Indicates whether there are more commands to be
- * discovered. Ver.: always
- * @param commandIds Buffer containing the list of command identifiers. Ver.:
- * always
- * @param commandIdCount The length of bytes of the list, whish is the same as
- * the number of identifiers. Ver.: always
- */
-bool __attribute__((weak))
-emberAfDiscoverCommandsGeneratedResponseCallback(ClusterId clusterId, uint16_t manufacturerCode, bool discoveryComplete,
- CommandId * commandIds, uint16_t commandIdCount)
-{
- return false;
-}
-
-/** @brief Discover Commands Received Response
- *
- * This function is called by the framework when Discover Commands Received
- * Response is received.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param manufacturerCode Manufacturer code Ver.: always
- * @param discoveryComplete Indicates whether there are more commands to be
- * discovered. Ver.: always
- * @param commandIds Buffer containing the list of command identifiers. Ver.:
- * always
- * @param commandIdCount The length of bytes of the list, whish is the same as
- * the number of identifiers. Ver.: always
- */
-bool __attribute__((weak))
-emberAfDiscoverCommandsReceivedResponseCallback(ClusterId clusterId, uint16_t manufacturerCode, bool discoveryComplete,
- CommandId * commandIds, uint16_t commandIdCount)
-{
- return false;
-}
-
-/** @brief Pre Command Received
- *
- * This callback is the second in the Application Framework's message processing
- * chain. At this point in the processing of incoming over-the-air messages, the
- * application has determined that the incoming message is a ZCL command. It
- * parses enough of the message to populate an EmberAfClusterCommand struct. The
- * Application Framework defines this struct value in a local scope to the
- * command processing but also makes it available through a global pointer
- * called emberAfCurrentCommand, in app/framework/util/util.c. When command
- * processing is complete, this pointer is cleared.
- *
- * @param cmd Ver.: always
- */
-bool __attribute__((weak)) emberAfPreCommandReceivedCallback(EmberAfClusterCommand * cmd)
-{
- return false;
-}
-
-/** @brief Pre Message Send
- *
- * This function is called by the framework when it is about to pass a message
- * to the stack primitives for sending. This message may or may not be ZCL,
- * ZDO, or some other protocol. This is called prior to
- any ZigBee
- * fragmentation that may be done. If the function returns true it is assumed
- * the callback has consumed and processed the message. The callback must also
- * set the EmberStatus status code to be passed back to the caller. The
- * framework will do no further processing on the message.
- If the
- * function returns false then it is assumed that the callback has not processed
- * the mesasge and the framework will continue to process accordingly.
- *
- * @param messageStruct The structure containing the parameters of the APS
- * message to be sent. Ver.: always
- * @param status A pointer to the status code value that will be returned to the
- * caller. Ver.: always
- */
-bool __attribute__((weak)) emberAfPreMessageSendCallback(EmberAfMessageStruct * messageStruct, EmberStatus * status)
-{
- return false;
-}
-
-/** @brief Message Sent
- *
- * This function is called by the application framework from the message sent
- * handler, when it is informed by the stack regarding the message sent status.
- * All of the values passed to the emberMessageSentHandler are passed on to this
- * callback. This provides an opportunity for the application to verify that its
- * message has been sent successfully and take the appropriate action. This
- * callback should return a bool value of true or false. A value of true
- * indicates that the message sent notification has been handled and should not
- * be handled by the application framework.
- *
- * @param type Ver.: always
- * @param destination Ver.: always
- * @param apsFrame Ver.: always
- * @param msgLen Ver.: always
- * @param message Ver.: always
- * @param status Ver.: always
- */
-bool __attribute__((weak))
-emberAfMessageSentCallback(EmberOutgoingMessageType type, MessageSendDestination destination, EmberApsFrame * apsFrame,
- uint16_t msgLen, uint8_t * message, EmberStatus status)
-{
- return false;
-}
-
-/** @brief Pre Attribute Change
- *
- * This function is called by the application framework before it changes an
- * attribute value. The value passed into this callback is the value to which
- * the attribute is to be set by the framework. The application should return
- * ::EMBER_ZCL_STATUS_SUCCESS to permit the change or any other ::EmberAfStatus
- * to reject it.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeId Ver.: always
- * @param mask Ver.: always
- * @param manufacturerCode Ver.: always
- * @param type Ver.: always
- * @param size Ver.: always
- * @param value Ver.: always
- */
-EmberAfStatus __attribute__((weak))
-emberAfPreAttributeChangeCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId, uint8_t mask,
- uint16_t manufacturerCode, uint8_t type, uint16_t size, uint8_t * value)
-{
- return EMBER_ZCL_STATUS_SUCCESS;
-}
-
-/** @brief Post Attribute Change
- *
- * This function is called by the application framework after it changes an
- * attribute value. The value passed into this callback is the value to which
- * the attribute was set by the framework.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeId Ver.: always
- * @param mask Ver.: always
- * @param manufacturerCode Ver.: always
- * @param type Ver.: always
- * @param size Ver.: always
- * @param value Ver.: always
- */
-void __attribute__((weak))
-emberAfPostAttributeChangeCallback(EndpointId endpoint, ClusterId clusterId, AttributeId attributeId, uint8_t mask,
- uint16_t manufacturerCode, uint8_t type, uint16_t size, uint8_t * value)
-{}
-
-/** @brief Read Attributes Response
- *
- * This function is called by the application framework when a Read Attributes
- * Response command is received from an external device. The application should
- * return true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of read attribute status records.
- * Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool __attribute__((weak)) emberAfReadAttributesResponseCallback(ClusterId clusterId, uint8_t * buffer, uint16_t bufLen)
-{
- return false;
-}
-
-/** @brief External Attribute Read
- *
- * Like emberAfExternalAttributeWriteCallback above, this function is called
- * when the framework needs to read an attribute that is not stored within the
- * Application Framework's data structures.
- All of the important
- * information about the attribute itself is passed as a pointer to an
- * EmberAfAttributeMetadata struct, which is stored within the application and
- * used to manage the attribute. A complete description of the
- * EmberAfAttributeMetadata struct is provided in
- * app/framework/include/af-types.h
- This function assumes that the
- * application is able to read the attribute, write it into the passed buffer,
- * and return immediately. Any attributes that require a state machine for
- * reading and writing are not really candidates for externalization at the
- * present time. The Application Framework does not currently include a state
- * machine for reading or writing attributes that must take place across a
- * series of application ticks. Attributes that cannot be read in a timely
- * manner should be stored within the Application Framework and updated
- * occasionally by the application code from within the
- * emberAfMainTickCallback.
- If the application was successfully able to
- * read the attribute and write it into the passed buffer, it should return a
- * value of EMBER_ZCL_STATUS_SUCCESS. Ensure that the size of the externally
- * managed attribute value is smaller than what the buffer can hold. In the case
- * of a buffer overflow throw an appropriate error such as
- * EMBER_ZCL_STATUS_INSUFFICIENT_SPACE. Any other return value indicates the
- * application was not able to read the attribute.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeMetadata Ver.: always
- * @param manufacturerCode Ver.: always
- * @param buffer Ver.: always
- * @param maxReadLength Ver.: always
- */
-EmberAfStatus __attribute__((weak))
-emberAfExternalAttributeReadCallback(EndpointId endpoint, ClusterId clusterId, EmberAfAttributeMetadata * attributeMetadata,
- uint16_t manufacturerCode, uint8_t * buffer, uint16_t maxReadLength)
-{
- return EMBER_ZCL_STATUS_FAILURE;
-}
-
-/** @brief Write Attributes Response
- *
- * This function is called by the application framework when a Write Attributes
- * Response command is received from an external device. The application should
- * return true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of write attribute status records.
- * Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool __attribute__((weak)) emberAfWriteAttributesResponseCallback(ClusterId clusterId, uint8_t * buffer, uint16_t bufLen)
-{
- return false;
-}
-
-/** @brief External Attribute Write
- *
- * This function is called whenever the Application Framework needs to write an
- * attribute which is not stored within the data structures of the Application
- * Framework itself. One of the new features in Version 2 is the ability to
- * store attributes outside the Framework. This is particularly useful for
- * attributes that do not need to be stored because they can be read off the
- * hardware when they are needed, or are stored in some central location used by
- * many modules within the system. In this case, you can indicate that the
- * attribute is stored externally. When the framework needs to write an external
- * attribute, it makes a call to this callback.
- This callback is very
- * useful for host micros which need to store attributes in persistent memory.
- * Because each host micro (used with an Ember NCP) has its own type of
- * persistent memory storage, the Application Framework does not include the
- * ability to mark attributes as stored in flash the way that it does for Ember
- * SoCs like the EM35x. On a host micro, any attributes that need to be stored
- * in persistent memory should be marked as external and accessed through the
- * external read and write callbacks. Any host code associated with the
- * persistent storage should be implemented within this callback.
- All of
- * the important information about the attribute itself is passed as a pointer
- * to an EmberAfAttributeMetadata struct, which is stored within the application
- * and used to manage the attribute. A complete description of the
- * EmberAfAttributeMetadata struct is provided in
- * app/framework/include/af-types.h.
- This function assumes that the
- * application is able to write the attribute and return immediately. Any
- * attributes that require a state machine for reading and writing are not
- * candidates for externalization at the present time. The Application Framework
- * does not currently include a state machine for reading or writing attributes
- * that must take place across a series of application ticks. Attributes that
- * cannot be written immediately should be stored within the Application
- * Framework and updated occasionally by the application code from within the
- * emberAfMainTickCallback.
- If the application was successfully able to
- * write the attribute, it returns a value of EMBER_ZCL_STATUS_SUCCESS. Any
- * other return value indicates the application was not able to write the
- * attribute.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeMetadata Ver.: always
- * @param manufacturerCode Ver.: always
- * @param buffer Ver.: always
- */
-EmberAfStatus __attribute__((weak))
-emberAfExternalAttributeWriteCallback(EndpointId endpoint, ClusterId clusterId, EmberAfAttributeMetadata * attributeMetadata,
- uint16_t manufacturerCode, uint8_t * buffer)
-{
- return EMBER_ZCL_STATUS_FAILURE;
-}
-
-/** @brief Report Attributes
- *
- * This function is called by the application framework when a Report Attributes
- * command is received from an external device. The application should return
- * true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this command. Ver.: always
- * @param buffer Buffer containing the list of attribute report records. Ver.:
- * always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool __attribute__((weak)) emberAfReportAttributesCallback(ClusterId clusterId, uint8_t * buffer, uint16_t bufLen)
-{
- return false;
-}
-
-/** @brief Get Current Time
- *
- * This callback is called when device attempts to get current time from the
- * hardware. If this device has means to retrieve exact time, then this method
- * should implement it. If the callback can't provide the exact time it should
- * return 0 to indicate failure. Default action is to return 0, which indicates
- * that device does not have access to real time.
- *
- */
-uint32_t __attribute__((weak)) emberAfGetCurrentTimeCallback()
-{
- return 0;
-}
-
-/** @brief Get Endpoint Info
- *
- * This function is a callback to an application implemented endpoint that
- * operates outside the normal application framework. When the framework wishes
- * to perform operations with that endpoint it uses this callback to retrieve
- * the endpoint's information. If the endpoint exists and the application can
- * provide data then true shall be returned. Otherwise the callback must return
- * false.
- *
- * @param endpoint The endpoint to retrieve data for. Ver.: always
- * @param returnNetworkIndex The index corresponding to the ZigBee network the
- * endpoint belongs to. If not using a multi-network device, 0 must be
- * returned. Otherwise on a multi-network device the stack will switch to this
- * network before sending the message. Ver.: always
- * @param returnEndpointInfo A pointer to a data struct that will be written
- * with information about the endpoint. Ver.: always
- */
-bool __attribute__((weak))
-emberAfGetEndpointInfoCallback(EndpointId endpoint, uint8_t * returnNetworkIndex, EmberAfEndpointInfoStruct * returnEndpointInfo)
-{
- return false;
-}
-
-/** @brief Registration Abort
- *
- * This callback is called when the device should abort the registration
- * process.
- *
- */
-void __attribute__((weak)) emberAfRegistrationAbortCallback() {}
-
-/** @brief Interpan Send Message
- *
- * This function will send a raw MAC message with interpan frame format using
- * the passed parameters.
- *
- * @param header Interpan header info Ver.: always
- * @param messageLength The length of the message received or to send Ver.:
- * always
- * @param message The message data received or to send. Ver.: always
- */
-EmberStatus __attribute__((weak))
-emberAfInterpanSendMessageCallback(EmberAfInterpanHeader * header, uint16_t messageLength, uint8_t * message)
-{
- return EMBER_LIBRARY_NOT_PRESENT;
-}
-
-/** @brief Start Move
- *
- * This function is called to initiate the process for a device to move (rejoin)
- * to a new parent.
- *
- */
-bool __attribute__((weak)) emberAfStartMoveCallback()
-{
- return false;
-}
diff --git a/examples/chip-tool/gen/callback.h b/examples/chip-tool/gen/callback.h
deleted file mode 100644
index 5bbfcdd..0000000
--- a/examples/chip-tool/gen/callback.h
+++ /dev/null
@@ -1,3645 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include "af-structs.h"
-#include <app/util/af-types.h>
-#include <app/util/basic-types.h>
-
-#include <app/Command.h>
-#include <lib/support/Span.h>
-
-/** @brief Cluster Init
- *
- * This function is called when a specific cluster is initialized. It gives the
- * application an opportunity to take care of cluster initialization procedures.
- * It is called exactly once for each endpoint where cluster is present.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- */
-void emberAfClusterInitCallback(chip::EndpointId endpoint, chip::ClusterId clusterId);
-
-// Cluster Init Functions
-
-/** @brief Account Login Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfAccountLoginClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Application Basic Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfApplicationBasicClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Application Launcher Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfApplicationLauncherClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Audio Output Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfAudioOutputClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Barrier Control Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfBarrierControlClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Basic Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfBasicClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Binding Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfBindingClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Color Control Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfColorControlClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Content Launch Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfContentLaunchClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Descriptor Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfDescriptorClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Door Lock Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfDoorLockClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Ethernet Network Diagnostics Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfEthernetNetworkDiagnosticsClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief General Commissioning Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGeneralCommissioningClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief General Diagnostics Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGeneralDiagnosticsClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Group Key Management Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGroupKeyManagementClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Groups Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGroupsClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Identify Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfIdentifyClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Keypad Input Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfKeypadInputClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Level Control Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfLevelControlClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Low Power Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfLowPowerClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Media Input Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfMediaInputClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Media Playback Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfMediaPlaybackClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Network Commissioning Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfNetworkCommissioningClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief On/off Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfOnOffClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Operational Credentials Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfOperationalCredentialsClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Pump Configuration and Control Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfPumpConfigurationAndControlClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Scenes Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfScenesClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Switch Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfSwitchClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief TV Channel Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTvChannelClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Target Navigator Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTargetNavigatorClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Temperature Measurement Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTemperatureMeasurementClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Test Cluster Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTestClusterClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Thermostat Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfThermostatClusterInitCallback(chip::EndpointId endpoint);
-
-/** @brief Wake on LAN Cluster Init
- *
- * Cluster Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfWakeOnLanClusterInitCallback(chip::EndpointId endpoint);
-
-// Cluster Server/Client Init Functions
-
-//
-// Account Login Cluster client
-//
-
-/** @brief Account Login Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfAccountLoginClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Account Login Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfAccountLoginClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Account Login 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 emberAfAccountLoginClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Account Login Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfAccountLoginClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Account Login 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 emberAfAccountLoginClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Account Login Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfAccountLoginClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// 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 destination The destination 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,
- chip::MessageSendDestination destination, 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, uint16_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);
-
-//
-// Application Launcher Cluster client
-//
-
-/** @brief Application Launcher Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfApplicationLauncherClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Application Launcher Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfApplicationLauncherClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Application Launcher 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 emberAfApplicationLauncherClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Application Launcher Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfApplicationLauncherClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination, EmberApsFrame * apsFrame,
- uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief Application Launcher 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 emberAfApplicationLauncherClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Application Launcher Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfApplicationLauncherClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Audio Output Cluster client
-//
-
-/** @brief Audio Output Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfAudioOutputClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Audio Output Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfAudioOutputClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Audio Output 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 emberAfAudioOutputClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Audio Output Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfAudioOutputClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Audio Output 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 emberAfAudioOutputClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Audio Output Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfAudioOutputClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Barrier Control Cluster client
-//
-
-/** @brief Barrier Control Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfBarrierControlClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Barrier Control Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfBarrierControlClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Barrier Control 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 emberAfBarrierControlClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Barrier Control Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfBarrierControlClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Barrier Control 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 emberAfBarrierControlClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Barrier Control Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfBarrierControlClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Basic Cluster client
-//
-
-/** @brief Basic Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfBasicClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Basic Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfBasicClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief 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 emberAfBasicClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Basic Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfBasicClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief 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 emberAfBasicClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Basic Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfBasicClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Binding Cluster client
-//
-
-/** @brief Binding Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfBindingClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Binding Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfBindingClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Binding 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 emberAfBindingClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Binding Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfBindingClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Binding 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 emberAfBindingClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Binding Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfBindingClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Color Control Cluster client
-//
-
-/** @brief Color Control Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfColorControlClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Color Control Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfColorControlClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Color Control 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 emberAfColorControlClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Color Control Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfColorControlClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Color Control 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 emberAfColorControlClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Color Control Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfColorControlClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Content Launch Cluster client
-//
-
-/** @brief Content Launch Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfContentLaunchClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Content Launch Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfContentLaunchClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Content Launch 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 emberAfContentLaunchClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Content Launch Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfContentLaunchClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Content Launch 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 emberAfContentLaunchClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Content Launch Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfContentLaunchClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Descriptor Cluster client
-//
-
-/** @brief Descriptor Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfDescriptorClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Descriptor Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfDescriptorClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Descriptor 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 emberAfDescriptorClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Descriptor Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfDescriptorClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Descriptor 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 emberAfDescriptorClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Descriptor Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfDescriptorClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Door Lock Cluster client
-//
-
-/** @brief Door Lock Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfDoorLockClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Door Lock Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfDoorLockClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Door Lock 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 emberAfDoorLockClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Door Lock Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfDoorLockClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Door Lock 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 emberAfDoorLockClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Door Lock Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfDoorLockClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Ethernet Network Diagnostics Cluster client
-//
-
-/** @brief Ethernet Network Diagnostics Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfEthernetNetworkDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Ethernet Network Diagnostics Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfEthernetNetworkDiagnosticsClusterClientAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId);
-
-/** @brief Ethernet Network Diagnostics 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 emberAfEthernetNetworkDiagnosticsClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Ethernet Network Diagnostics Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfEthernetNetworkDiagnosticsClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Ethernet Network Diagnostics 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 emberAfEthernetNetworkDiagnosticsClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType,
- uint16_t size, uint8_t * value);
-
-/** @brief Ethernet Network Diagnostics Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfEthernetNetworkDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// General Commissioning Cluster client
-//
-
-/** @brief General Commissioning Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGeneralCommissioningClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief General Commissioning Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfGeneralCommissioningClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief General Commissioning 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 emberAfGeneralCommissioningClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief General Commissioning Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfGeneralCommissioningClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination, EmberApsFrame * apsFrame,
- uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief General Commissioning 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 emberAfGeneralCommissioningClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief General Commissioning Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfGeneralCommissioningClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// General Diagnostics Cluster client
-//
-
-/** @brief General Diagnostics Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGeneralDiagnosticsClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief General Diagnostics Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfGeneralDiagnosticsClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief General Diagnostics 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 emberAfGeneralDiagnosticsClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief General Diagnostics Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfGeneralDiagnosticsClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination, EmberApsFrame * apsFrame,
- uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief General Diagnostics 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 emberAfGeneralDiagnosticsClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief General Diagnostics Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfGeneralDiagnosticsClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Group Key Management Cluster client
-//
-
-/** @brief Group Key Management Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGroupKeyManagementClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Group Key Management Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfGroupKeyManagementClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Group Key Management 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 emberAfGroupKeyManagementClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Group Key Management Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfGroupKeyManagementClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination, EmberApsFrame * apsFrame,
- uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief Group Key Management 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 emberAfGroupKeyManagementClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Group Key Management Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfGroupKeyManagementClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Groups Cluster client
-//
-
-/** @brief Groups Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfGroupsClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Groups Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfGroupsClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Groups 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 emberAfGroupsClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Groups Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfGroupsClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Groups 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 emberAfGroupsClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Groups Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfGroupsClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Identify Cluster client
-//
-
-/** @brief Identify Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfIdentifyClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Identify Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfIdentifyClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Identify 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 emberAfIdentifyClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Identify Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfIdentifyClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Identify 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 emberAfIdentifyClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Identify Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfIdentifyClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Keypad Input Cluster client
-//
-
-/** @brief Keypad Input Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfKeypadInputClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Keypad Input Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfKeypadInputClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Keypad Input 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 emberAfKeypadInputClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Keypad Input Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfKeypadInputClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Keypad Input 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 emberAfKeypadInputClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Keypad Input Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfKeypadInputClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Level Control Cluster client
-//
-
-/** @brief Level Control Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfLevelControlClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Level Control Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfLevelControlClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Level Control 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 emberAfLevelControlClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Level Control Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfLevelControlClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Level Control 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 emberAfLevelControlClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Level Control Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfLevelControlClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Low Power Cluster client
-//
-
-/** @brief Low Power Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfLowPowerClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Low Power Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfLowPowerClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Low Power 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 emberAfLowPowerClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Low Power Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfLowPowerClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Low Power 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 emberAfLowPowerClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Low Power Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfLowPowerClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Media Input Cluster client
-//
-
-/** @brief Media Input Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfMediaInputClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Media Input Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfMediaInputClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Media Input 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 emberAfMediaInputClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Media Input Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfMediaInputClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Media Input 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 emberAfMediaInputClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Media Input Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfMediaInputClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Media Playback Cluster client
-//
-
-/** @brief Media Playback Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfMediaPlaybackClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Media Playback Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfMediaPlaybackClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Media Playback 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 emberAfMediaPlaybackClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Media Playback Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfMediaPlaybackClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Media Playback 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 emberAfMediaPlaybackClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Media Playback Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfMediaPlaybackClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Network Commissioning Cluster client
-//
-
-/** @brief Network Commissioning Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfNetworkCommissioningClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Network Commissioning Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfNetworkCommissioningClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Network Commissioning 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 emberAfNetworkCommissioningClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Network Commissioning Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfNetworkCommissioningClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination, EmberApsFrame * apsFrame,
- uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief Network Commissioning 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 emberAfNetworkCommissioningClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Network Commissioning Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfNetworkCommissioningClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// On/off Cluster client
-//
-
-/** @brief On/off Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfOnOffClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief On/off Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfOnOffClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief On/off 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 emberAfOnOffClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief On/off Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfOnOffClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief On/off 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 emberAfOnOffClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief On/off Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfOnOffClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Operational Credentials Cluster client
-//
-
-/** @brief Operational Credentials Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfOperationalCredentialsClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Operational Credentials Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfOperationalCredentialsClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Operational Credentials 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 emberAfOperationalCredentialsClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Operational Credentials Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfOperationalCredentialsClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Operational Credentials 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 emberAfOperationalCredentialsClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType,
- uint16_t size, uint8_t * value);
-
-/** @brief Operational Credentials Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfOperationalCredentialsClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Pump Configuration and Control Cluster client
-//
-
-/** @brief Pump Configuration and Control Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfPumpConfigurationAndControlClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Pump Configuration and Control Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfPumpConfigurationAndControlClusterClientAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId);
-
-/** @brief Pump Configuration and Control 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 emberAfPumpConfigurationAndControlClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Pump Configuration and Control Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfPumpConfigurationAndControlClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen,
- uint8_t * message, EmberStatus status);
-
-/** @brief Pump Configuration and Control 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 emberAfPumpConfigurationAndControlClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType,
- uint16_t size, uint8_t * value);
-
-/** @brief Pump Configuration and Control Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfPumpConfigurationAndControlClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Scenes Cluster client
-//
-
-/** @brief Scenes Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfScenesClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Scenes Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfScenesClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Scenes 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 emberAfScenesClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Scenes Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfScenesClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Scenes 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 emberAfScenesClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Scenes Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfScenesClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Switch Cluster client
-//
-
-/** @brief Switch Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfSwitchClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Switch Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfSwitchClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Switch 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 emberAfSwitchClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Switch Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfSwitchClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Switch 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 emberAfSwitchClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Switch Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfSwitchClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// TV Channel Cluster client
-//
-
-/** @brief TV Channel Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTvChannelClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief TV Channel Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfTvChannelClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief TV Channel 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 emberAfTvChannelClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief TV Channel Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfTvChannelClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief TV Channel 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 emberAfTvChannelClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief TV Channel Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfTvChannelClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Target Navigator Cluster client
-//
-
-/** @brief Target Navigator Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTargetNavigatorClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Target Navigator Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfTargetNavigatorClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Target Navigator 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 emberAfTargetNavigatorClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Target Navigator Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfTargetNavigatorClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Target Navigator 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 emberAfTargetNavigatorClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Target Navigator Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfTargetNavigatorClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Temperature Measurement Cluster client
-//
-
-/** @brief Temperature Measurement Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTemperatureMeasurementClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Temperature Measurement Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfTemperatureMeasurementClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Temperature Measurement 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 emberAfTemperatureMeasurementClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Temperature Measurement Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfTemperatureMeasurementClusterClientMessageSentCallback(EmberOutgoingMessageType type,
- chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Temperature Measurement 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 emberAfTemperatureMeasurementClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- EmberAfAttributeType attributeType,
- uint16_t size, uint8_t * value);
-
-/** @brief Temperature Measurement Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfTemperatureMeasurementClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Test Cluster Cluster client
-//
-
-/** @brief Test Cluster Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfTestClusterClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Test Cluster Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfTestClusterClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Test Cluster 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 emberAfTestClusterClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Test Cluster Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfTestClusterClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Test Cluster 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 emberAfTestClusterClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Test Cluster Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfTestClusterClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Thermostat Cluster client
-//
-
-/** @brief Thermostat Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfThermostatClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Thermostat Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfThermostatClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Thermostat 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 emberAfThermostatClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Thermostat Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfThermostatClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Thermostat 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 emberAfThermostatClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Thermostat Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfThermostatClusterClientTickCallback(chip::EndpointId endpoint);
-
-//
-// Wake on LAN Cluster client
-//
-
-/** @brief Wake on LAN Cluster Client Init
- *
- * Client Init
- *
- * @param endpoint Endpoint that is being initialized
- */
-void emberAfWakeOnLanClusterClientInitCallback(chip::EndpointId endpoint);
-
-/** @brief Wake on LAN Cluster Client Attribute Changed
- *
- * Client Attribute Changed
- *
- * @param endpoint Endpoint that is being initialized
- * @param attributeId Attribute that changed
- */
-void emberAfWakeOnLanClusterClientAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId);
-
-/** @brief Wake on LAN 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 emberAfWakeOnLanClusterClientManufacturerSpecificAttributeChangedCallback(chip::EndpointId endpoint,
- chip::AttributeId attributeId,
- uint16_t manufacturerCode);
-
-/** @brief Wake on LAN Cluster Client Message Sent
- *
- * Client Message Sent
- *
- * @param type The type of message sent
- * @param destination The destination 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 emberAfWakeOnLanClusterClientMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination,
- EmberApsFrame * apsFrame, uint16_t msgLen, uint8_t * message,
- EmberStatus status);
-
-/** @brief Wake on LAN 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 emberAfWakeOnLanClusterClientPreAttributeChangedCallback(chip::EndpointId endpoint, chip::AttributeId attributeId,
- EmberAfAttributeType attributeType, uint16_t size,
- uint8_t * value);
-
-/** @brief Wake on LAN Cluster Client Tick
- *
- * client Tick
- *
- * @param endpoint Endpoint that is being served
- */
-void emberAfWakeOnLanClusterClientTickCallback(chip::EndpointId endpoint);
-
-// Cluster Commands Callback
-
-/**
- * @brief Account Login Cluster GetSetupPINResponse Command callback
- */
-
-bool emberAfAccountLoginClusterGetSetupPINResponseCallback(chip::app::Command * commandObj, uint8_t * setupPIN);
-
-/**
- * @brief Application Launcher Cluster LaunchAppResponse Command callback
- */
-
-bool emberAfApplicationLauncherClusterLaunchAppResponseCallback(chip::app::Command * commandObj, uint8_t status, uint8_t * data);
-
-/**
- * @brief Content Launch Cluster LaunchContentResponse Command callback
- */
-
-bool emberAfContentLaunchClusterLaunchContentResponseCallback(chip::app::Command * commandObj, uint8_t * data,
- uint8_t contentLaunchStatus);
-
-/**
- * @brief Content Launch Cluster LaunchURLResponse Command callback
- */
-
-bool emberAfContentLaunchClusterLaunchURLResponseCallback(chip::app::Command * commandObj, uint8_t * data,
- uint8_t contentLaunchStatus);
-
-/**
- * @brief Door Lock Cluster ClearAllPinsResponse Command callback
- */
-
-bool emberAfDoorLockClusterClearAllPinsResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster ClearAllRfidsResponse Command callback
- */
-
-bool emberAfDoorLockClusterClearAllRfidsResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster ClearHolidayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterClearHolidayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster ClearPinResponse Command callback
- */
-
-bool emberAfDoorLockClusterClearPinResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster ClearRfidResponse Command callback
- */
-
-bool emberAfDoorLockClusterClearRfidResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster ClearWeekdayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterClearWeekdayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster ClearYeardayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterClearYeardayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster GetHolidayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterGetHolidayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t scheduleId, uint8_t status,
- uint32_t localStartTime, uint32_t localEndTime,
- uint8_t operatingModeDuringHoliday);
-
-/**
- * @brief Door Lock Cluster GetLogRecordResponse Command callback
- */
-
-bool emberAfDoorLockClusterGetLogRecordResponseCallback(chip::app::Command * commandObj, uint16_t logEntryId, uint32_t timestamp,
- uint8_t eventType, uint8_t source, uint8_t eventIdOrAlarmCode,
- uint16_t userId, uint8_t * pin);
-
-/**
- * @brief Door Lock Cluster GetPinResponse Command callback
- */
-
-bool emberAfDoorLockClusterGetPinResponseCallback(chip::app::Command * commandObj, uint16_t userId, uint8_t userStatus,
- uint8_t userType, uint8_t * pin);
-
-/**
- * @brief Door Lock Cluster GetRfidResponse Command callback
- */
-
-bool emberAfDoorLockClusterGetRfidResponseCallback(chip::app::Command * commandObj, uint16_t userId, uint8_t userStatus,
- uint8_t userType, uint8_t * rfid);
-
-/**
- * @brief Door Lock Cluster GetUserTypeResponse Command callback
- */
-
-bool emberAfDoorLockClusterGetUserTypeResponseCallback(chip::app::Command * commandObj, uint16_t userId, uint8_t userType);
-
-/**
- * @brief Door Lock Cluster GetWeekdayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterGetWeekdayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t scheduleId, uint16_t userId,
- uint8_t status, uint8_t daysMask, uint8_t startHour,
- uint8_t startMinute, uint8_t endHour, uint8_t endMinute);
-
-/**
- * @brief Door Lock Cluster GetYeardayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterGetYeardayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t scheduleId, uint16_t userId,
- uint8_t status, uint32_t localStartTime, uint32_t localEndTime);
-
-/**
- * @brief Door Lock Cluster LockDoorResponse Command callback
- */
-
-bool emberAfDoorLockClusterLockDoorResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster SetHolidayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterSetHolidayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster SetPinResponse Command callback
- */
-
-bool emberAfDoorLockClusterSetPinResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster SetRfidResponse Command callback
- */
-
-bool emberAfDoorLockClusterSetRfidResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster SetUserTypeResponse Command callback
- */
-
-bool emberAfDoorLockClusterSetUserTypeResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster SetWeekdayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterSetWeekdayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster SetYeardayScheduleResponse Command callback
- */
-
-bool emberAfDoorLockClusterSetYeardayScheduleResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster UnlockDoorResponse Command callback
- */
-
-bool emberAfDoorLockClusterUnlockDoorResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Door Lock Cluster UnlockWithTimeoutResponse Command callback
- */
-
-bool emberAfDoorLockClusterUnlockWithTimeoutResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief General Commissioning Cluster ArmFailSafeResponse Command callback
- */
-
-bool emberAfGeneralCommissioningClusterArmFailSafeResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief General Commissioning Cluster CommissioningCompleteResponse Command callback
- */
-
-bool emberAfGeneralCommissioningClusterCommissioningCompleteResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief General Commissioning Cluster SetRegulatoryConfigResponse Command callback
- */
-
-bool emberAfGeneralCommissioningClusterSetRegulatoryConfigResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Groups Cluster AddGroupResponse Command callback
- */
-
-bool emberAfGroupsClusterAddGroupResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId);
-
-/**
- * @brief Groups Cluster GetGroupMembershipResponse Command callback
- */
-
-bool emberAfGroupsClusterGetGroupMembershipResponseCallback(chip::app::Command * commandObj, uint8_t capacity, uint8_t groupCount,
- /* TYPE WARNING: array array defaults to */ uint8_t * groupList);
-
-/**
- * @brief Groups Cluster RemoveGroupResponse Command callback
- */
-
-bool emberAfGroupsClusterRemoveGroupResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId);
-
-/**
- * @brief Groups Cluster ViewGroupResponse Command callback
- */
-
-bool emberAfGroupsClusterViewGroupResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t * groupName);
-
-/**
- * @brief Identify Cluster IdentifyQueryResponse Command callback
- */
-
-bool emberAfIdentifyClusterIdentifyQueryResponseCallback(chip::app::Command * commandObj, uint16_t timeout);
-
-/**
- * @brief Keypad Input Cluster SendKeyResponse Command callback
- */
-
-bool emberAfKeypadInputClusterSendKeyResponseCallback(chip::app::Command * commandObj, uint8_t status);
-
-/**
- * @brief Media Playback Cluster MediaFastForwardResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaFastForwardResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaNextResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaNextResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaPauseResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaPauseResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaPlayResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaPlayResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaPreviousResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaPreviousResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaRewindResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaRewindResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaSkipBackwardResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaSkipBackwardResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaSkipForwardResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaSkipForwardResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaSkipSeekResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaSkipSeekResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaStartOverResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaStartOverResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Media Playback Cluster MediaStopResponse Command callback
- */
-
-bool emberAfMediaPlaybackClusterMediaStopResponseCallback(chip::app::Command * commandObj, uint8_t mediaPlaybackStatus);
-
-/**
- * @brief Network Commissioning Cluster AddThreadNetworkResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterAddThreadNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Network Commissioning Cluster AddWiFiNetworkResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterAddWiFiNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Network Commissioning Cluster DisableNetworkResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterDisableNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Network Commissioning Cluster EnableNetworkResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterEnableNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Network Commissioning Cluster RemoveNetworkResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterRemoveNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Network Commissioning Cluster ScanNetworksResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterScanNetworksResponseCallback(
- chip::app::Command * commandObj, uint8_t errorCode, uint8_t * debugText,
- /* TYPE WARNING: array array defaults to */ uint8_t * wifiScanResults,
- /* TYPE WARNING: array array defaults to */ uint8_t * threadScanResults);
-
-/**
- * @brief Network Commissioning Cluster UpdateThreadNetworkResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterUpdateThreadNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Network Commissioning Cluster UpdateWiFiNetworkResponse Command callback
- */
-
-bool emberAfNetworkCommissioningClusterUpdateWiFiNetworkResponseCallback(chip::app::Command * commandObj, uint8_t errorCode,
- uint8_t * debugText);
-
-/**
- * @brief Operational Credentials Cluster OpCSRResponse Command callback
- */
-
-bool emberAfOperationalCredentialsClusterOpCSRResponseCallback(chip::app::Command * commandObj, chip::ByteSpan CSR,
- chip::ByteSpan CSRNonce, chip::ByteSpan VendorReserved1,
- chip::ByteSpan VendorReserved2, chip::ByteSpan VendorReserved3,
- chip::ByteSpan Signature);
-
-/**
- * @brief Operational Credentials Cluster OpCertResponse Command callback
- */
-
-bool emberAfOperationalCredentialsClusterOpCertResponseCallback(chip::app::Command * commandObj, uint8_t StatusCode,
- uint64_t FabricIndex, uint8_t * DebugText);
-
-/**
- * @brief Operational Credentials Cluster SetFabricResponse Command callback
- */
-
-bool emberAfOperationalCredentialsClusterSetFabricResponseCallback(chip::app::Command * commandObj, chip::FabricId FabricId);
-
-/**
- * @brief Scenes Cluster AddSceneResponse Command callback
- */
-
-bool emberAfScenesClusterAddSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId);
-
-/**
- * @brief Scenes Cluster GetSceneMembershipResponse Command callback
- */
-
-bool emberAfScenesClusterGetSceneMembershipResponseCallback(chip::app::Command * commandObj, uint8_t status, uint8_t capacity,
- uint16_t groupId, uint8_t sceneCount,
- /* TYPE WARNING: array array defaults to */ uint8_t * sceneList);
-
-/**
- * @brief Scenes Cluster RemoveAllScenesResponse Command callback
- */
-
-bool emberAfScenesClusterRemoveAllScenesResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId);
-
-/**
- * @brief Scenes Cluster RemoveSceneResponse Command callback
- */
-
-bool emberAfScenesClusterRemoveSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId);
-
-/**
- * @brief Scenes Cluster StoreSceneResponse Command callback
- */
-
-bool emberAfScenesClusterStoreSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId);
-
-/**
- * @brief Scenes Cluster ViewSceneResponse Command callback
- */
-
-bool emberAfScenesClusterViewSceneResponseCallback(chip::app::Command * commandObj, uint8_t status, uint16_t groupId,
- uint8_t sceneId, uint16_t transitionTime, uint8_t * sceneName,
- /* TYPE WARNING: array array defaults to */ uint8_t * extensionFieldSets);
-
-/**
- * @brief TV Channel Cluster ChangeChannelResponse Command callback
- */
-
-bool emberAfTvChannelClusterChangeChannelResponseCallback(chip::app::Command * commandObj,
- /* TYPE WARNING: array array defaults to */ uint8_t * ChannelMatch,
- uint8_t ErrorType);
-
-/**
- * @brief Target Navigator Cluster NavigateTargetResponse Command callback
- */
-
-bool emberAfTargetNavigatorClusterNavigateTargetResponseCallback(chip::app::Command * commandObj, uint8_t status, uint8_t * data);
-
-/**
- * @brief Test Cluster Cluster TestSpecificResponse Command callback
- */
-
-bool emberAfTestClusterClusterTestSpecificResponseCallback(chip::app::Command * commandObj, uint8_t returnValue);
-
-/**
- * @brief Thermostat Cluster CurrentWeeklySchedule Command callback
- */
-
-bool emberAfThermostatClusterCurrentWeeklyScheduleCallback(chip::app::Command * commandObj, uint8_t numberOfTransitionsForSequence,
- uint8_t dayOfWeekForSequence, uint8_t modeForSequence,
- /* TYPE WARNING: array array defaults to */ uint8_t * payload);
-
-/**
- * @brief Thermostat Cluster RelayStatusLog Command callback
- */
-
-bool emberAfThermostatClusterRelayStatusLogCallback(chip::app::Command * commandObj, uint16_t timeOfDay, uint16_t relayStatus,
- int16_t localTemperature, uint8_t humidityInPercentage, int16_t setpoint,
- uint16_t unreadEntries);
-
-//
-// Non-Cluster Related Callbacks
-//
-
-/** @brief Add To Current App Tasks
- *
- * This function is only useful to sleepy end devices. This function will note
- * the passed item as part of a set of tasks the application has outstanding
- * (e.g. message sent requiring APS acknwoledgement). This will affect how the
- * application behaves with regard to sleeping and polling. Until the
- * outstanding task is completed, the device may poll more frequently and sleep
- * less often.
- *
- * @param tasks Ver.: always
- */
-void emberAfAddToCurrentAppTasksCallback(EmberAfApplicationTask tasks);
-
-/** @brief Remove From Current App Tasks
- *
- * This function is only useful to sleepy end devices. This function will
- * remove the passed item from the set of tasks the application has outstanding
- * (e.g. message sent requiring APS acknwoledgement). This will affect how the
- * application behaves with regard to sleeping and polling. Removing the item
- * from the list of outstanding tasks may allow the device to sleep longer and
- * poll less frequently. If there are other outstanding tasks the system may
- * still have to stay away and poll more often.
- *
- * @param tasks Ver.: always
- */
-void emberAfRemoveFromCurrentAppTasksCallback(EmberAfApplicationTask tasks);
-
-/** @brief Allow Network Write Attribute
- *
- * This function is called by the application framework before it writes an
- * attribute in response to a write attribute request from an external device.
- * The value passed into this callback is the value to which the attribute is to
- * be set by the framework.
- Example: In mirroring simple metering data
- * on an Energy Services Interface (ESI) (formerly called Energy Service Portal
- * (ESP) in SE 1.0).), a mirrored simple meter needs to write read-only
- * attributes on its mirror. The-meter-mirror sample application, located in
- * app/framework/sample-apps, uses this callback to allow the mirrored device to
- * write simple metering attributes on the mirror regardless of the fact that
- * most simple metering attributes are defined as read-only by the ZigBee
- * specification.
- Note: The ZCL specification does not (as of this
- * writing) specify any permission-level security for writing writeable
- * attributes. As far as the ZCL specification is concerned, if an attribute is
- * writeable, any device that has a link key for the device should be able to
- * write that attribute. Furthermore if an attribute is read only, it should not
- * be written over the air. Thus, if you implement permissions for writing
- * attributes as a feature, you MAY be operating outside the specification. This
- * is unlikely to be a problem for writing read-only attributes, but it may be a
- * problem for attributes that are writeable according to the specification but
- * restricted by the application implementing this callback.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeId Ver.: always
- * @param mask Ver.: always
- * @param manufacturerCode Ver.: always
- * @param value Ver.: always
- * @param type Ver.: always
- */
-EmberAfAttributeWritePermission emberAfAllowNetworkWriteAttributeCallback(chip::EndpointId endpoint, chip::ClusterId clusterId,
- chip::AttributeId attributeId, uint8_t mask,
- uint16_t manufacturerCode, uint8_t * value, uint8_t type);
-
-/** @brief Attribute Read Access
- *
- * This function is called whenever the Application Framework needs to check
- * access permission for an attribute read.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param manufacturerCode Ver.: always
- * @param attributeId Ver.: always
- */
-bool emberAfAttributeReadAccessCallback(chip::EndpointId endpoint, chip::ClusterId clusterId, uint16_t manufacturerCode,
- chip::AttributeId attributeId);
-
-/** @brief Attribute Write Access
- *
- * This function is called whenever the Application Framework needs to check
- * access permission for an attribute write.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param manufacturerCode Ver.: always
- * @param attributeId Ver.: always
- */
-bool emberAfAttributeWriteAccessCallback(chip::EndpointId endpoint, chip::ClusterId clusterId, uint16_t manufacturerCode,
- chip::AttributeId attributeId);
-
-/** @brief Default Response
- *
- * This function is called by the application framework when a Default Response
- * command is received from an external device. The application should return
- * true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param commandId The command identifier to which this is a response. Ver.:
- * always
- * @param status Specifies either SUCCESS or the nature of the error that was
- * detected in the received command. Ver.: always
- */
-bool emberAfDefaultResponseCallback(chip::ClusterId clusterId, chip::CommandId commandId, EmberAfStatus status);
-
-/** @brief Configure Reporting Response
- *
- * This function is called by the application framework when a Configure
- * Reporting Response command is received from an external device. The
- * application should return true if the message was processed or false if it
- * was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of attribute status records. Ver.:
- * always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool emberAfConfigureReportingResponseCallback(chip::ClusterId clusterId, uint8_t * buffer, uint16_t bufLen);
-
-/** @brief Read Reporting Configuration Response
- *
- * This function is called by the application framework when a Read Reporting
- * Configuration Response command is received from an external device. The
- * application should return true if the message was processed or false if it
- * was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of attribute reporting configuration
- * records. Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool emberAfReadReportingConfigurationResponseCallback(chip::ClusterId clusterId, uint8_t * buffer, uint16_t bufLen);
-
-/** @brief Discover Attributes Response
- *
- * This function is called by the application framework when a Discover
- * Attributes Response or Discover Attributes Extended Response command is
- * received from an external device. The Discover Attributes Response command
- * contains a bool indicating if discovery is complete and a list of zero or
- * more attribute identifier/type records. The final argument indicates whether
- * the response is in the extended format or not. The application should return
- * true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param discoveryComplete Indicates whether there are more attributes to be
- * discovered. true if there are no more attributes to be discovered. Ver.:
- * always
- * @param buffer Buffer containing the list of attribute identifier/type
- * records. Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- * @param extended Indicates whether the response is in the extended format or
- * not. Ver.: always
- */
-bool emberAfDiscoverAttributesResponseCallback(chip::ClusterId clusterId, bool discoveryComplete, uint8_t * buffer, uint16_t bufLen,
- bool extended);
-
-/** @brief Discover Commands Generated Response
- *
- * This function is called by the framework when Discover Commands Generated
- * Response is received.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param manufacturerCode Manufacturer code Ver.: always
- * @param discoveryComplete Indicates whether there are more commands to be
- * discovered. Ver.: always
- * @param commandIds Buffer containing the list of command identifiers. Ver.:
- * always
- * @param commandIdCount The length of bytes of the list, whish is the same as
- * the number of identifiers. Ver.: always
- */
-bool emberAfDiscoverCommandsGeneratedResponseCallback(chip::ClusterId clusterId, uint16_t manufacturerCode, bool discoveryComplete,
- chip::CommandId * commandIds, uint16_t commandIdCount);
-
-/** @brief Discover Commands Received Response
- *
- * This function is called by the framework when Discover Commands Received
- * Response is received.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param manufacturerCode Manufacturer code Ver.: always
- * @param discoveryComplete Indicates whether there are more commands to be
- * discovered. Ver.: always
- * @param commandIds Buffer containing the list of command identifiers. Ver.:
- * always
- * @param commandIdCount The length of bytes of the list, whish is the same as
- * the number of identifiers. Ver.: always
- */
-bool emberAfDiscoverCommandsReceivedResponseCallback(chip::ClusterId clusterId, uint16_t manufacturerCode, bool discoveryComplete,
- chip::CommandId * commandIds, uint16_t commandIdCount);
-
-/** @brief Pre Command Received
- *
- * This callback is the second in the Application Framework's message processing
- * chain. At this point in the processing of incoming over-the-air messages, the
- * application has determined that the incoming message is a ZCL command. It
- * parses enough of the message to populate an EmberAfClusterCommand struct. The
- * Application Framework defines this struct value in a local scope to the
- * command processing but also makes it available through a global pointer
- * called emberAfCurrentCommand, in app/framework/util/util.c. When command
- * processing is complete, this pointer is cleared.
- *
- * @param cmd Ver.: always
- */
-bool emberAfPreCommandReceivedCallback(EmberAfClusterCommand * cmd);
-
-/** @brief Pre Message Send
- *
- * This function is called by the framework when it is about to pass a message
- * to the stack primitives for sending. This message may or may not be ZCL,
- * ZDO, or some other protocol. This is called prior to
- any ZigBee
- * fragmentation that may be done. If the function returns true it is assumed
- * the callback has consumed and processed the message. The callback must also
- * set the EmberStatus status code to be passed back to the caller. The
- * framework will do no further processing on the message.
- If the
- * function returns false then it is assumed that the callback has not processed
- * the mesasge and the framework will continue to process accordingly.
- *
- * @param messageStruct The structure containing the parameters of the APS
- * message to be sent. Ver.: always
- * @param status A pointer to the status code value that will be returned to the
- * caller. Ver.: always
- */
-bool emberAfPreMessageSendCallback(EmberAfMessageStruct * messageStruct, EmberStatus * status);
-
-/** @brief Message Sent
- *
- * This function is called by the application framework from the message sent
- * handler, when it is informed by the stack regarding the message sent status.
- * All of the values passed to the emberMessageSentHandler are passed on to this
- * callback. This provides an opportunity for the application to verify that its
- * message has been sent successfully and take the appropriate action. This
- * callback should return a bool value of true or false. A value of true
- * indicates that the message sent notification has been handled and should not
- * be handled by the application framework.
- *
- * @param type Ver.: always
- * @param destination Ver.: always
- * @param apsFrame Ver.: always
- * @param msgLen Ver.: always
- * @param message Ver.: always
- * @param status Ver.: always
- */
-bool emberAfMessageSentCallback(EmberOutgoingMessageType type, chip::MessageSendDestination destination, EmberApsFrame * apsFrame,
- uint16_t msgLen, uint8_t * message, EmberStatus status);
-
-/** @brief Pre Attribute Change
- *
- * This function is called by the application framework before it changes an
- * attribute value. The value passed into this callback is the value to which
- * the attribute is to be set by the framework. The application should return
- * ::EMBER_ZCL_STATUS_SUCCESS to permit the change or any other ::EmberAfStatus
- * to reject it.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeId Ver.: always
- * @param mask Ver.: always
- * @param manufacturerCode Ver.: always
- * @param type Ver.: always
- * @param size Ver.: always
- * @param value Ver.: always
- */
-EmberAfStatus emberAfPreAttributeChangeCallback(chip::EndpointId endpoint, chip::ClusterId clusterId, chip::AttributeId attributeId,
- uint8_t mask, uint16_t manufacturerCode, uint8_t type, uint16_t size,
- uint8_t * value);
-
-/** @brief Post Attribute Change
- *
- * This function is called by the application framework after it changes an
- * attribute value. The value passed into this callback is the value to which
- * the attribute was set by the framework.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeId Ver.: always
- * @param mask Ver.: always
- * @param manufacturerCode Ver.: always
- * @param type Ver.: always
- * @param size Ver.: always
- * @param value Ver.: always
- */
-void emberAfPostAttributeChangeCallback(chip::EndpointId endpoint, chip::ClusterId clusterId, chip::AttributeId attributeId,
- uint8_t mask, uint16_t manufacturerCode, uint8_t type, uint16_t size, uint8_t * value);
-
-/** @brief Read Attributes Response
- *
- * This function is called by the application framework when a Read Attributes
- * Response command is received from an external device. The application should
- * return true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of read attribute status records.
- * Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool emberAfReadAttributesResponseCallback(chip::ClusterId clusterId, uint8_t * buffer, uint16_t bufLen);
-
-/** @brief External Attribute Read
- *
- * Like emberAfExternalAttributeWriteCallback above, this function is called
- * when the framework needs to read an attribute that is not stored within the
- * Application Framework's data structures.
- All of the important
- * information about the attribute itself is passed as a pointer to an
- * EmberAfAttributeMetadata struct, which is stored within the application and
- * used to manage the attribute. A complete description of the
- * EmberAfAttributeMetadata struct is provided in
- * app/framework/include/af-types.h
- This function assumes that the
- * application is able to read the attribute, write it into the passed buffer,
- * and return immediately. Any attributes that require a state machine for
- * reading and writing are not really candidates for externalization at the
- * present time. The Application Framework does not currently include a state
- * machine for reading or writing attributes that must take place across a
- * series of application ticks. Attributes that cannot be read in a timely
- * manner should be stored within the Application Framework and updated
- * occasionally by the application code from within the
- * emberAfMainTickCallback.
- If the application was successfully able to
- * read the attribute and write it into the passed buffer, it should return a
- * value of EMBER_ZCL_STATUS_SUCCESS. Ensure that the size of the externally
- * managed attribute value is smaller than what the buffer can hold. In the case
- * of a buffer overflow throw an appropriate error such as
- * EMBER_ZCL_STATUS_INSUFFICIENT_SPACE. Any other return value indicates the
- * application was not able to read the attribute.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeMetadata Ver.: always
- * @param manufacturerCode Ver.: always
- * @param buffer Ver.: always
- * @param maxReadLength Ver.: always
- */
-EmberAfStatus emberAfExternalAttributeReadCallback(chip::EndpointId endpoint, chip::ClusterId clusterId,
- EmberAfAttributeMetadata * attributeMetadata, uint16_t manufacturerCode,
- uint8_t * buffer, uint16_t maxReadLength);
-
-/** @brief Write Attributes Response
- *
- * This function is called by the application framework when a Write Attributes
- * Response command is received from an external device. The application should
- * return true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this response. Ver.: always
- * @param buffer Buffer containing the list of write attribute status records.
- * Ver.: always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool emberAfWriteAttributesResponseCallback(chip::ClusterId clusterId, uint8_t * buffer, uint16_t bufLen);
-
-/** @brief External Attribute Write
- *
- * This function is called whenever the Application Framework needs to write an
- * attribute which is not stored within the data structures of the Application
- * Framework itself. One of the new features in Version 2 is the ability to
- * store attributes outside the Framework. This is particularly useful for
- * attributes that do not need to be stored because they can be read off the
- * hardware when they are needed, or are stored in some central location used by
- * many modules within the system. In this case, you can indicate that the
- * attribute is stored externally. When the framework needs to write an external
- * attribute, it makes a call to this callback.
- This callback is very
- * useful for host micros which need to store attributes in persistent memory.
- * Because each host micro (used with an Ember NCP) has its own type of
- * persistent memory storage, the Application Framework does not include the
- * ability to mark attributes as stored in flash the way that it does for Ember
- * SoCs like the EM35x. On a host micro, any attributes that need to be stored
- * in persistent memory should be marked as external and accessed through the
- * external read and write callbacks. Any host code associated with the
- * persistent storage should be implemented within this callback.
- All of
- * the important information about the attribute itself is passed as a pointer
- * to an EmberAfAttributeMetadata struct, which is stored within the application
- * and used to manage the attribute. A complete description of the
- * EmberAfAttributeMetadata struct is provided in
- * app/framework/include/af-types.h.
- This function assumes that the
- * application is able to write the attribute and return immediately. Any
- * attributes that require a state machine for reading and writing are not
- * candidates for externalization at the present time. The Application Framework
- * does not currently include a state machine for reading or writing attributes
- * that must take place across a series of application ticks. Attributes that
- * cannot be written immediately should be stored within the Application
- * Framework and updated occasionally by the application code from within the
- * emberAfMainTickCallback.
- If the application was successfully able to
- * write the attribute, it returns a value of EMBER_ZCL_STATUS_SUCCESS. Any
- * other return value indicates the application was not able to write the
- * attribute.
- *
- * @param endpoint Ver.: always
- * @param clusterId Ver.: always
- * @param attributeMetadata Ver.: always
- * @param manufacturerCode Ver.: always
- * @param buffer Ver.: always
- */
-EmberAfStatus emberAfExternalAttributeWriteCallback(chip::EndpointId endpoint, chip::ClusterId clusterId,
- EmberAfAttributeMetadata * attributeMetadata, uint16_t manufacturerCode,
- uint8_t * buffer);
-
-/** @brief Report Attributes
- *
- * This function is called by the application framework when a Report Attributes
- * command is received from an external device. The application should return
- * true if the message was processed or false if it was not.
- *
- * @param clusterId The cluster identifier of this command. Ver.: always
- * @param buffer Buffer containing the list of attribute report records. Ver.:
- * always
- * @param bufLen The length in bytes of the list. Ver.: always
- */
-bool emberAfReportAttributesCallback(chip::ClusterId clusterId, uint8_t * buffer, uint16_t bufLen);
-
-/** @brief Get Current Time
- *
- * This callback is called when device attempts to get current time from the
- * hardware. If this device has means to retrieve exact time, then this method
- * should implement it. If the callback can't provide the exact time it should
- * return 0 to indicate failure. Default action is to return 0, which indicates
- * that device does not have access to real time.
- *
- */
-uint32_t emberAfGetCurrentTimeCallback();
-
-/** @brief Get Endpoint Info
- *
- * This function is a callback to an application implemented endpoint that
- * operates outside the normal application framework. When the framework wishes
- * to perform operations with that endpoint it uses this callback to retrieve
- * the endpoint's information. If the endpoint exists and the application can
- * provide data then true shall be returned. Otherwise the callback must return
- * false.
- *
- * @param endpoint The endpoint to retrieve data for. Ver.: always
- * @param returnNetworkIndex The index corresponding to the ZigBee network the
- * endpoint belongs to. If not using a multi-network device, 0 must be
- * returned. Otherwise on a multi-network device the stack will switch to this
- * network before sending the message. Ver.: always
- * @param returnEndpointInfo A pointer to a data struct that will be written
- * with information about the endpoint. Ver.: always
- */
-bool emberAfGetEndpointInfoCallback(chip::EndpointId endpoint, uint8_t * returnNetworkIndex,
- EmberAfEndpointInfoStruct * returnEndpointInfo);
-
-/** @brief Registration Abort
- *
- * This callback is called when the device should abort the registration
- * process.
- *
- */
-void emberAfRegistrationAbortCallback();
-
-/** @brief Interpan Send Message
- *
- * This function will send a raw MAC message with interpan frame format using
- * the passed parameters.
- *
- * @param header Interpan header info Ver.: always
- * @param messageLength The length of the message received or to send Ver.:
- * always
- * @param message The message data received or to send. Ver.: always
- */
-EmberStatus emberAfInterpanSendMessageCallback(EmberAfInterpanHeader * header, uint16_t messageLength, uint8_t * message);
-
-/** @brief Start Move
- *
- * This function is called to initiate the process for a device to move (rejoin)
- * to a new parent.
- *
- */
-bool emberAfStartMoveCallback();
diff --git a/examples/chip-tool/gen/client-command-macro.h b/examples/chip-tool/gen/client-command-macro.h
deleted file mode 100644
index 3d1da11..0000000
--- a/examples/chip-tool/gen/client-command-macro.h
+++ /dev/null
@@ -1,7090 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-/** @brief Command description for ReadAttributes
- *
- * Command: ReadAttributes
- * @param attributeIds ATTRIBUTE_ID []
- * @param attributeIdsLen int
- */
-#define emberAfFillCommandGlobalReadAttributes(clusterId, attributeIds, attributeIdsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_READ_ATTRIBUTES_COMMAND_ID, "b", attributeIds, attributeIdsLen);
-
-/** @brief Command description for ReadAttributesResponse
- *
- * Command: ReadAttributesResponse
- * @param readAttributeStatusRecords ReadAttributeStatusRecord []
- * @param readAttributeStatusRecordsLen int
- */
-#define emberAfFillCommandGlobalReadAttributesResponse(clusterId, readAttributeStatusRecords, readAttributeStatusRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_READ_ATTRIBUTES_RESPONSE_COMMAND_ID, "b", readAttributeStatusRecords, \
- readAttributeStatusRecordsLen);
-
-/** @brief Command description for WriteAttributes
- *
- * Command: WriteAttributes
- * @param writeAttributeRecords WriteAttributeRecord []
- * @param writeAttributeRecordsLen int
- */
-#define emberAfFillCommandGlobalWriteAttributes(clusterId, writeAttributeRecords, writeAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_WRITE_ATTRIBUTES_COMMAND_ID, "b", writeAttributeRecords, \
- writeAttributeRecordsLen);
-
-/** @brief Command description for WriteAttributesUndivided
- *
- * Command: WriteAttributesUndivided
- * @param writeAttributeRecords WriteAttributeRecord []
- * @param writeAttributeRecordsLen int
- */
-#define emberAfFillCommandGlobalWriteAttributesUndivided(clusterId, writeAttributeRecords, writeAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_WRITE_ATTRIBUTES_UNDIVIDED_COMMAND_ID, "b", writeAttributeRecords, \
- writeAttributeRecordsLen);
-
-/** @brief Command description for WriteAttributesResponse
- *
- * Command: WriteAttributesResponse
- * @param writeAttributeStatusRecords WriteAttributeStatusRecord []
- * @param writeAttributeStatusRecordsLen int
- */
-#define emberAfFillCommandGlobalWriteAttributesResponse(clusterId, writeAttributeStatusRecords, writeAttributeStatusRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_WRITE_ATTRIBUTES_RESPONSE_COMMAND_ID, "b", writeAttributeStatusRecords, \
- writeAttributeStatusRecordsLen);
-
-/** @brief Command description for WriteAttributesNoResponse
- *
- * Command: WriteAttributesNoResponse
- * @param writeAttributeRecords WriteAttributeRecord []
- * @param writeAttributeRecordsLen int
- */
-#define emberAfFillCommandGlobalWriteAttributesNoResponse(clusterId, writeAttributeRecords, writeAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_WRITE_ATTRIBUTES_NO_RESPONSE_COMMAND_ID, "b", writeAttributeRecords, \
- writeAttributeRecordsLen);
-
-/** @brief Command description for ConfigureReporting
- *
- * Command: ConfigureReporting
- * @param configureReportingRecords ConfigureReportingRecord []
- * @param configureReportingRecordsLen int
- */
-#define emberAfFillCommandGlobalConfigureReporting(clusterId, configureReportingRecords, configureReportingRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_CONFIGURE_REPORTING_COMMAND_ID, "b", configureReportingRecords, \
- configureReportingRecordsLen);
-
-/** @brief Command description for ConfigureReportingResponse
- *
- * Command: ConfigureReportingResponse
- * @param configureReportingStatusRecords ConfigureReportingStatusRecord []
- * @param configureReportingStatusRecordsLen int
- */
-#define emberAfFillCommandGlobalConfigureReportingResponse(clusterId, configureReportingStatusRecords, \
- configureReportingStatusRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_CONFIGURE_REPORTING_RESPONSE_COMMAND_ID, "b", configureReportingStatusRecords, \
- configureReportingStatusRecordsLen);
-
-/** @brief Command description for ReadReportingConfiguration
- *
- * Command: ReadReportingConfiguration
- * @param readReportingConfigurationAttributeRecords ReadReportingConfigurationAttributeRecord []
- * @param readReportingConfigurationAttributeRecordsLen int
- */
-#define emberAfFillCommandGlobalReadReportingConfiguration(clusterId, readReportingConfigurationAttributeRecords, \
- readReportingConfigurationAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_READ_REPORTING_CONFIGURATION_COMMAND_ID, "b", \
- readReportingConfigurationAttributeRecords, readReportingConfigurationAttributeRecordsLen);
-
-/** @brief Command description for ReadReportingConfigurationResponse
- *
- * Command: ReadReportingConfigurationResponse
- * @param readReportingConfigurationRecords ReadReportingConfigurationRecord []
- * @param readReportingConfigurationRecordsLen int
- */
-#define emberAfFillCommandGlobalReadReportingConfigurationResponse(clusterId, readReportingConfigurationRecords, \
- readReportingConfigurationRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_READ_REPORTING_CONFIGURATION_RESPONSE_COMMAND_ID, "b", \
- readReportingConfigurationRecords, readReportingConfigurationRecordsLen);
-
-/** @brief Command description for ReportAttributes
- *
- * Command: ReportAttributes
- * @param reportAttributeRecords ReportAttributeRecord []
- * @param reportAttributeRecordsLen int
- */
-#define emberAfFillCommandGlobalReportAttributes(clusterId, reportAttributeRecords, reportAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_REPORT_ATTRIBUTES_COMMAND_ID, "b", reportAttributeRecords, \
- reportAttributeRecordsLen);
-
-/** @brief Command description for DefaultResponse
- *
- * Command: DefaultResponse
- * @param commandId INT8U
- * @param status Status
- */
-#define emberAfFillCommandGlobalDefaultResponse(clusterId, commandId, status) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DEFAULT_RESPONSE_COMMAND_ID, "uu", commandId, status);
-
-/** @brief Command description for DiscoverAttributes
- *
- * Command: DiscoverAttributes
- * @param startId ATTRIBUTE_ID
- * @param maxAttributeIds INT8U
- */
-#define emberAfFillCommandGlobalDiscoverAttributes(clusterId, startId, maxAttributeIds) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_ATTRIBUTES_COMMAND_ID, "uu", startId, maxAttributeIds);
-
-/** @brief Command description for DiscoverAttributesResponse
- *
- * Command: DiscoverAttributesResponse
- * @param discoveryComplete INT8U
- * @param discoverAttributesInfoRecords DiscoverAttributesInfoRecord []
- * @param discoverAttributesInfoRecordsLen int
- */
-#define emberAfFillCommandGlobalDiscoverAttributesResponse(clusterId, discoveryComplete, discoverAttributesInfoRecords, \
- discoverAttributesInfoRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_ATTRIBUTES_RESPONSE_COMMAND_ID, "ub", discoveryComplete, \
- discoverAttributesInfoRecords, discoverAttributesInfoRecordsLen);
-
-/** @brief Command description for ReadAttributesStructured
- *
- * Command: ReadAttributesStructured
- * @param readStructuredAttributeRecords ReadStructuredAttributeRecord []
- * @param readStructuredAttributeRecordsLen int
- */
-#define emberAfFillCommandGlobalReadAttributesStructured(clusterId, readStructuredAttributeRecords, \
- readStructuredAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_READ_ATTRIBUTES_STRUCTURED_COMMAND_ID, "b", readStructuredAttributeRecords, \
- readStructuredAttributeRecordsLen);
-
-/** @brief Command description for WriteAttributesStructured
- *
- * Command: WriteAttributesStructured
- * @param writeStructuredAttributeRecords WriteStructuredAttributeRecord []
- * @param writeStructuredAttributeRecordsLen int
- */
-#define emberAfFillCommandGlobalWriteAttributesStructured(clusterId, writeStructuredAttributeRecords, \
- writeStructuredAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_WRITE_ATTRIBUTES_STRUCTURED_COMMAND_ID, "b", writeStructuredAttributeRecords, \
- writeStructuredAttributeRecordsLen);
-
-/** @brief Command description for WriteAttributesStructuredResponse
- *
- * Command: WriteAttributesStructuredResponse
- * @param writeStructuredAttributeStatusRecords WriteStructuredAttributeStatusRecord []
- * @param writeStructuredAttributeStatusRecordsLen int
- */
-#define emberAfFillCommandGlobalWriteAttributesStructuredResponse(clusterId, writeStructuredAttributeStatusRecords, \
- writeStructuredAttributeStatusRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_WRITE_ATTRIBUTES_STRUCTURED_RESPONSE_COMMAND_ID, "b", \
- writeStructuredAttributeStatusRecords, writeStructuredAttributeStatusRecordsLen);
-
-/** @brief Command description for DiscoverCommandsReceived
- *
- * Command: DiscoverCommandsReceived
- * @param startCommandId INT8U
- * @param maxCommandIds INT8U
- */
-#define emberAfFillCommandGlobalDiscoverCommandsReceived(clusterId, startCommandId, maxCommandIds) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_COMMANDS_RECEIVED_COMMAND_ID, "uu", startCommandId, maxCommandIds);
-
-/** @brief Command description for DiscoverCommandsReceivedResponse
- *
- * Command: DiscoverCommandsReceivedResponse
- * @param discoveryComplete INT8U
- * @param commandIds INT8U []
- * @param commandIdsLen int
- */
-#define emberAfFillCommandGlobalDiscoverCommandsReceivedResponse(clusterId, discoveryComplete, commandIds, commandIdsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_COMMANDS_RECEIVED_RESPONSE_COMMAND_ID, "ub", discoveryComplete, \
- commandIds, commandIdsLen);
-
-/** @brief Command description for DiscoverCommandsGenerated
- *
- * Command: DiscoverCommandsGenerated
- * @param startCommandId INT8U
- * @param maxCommandIds INT8U
- */
-#define emberAfFillCommandGlobalDiscoverCommandsGenerated(clusterId, startCommandId, maxCommandIds) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_COMMANDS_GENERATED_COMMAND_ID, "uu", startCommandId, maxCommandIds);
-
-/** @brief Command description for DiscoverCommandsGeneratedResponse
- *
- * Command: DiscoverCommandsGeneratedResponse
- * @param discoveryComplete INT8U
- * @param commandIds INT8U []
- * @param commandIdsLen int
- */
-#define emberAfFillCommandGlobalDiscoverCommandsGeneratedResponse(clusterId, discoveryComplete, commandIds, commandIdsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_COMMANDS_GENERATED_RESPONSE_COMMAND_ID, "ub", discoveryComplete, \
- commandIds, commandIdsLen);
-
-/** @brief Command description for DiscoverAttributesExtended
- *
- * Command: DiscoverAttributesExtended
- * @param startId ATTRIBUTE_ID
- * @param maxAttributeIds INT8U
- */
-#define emberAfFillCommandGlobalDiscoverAttributesExtended(clusterId, startId, maxAttributeIds) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_ATTRIBUTES_EXTENDED_COMMAND_ID, "uu", startId, maxAttributeIds);
-
-/** @brief Command description for DiscoverAttributesExtendedResponse
- *
- * Command: DiscoverAttributesExtendedResponse
- * @param discoveryComplete INT8U
- * @param extendedDiscoverAttributesInfoRecords ExtendedDiscoverAttributesInfoRecord []
- * @param extendedDiscoverAttributesInfoRecordsLen int
- */
-#define emberAfFillCommandGlobalDiscoverAttributesExtendedResponse( \
- clusterId, discoveryComplete, extendedDiscoverAttributesInfoRecords, extendedDiscoverAttributesInfoRecordsLen) \
- emberAfFillExternalBuffer(mask, clusterId, ZCL_DISCOVER_ATTRIBUTES_EXTENDED_RESPONSE_COMMAND_ID, "ub", discoveryComplete, \
- extendedDiscoverAttributesInfoRecords, extendedDiscoverAttributesInfoRecordsLen);
-
-/** @brief Command description for Identify
- *
- * Command: Identify
- * @param identifyTime INT16U
- * @param timeout INT16U
- */
-#define emberAfFillCommandIdentifyClusterIdentify(identifyTime, timeout) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_IDENTIFY_COMMAND_ID, "uu", identifyTime, timeout);
-
-/** @brief Command description for IdentifyQuery
- *
- * Command: IdentifyQuery
- */
-#define emberAfFillCommandIdentifyClusterIdentifyQuery() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_IDENTIFY_QUERY_COMMAND_ID, "", );
-
-/** @brief Command description for EZModeInvoke
- *
- * Command: EZModeInvoke
- * @param action BITMAP8
- */
-#define emberAfFillCommandIdentifyClusterEZModeInvoke(action) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_EZ_MODE_INVOKE_COMMAND_ID, "u", action);
-
-/** @brief Command description for UpdateCommissionState
- *
- * Command: UpdateCommissionState
- * @param action ENUM8
- * @param commissionStateMask BITMAP8
- */
-#define emberAfFillCommandIdentifyClusterUpdateCommissionState(action, commissionStateMask) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPDATE_COMMISSION_STATE_COMMAND_ID, "uu", action, commissionStateMask);
-
-/** @brief Command description for TriggerEffect
- *
- * Command: TriggerEffect
- * @param effectId IdentifyEffectIdentifier
- * @param effectVariant IdentifyEffectVariant
- */
-#define emberAfFillCommandIdentifyClusterTriggerEffect(effectId, effectVariant) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRIGGER_EFFECT_COMMAND_ID, "uu", effectId, effectVariant);
-
-/** @brief Command description for AddGroup
- *
- * Command: AddGroup
- * @param groupId INT16U
- * @param status Status
- * @param groupName CHAR_STRING
- * @param groupId INT16U
- */
-#define emberAfFillCommandGroupsClusterAddGroup(groupId, status, groupName, groupId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_GROUP_COMMAND_ID, "uuuu", groupId, status, groupName, groupId);
-
-/** @brief Command description for ViewGroup
- *
- * Command: ViewGroup
- * @param groupId INT16U
- * @param status Status
- * @param groupId INT16U
- * @param groupName CHAR_STRING
- */
-#define emberAfFillCommandGroupsClusterViewGroup(groupId, status, groupId, groupName) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_VIEW_GROUP_COMMAND_ID, "uuuu", groupId, status, groupId, groupName);
-
-/** @brief Command description for GetGroupMembership
- *
- * Command: GetGroupMembership
- * @param groupCount INT8U
- * @param capacity INT8U
- * @param groupList INT16U []
- * @param groupListLen int
- * @param groupCount INT8U
- * @param groupList INT16U []
- * @param groupListLen int
- */
-#define emberAfFillCommandGroupsClusterGetGroupMembership(groupCount, capacity, groupList, groupListLen, groupCount, groupList, \
- groupListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_GROUP_MEMBERSHIP_COMMAND_ID, "uubub", groupCount, capacity, groupList, groupListLen, \
- groupCount, groupList, groupListLen);
-
-/** @brief Command description for RemoveGroup
- *
- * Command: RemoveGroup
- * @param groupId INT16U
- * @param status Status
- * @param groupId INT16U
- */
-#define emberAfFillCommandGroupsClusterRemoveGroup(groupId, status, groupId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_GROUP_COMMAND_ID, "uuu", groupId, status, groupId);
-
-/** @brief Command description for RemoveAllGroups
- *
- * Command: RemoveAllGroups
- */
-#define emberAfFillCommandGroupsClusterRemoveAllGroups() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_ALL_GROUPS_COMMAND_ID, "", );
-
-/** @brief Command description for AddGroupIfIdentifying
- *
- * Command: AddGroupIfIdentifying
- * @param groupId INT16U
- * @param groupName CHAR_STRING
- */
-#define emberAfFillCommandGroupsClusterAddGroupIfIdentifying(groupId, groupName) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_GROUP_IF_IDENTIFYING_COMMAND_ID, "uu", groupId, groupName);
-
-/** @brief Command description for AddScene
- *
- * Command: AddScene
- * @param groupId INT16U
- * @param status Status
- * @param sceneId INT8U
- * @param groupId INT16U
- * @param transitionTime INT16U
- * @param sceneId INT8U
- * @param sceneName CHAR_STRING
- * @param extensionFieldSets SceneExtensionFieldSet []
- * @param extensionFieldSetsLen int
- */
-#define emberAfFillCommandScenesClusterAddScene(groupId, status, sceneId, groupId, transitionTime, sceneId, sceneName, \
- extensionFieldSets, extensionFieldSetsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_SCENE_COMMAND_ID, "uuuuuuub", groupId, status, sceneId, groupId, transitionTime, sceneId, \
- sceneName, extensionFieldSets, extensionFieldSetsLen);
-
-/** @brief Command description for ViewScene
- *
- * Command: ViewScene
- * @param groupId INT16U
- * @param status Status
- * @param sceneId INT8U
- * @param groupId INT16U
- * @param sceneId INT8U
- * @param transitionTime INT16U
- * @param sceneName CHAR_STRING
- * @param extensionFieldSets SceneExtensionFieldSet []
- * @param extensionFieldSetsLen int
- */
-#define emberAfFillCommandScenesClusterViewScene(groupId, status, sceneId, groupId, sceneId, transitionTime, sceneName, \
- extensionFieldSets, extensionFieldSetsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_VIEW_SCENE_COMMAND_ID, "uuuuuuub", groupId, status, sceneId, groupId, sceneId, transitionTime, \
- sceneName, extensionFieldSets, extensionFieldSetsLen);
-
-/** @brief Command description for RemoveScene
- *
- * Command: RemoveScene
- * @param groupId INT16U
- * @param status Status
- * @param sceneId INT8U
- * @param groupId INT16U
- * @param sceneId INT8U
- */
-#define emberAfFillCommandScenesClusterRemoveScene(groupId, status, sceneId, groupId, sceneId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_SCENE_COMMAND_ID, "uuuuu", groupId, status, sceneId, groupId, sceneId);
-
-/** @brief Command description for RemoveAllScenes
- *
- * Command: RemoveAllScenes
- * @param groupId INT16U
- * @param status Status
- * @param groupId INT16U
- */
-#define emberAfFillCommandScenesClusterRemoveAllScenes(groupId, status, groupId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_ALL_SCENES_COMMAND_ID, "uuu", groupId, status, groupId);
-
-/** @brief Command description for StoreScene
- *
- * Command: StoreScene
- * @param groupId INT16U
- * @param status Status
- * @param sceneId INT8U
- * @param groupId INT16U
- * @param sceneId INT8U
- */
-#define emberAfFillCommandScenesClusterStoreScene(groupId, status, sceneId, groupId, sceneId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STORE_SCENE_COMMAND_ID, "uuuuu", groupId, status, sceneId, groupId, sceneId);
-
-/** @brief Command description for RecallScene
- *
- * Command: RecallScene
- * @param groupId INT16U
- * @param sceneId INT8U
- * @param transitionTime INT16U
- */
-#define emberAfFillCommandScenesClusterRecallScene(groupId, sceneId, transitionTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RECALL_SCENE_COMMAND_ID, "uuu", groupId, sceneId, transitionTime);
-
-/** @brief Command description for GetSceneMembership
- *
- * Command: GetSceneMembership
- * @param groupId INT16U
- * @param status Status
- * @param capacity INT8U
- * @param groupId INT16U
- * @param sceneCount INT8U
- * @param sceneList INT8U []
- * @param sceneListLen int
- */
-#define emberAfFillCommandScenesClusterGetSceneMembership(groupId, status, capacity, groupId, sceneCount, sceneList, sceneListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_SCENE_MEMBERSHIP_COMMAND_ID, "uuuuub", groupId, status, capacity, groupId, sceneCount, \
- sceneList, sceneListLen);
-
-/** @brief Command description for EnhancedAddScene
- *
- * Command: EnhancedAddScene
- * @param groupId INT16U
- * @param status Status
- * @param sceneId INT8U
- * @param groupId INT16U
- * @param transitionTime INT16U
- * @param sceneId INT8U
- * @param sceneName CHAR_STRING
- * @param extensionFieldSets SceneExtensionFieldSet []
- * @param extensionFieldSetsLen int
- */
-#define emberAfFillCommandScenesClusterEnhancedAddScene(groupId, status, sceneId, groupId, transitionTime, sceneId, sceneName, \
- extensionFieldSets, extensionFieldSetsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENHANCED_ADD_SCENE_COMMAND_ID, "uuuuuuub", groupId, status, sceneId, groupId, transitionTime, \
- sceneId, sceneName, extensionFieldSets, extensionFieldSetsLen);
-
-/** @brief Command description for EnhancedViewScene
- *
- * Command: EnhancedViewScene
- * @param groupId INT16U
- * @param status Status
- * @param sceneId INT8U
- * @param groupId INT16U
- * @param sceneId INT8U
- * @param transitionTime INT16U
- * @param sceneName CHAR_STRING
- * @param extensionFieldSets SceneExtensionFieldSet []
- * @param extensionFieldSetsLen int
- */
-#define emberAfFillCommandScenesClusterEnhancedViewScene(groupId, status, sceneId, groupId, sceneId, transitionTime, sceneName, \
- extensionFieldSets, extensionFieldSetsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENHANCED_VIEW_SCENE_COMMAND_ID, "uuuuuuub", groupId, status, sceneId, groupId, sceneId, \
- transitionTime, sceneName, extensionFieldSets, extensionFieldSetsLen);
-
-/** @brief Command description for CopyScene
- *
- * Command: CopyScene
- * @param mode ScenesCopyMode
- * @param status Status
- * @param groupIdFrom INT16U
- * @param groupIdFrom INT16U
- * @param sceneIdFrom INT8U
- * @param sceneIdFrom INT8U
- * @param groupIdTo INT16U
- * @param sceneIdTo INT8U
- */
-#define emberAfFillCommandScenesClusterCopyScene(mode, status, groupIdFrom, groupIdFrom, sceneIdFrom, sceneIdFrom, groupIdTo, \
- sceneIdTo) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_COPY_SCENE_COMMAND_ID, "uuuuuuuu", mode, status, groupIdFrom, groupIdFrom, sceneIdFrom, \
- sceneIdFrom, groupIdTo, sceneIdTo);
-
-/** @brief Command description for Off
- *
- * Command: Off
- */
-#define emberAfFillCommandOn \
- / \
- offClusterOff() emberAfFillExternalBuffer(mask, \
- \
- ZCL_OFF_COMMAND_ID, "", );
-
-/** @brief Command description for On
- *
- * Command: On
- */
-#define emberAfFillCommandOn \
- / \
- offClusterOn() emberAfFillExternalBuffer(mask, \
- \
- ZCL_ON_COMMAND_ID, "", );
-
-/** @brief Command description for Toggle
- *
- * Command: Toggle
- */
-#define emberAfFillCommandOn \
- / \
- offClusterToggle() emberAfFillExternalBuffer(mask, \
- \
- ZCL_TOGGLE_COMMAND_ID, "", );
-
-/** @brief Command description for OffWithEffect
- *
- * Command: OffWithEffect
- * @param effectId OnOffEffectIdentifier
- * @param effectVariant ENUM8
- */
-#define emberAfFillCommandOn \
- / \
- offClusterOffWithEffect(effectId, effectVariant) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_OFF_WITH_EFFECT_COMMAND_ID, "uu", effectId, effectVariant);
-
-/** @brief Command description for OnWithRecallGlobalScene
- *
- * Command: OnWithRecallGlobalScene
- */
-#define emberAfFillCommandOn \
- / \
- offClusterOnWithRecallGlobalScene() emberAfFillExternalBuffer(mask, \
- \
- ZCL_ON_WITH_RECALL_GLOBAL_SCENE_COMMAND_ID, "", );
-
-/** @brief Command description for OnWithTimedOff
- *
- * Command: OnWithTimedOff
- * @param onOffControl OnOffControl
- * @param onTime INT16U
- * @param offWaitTime INT16U
- */
-#define emberAfFillCommandOn \
- / \
- offClusterOnWithTimedOff(onOffControl, onTime, offWaitTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ON_WITH_TIMED_OFF_COMMAND_ID, "uuu", onOffControl, onTime, offWaitTime);
-
-/** @brief Command description for MoveToLevel
- *
- * Command: MoveToLevel
- * @param level INT8U
- * @param transitionTime INT16U
- * @param optionMask BITMAP8
- * @param optionOverride BITMAP8
- */
-#define emberAfFillCommandLevel \
- ControlClusterMoveToLevel(level, transitionTime, optionMask, optionOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_TO_LEVEL_COMMAND_ID, "uuuu", level, transitionTime, optionMask, optionOverride);
-
-/** @brief Command description for Move
- *
- * Command: Move
- * @param moveMode MoveMode
- * @param rate INT8U
- * @param optionMask BITMAP8
- * @param optionOverride BITMAP8
- */
-#define emberAfFillCommandLevel \
- ControlClusterMove(moveMode, rate, optionMask, optionOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_COMMAND_ID, "uuuu", moveMode, rate, optionMask, optionOverride);
-
-/** @brief Command description for Step
- *
- * Command: Step
- * @param stepMode StepMode
- * @param stepSize INT8U
- * @param transitionTime INT16U
- * @param optionMask BITMAP8
- * @param optionOverride BITMAP8
- */
-#define emberAfFillCommandLevel \
- ControlClusterStep(stepMode, stepSize, transitionTime, optionMask, optionOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STEP_COMMAND_ID, "uuuuu", stepMode, stepSize, transitionTime, optionMask, optionOverride);
-
-/** @brief Command description for Stop
- *
- * Command: Stop
- * @param optionMask BITMAP8
- * @param optionOverride BITMAP8
- */
-#define emberAfFillCommandLevel \
- ControlClusterStop(optionMask, optionOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STOP_COMMAND_ID, "uu", optionMask, optionOverride);
-
-/** @brief Command description for MoveToLevelWithOnOff
- *
- * Command: MoveToLevelWithOnOff
- * @param level INT8U
- * @param transitionTime INT16U
- */
-#define emberAfFillCommandLevel \
- ControlClusterMoveToLevelWithOnOff(level, transitionTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_TO_LEVEL_WITH_ON_OFF_COMMAND_ID, "uu", level, transitionTime);
-
-/** @brief Command description for MoveWithOnOff
- *
- * Command: MoveWithOnOff
- * @param moveMode MoveMode
- * @param rate INT8U
- */
-#define emberAfFillCommandLevel \
- ControlClusterMoveWithOnOff(moveMode, rate) emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_WITH_ON_OFF_COMMAND_ID, "uu", moveMode, rate);
-
-/** @brief Command description for StepWithOnOff
- *
- * Command: StepWithOnOff
- * @param stepMode StepMode
- * @param stepSize INT8U
- * @param transitionTime INT16U
- */
-#define emberAfFillCommandLevel \
- ControlClusterStepWithOnOff(stepMode, stepSize, transitionTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STEP_WITH_ON_OFF_COMMAND_ID, "uuu", stepMode, stepSize, transitionTime);
-
-/** @brief Command description for StopWithOnOff
- *
- * Command: StopWithOnOff
- */
-#define emberAfFillCommandLevel \
- ControlClusterStopWithOnOff() emberAfFillExternalBuffer(mask, \
- \
- ZCL_STOP_WITH_ON_OFF_COMMAND_ID, "", );
-
-/** @brief Command description for ResetAlarm
- *
- * Command: ResetAlarm
- * @param alarmCode ENUM8
- * @param alarmCode ENUM8
- * @param clusterId CLUSTER_ID
- * @param clusterId CLUSTER_ID
- */
-#define emberAfFillCommandAlarmsClusterResetAlarm(alarmCode, alarmCode, clusterId, clusterId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_ALARM_COMMAND_ID, "uuuu", alarmCode, alarmCode, clusterId, clusterId);
-
-/** @brief Command description for ResetAllAlarms
- *
- * Command: ResetAllAlarms
- * @param status Status
- * @param alarmCode ENUM8
- * @param clusterId CLUSTER_ID
- * @param timeStamp INT32U
- */
-#define emberAfFillCommandAlarmsClusterResetAllAlarms(status, alarmCode, clusterId, timeStamp) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_ALL_ALARMS_COMMAND_ID, "uuuu", status, alarmCode, clusterId, timeStamp);
-
-/** @brief Command description for GetAlarm
- *
- * Command: GetAlarm
- */
-#define emberAfFillCommandAlarmsClusterGetAlarm() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_ALARM_COMMAND_ID, "", );
-
-/** @brief Command description for ResetAlarmLog
- *
- * Command: ResetAlarmLog
- */
-#define emberAfFillCommandAlarmsClusterResetAlarmLog() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_ALARM_LOG_COMMAND_ID, "", );
-
-/** @brief Command description for SetAbsoluteLocation
- *
- * Command: SetAbsoluteLocation
- * @param coordinate1 INT16S
- * @param status Status
- * @param coordinate2 INT16S
- * @param power INT16S
- * @param coordinate3 INT16S
- * @param pathLossExponent INT16U
- * @param power INT16S
- * @param calculationPeriod INT16U
- * @param pathLossExponent INT16U
- * @param numberRssiMeasurements INT8U
- * @param reportingPeriod INT16U
- */
-#define emberAfFillCommandRSSI \
- LocationClusterSetAbsoluteLocation(coordinate1, status, coordinate2, power, coordinate3, pathLossExponent, power, \
- calculationPeriod, pathLossExponent, numberRssiMeasurements, reportingPeriod) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_ABSOLUTE_LOCATION_COMMAND_ID, "uuuuuuuuuuu", coordinate1, status, coordinate2, power, \
- coordinate3, pathLossExponent, power, calculationPeriod, pathLossExponent, \
- numberRssiMeasurements, reportingPeriod);
-
-/** @brief Command description for SetDeviceConfiguration
- *
- * Command: SetDeviceConfiguration
- * @param power INT16S
- * @param status Status
- * @param pathLossExponent INT16U
- * @param locationType LocationType
- * @param calculationPeriod INT16U
- * @param coordinate1 INT16S
- * @param numberRssiMeasurements INT8U
- * @param coordinate2 INT16S
- * @param reportingPeriod INT16U
- * @param coordinate3 INT16S
- * @param power INT16S
- * @param pathLossExponent INT16U
- * @param locationMethod LocationMethod
- * @param qualityMeasure INT8U
- * @param locationAge INT16U
- */
-#define emberAfFillCommandRSSI \
- LocationClusterSetDeviceConfiguration(power, status, pathLossExponent, locationType, calculationPeriod, coordinate1, \
- numberRssiMeasurements, coordinate2, reportingPeriod, coordinate3, power, \
- pathLossExponent, locationMethod, qualityMeasure, locationAge) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_DEVICE_CONFIGURATION_COMMAND_ID, "uuuuuuuuuuuuuuu", power, status, pathLossExponent, \
- locationType, calculationPeriod, coordinate1, numberRssiMeasurements, coordinate2, \
- reportingPeriod, coordinate3, power, pathLossExponent, locationMethod, qualityMeasure, \
- locationAge);
-
-/** @brief Command description for GetDeviceConfiguration
- *
- * Command: GetDeviceConfiguration
- * @param targetAddress IEEE_ADDRESS
- * @param locationType LocationType
- * @param coordinate1 INT16S
- * @param coordinate2 INT16S
- * @param coordinate3 INT16S
- * @param power INT16S
- * @param pathLossExponent INT16U
- * @param locationMethod LocationMethod
- * @param qualityMeasure INT8U
- * @param locationAge INT16U
- */
-#define emberAfFillCommandRSSI \
- LocationClusterGetDeviceConfiguration(targetAddress, locationType, coordinate1, coordinate2, coordinate3, power, \
- pathLossExponent, locationMethod, qualityMeasure, locationAge) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_DEVICE_CONFIGURATION_COMMAND_ID, "uuuuuuuuuu", targetAddress, locationType, coordinate1, \
- coordinate2, coordinate3, power, pathLossExponent, locationMethod, qualityMeasure, locationAge);
-
-/** @brief Command description for GetLocationData
- *
- * Command: GetLocationData
- * @param flags GetLocationDataFlags
- * @param locationType LocationType
- * @param numberResponses INT8U
- * @param coordinate1 INT16S
- * @param targetAddress IEEE_ADDRESS
- * @param coordinate2 INT16S
- * @param coordinate3 INT16S
- * @param qualityMeasure INT8U
- * @param locationAge INT16U
- */
-#define emberAfFillCommandRSSI \
- LocationClusterGetLocationData(flags, locationType, numberResponses, coordinate1, targetAddress, coordinate2, coordinate3, \
- qualityMeasure, locationAge) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_LOCATION_DATA_COMMAND_ID, "uuuuuuuuu", flags, locationType, numberResponses, \
- coordinate1, targetAddress, coordinate2, coordinate3, qualityMeasure, locationAge);
-
-/** @brief Command description for RssiResponse
- *
- * Command: RssiResponse
- * @param replyingDevice IEEE_ADDRESS
- * @param locationType LocationType
- * @param coordinate1 INT16S
- * @param coordinate2 INT16S
- * @param coordinate3 INT16S
- * @param rssi INT8S
- * @param numberRssiMeasurements INT8U
- */
-#define emberAfFillCommandRSSI \
- LocationClusterRssiResponse(replyingDevice, locationType, coordinate1, coordinate2, coordinate3, rssi, numberRssiMeasurements) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RSSI_RESPONSE_COMMAND_ID, "uuuuuuu", replyingDevice, locationType, coordinate1, coordinate2, \
- coordinate3, rssi, numberRssiMeasurements);
-
-/** @brief Command description for RssiRequest
- *
- * Command: RssiRequest
- * @param targetAddress IEEE_ADDRESS
- * @param numberRssiMeasurements INT8U
- * @param calculationPeriod INT16U
- */
-#define emberAfFillCommandRSSI \
- LocationClusterRssiRequest(targetAddress, numberRssiMeasurements, calculationPeriod) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RSSI_REQUEST_COMMAND_ID, "uuu", targetAddress, numberRssiMeasurements, calculationPeriod);
-
-/** @brief Command description for AnchorNodeAnnounce
- *
- * Command: AnchorNodeAnnounce
- * @param anchorNodeIeeeAddress IEEE_ADDRESS
- * @param measuringDevice IEEE_ADDRESS
- * @param coordinate1 INT16S
- * @param neighbors INT8U
- * @param coordinate2 INT16S
- * @param neighborsInfo NeighborInfo []
- * @param neighborsInfoLen int
- * @param coordinate3 INT16S
- */
-#define emberAfFillCommandRSSI \
- LocationClusterAnchorNodeAnnounce(anchorNodeIeeeAddress, measuringDevice, coordinate1, neighbors, coordinate2, neighborsInfo, \
- neighborsInfoLen, coordinate3) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ANCHOR_NODE_ANNOUNCE_COMMAND_ID, "uuuuubu", anchorNodeIeeeAddress, measuringDevice, \
- coordinate1, neighbors, coordinate2, neighborsInfo, neighborsInfoLen, coordinate3);
-
-/** @brief Command description for RequestOwnLocation
- *
- * Command: RequestOwnLocation
- * @param blindNode IEEE_ADDRESS
- */
-#define emberAfFillCommandRSSI \
- LocationClusterRequestOwnLocation(blindNode) emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_OWN_LOCATION_COMMAND_ID, "u", blindNode);
-
-/** @brief Command description for RestartDevice
- *
- * Command: RestartDevice
- * @param options RestartOptions
- * @param status ENUM8
- * @param delay INT8U
- * @param jitter INT8U
- */
-#define emberAfFillCommandCommissioningClusterRestartDevice(options, status, delay, jitter) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESTART_DEVICE_COMMAND_ID, "uuuu", options, status, delay, jitter);
-
-/** @brief Command description for SaveStartupParameters
- *
- * Command: SaveStartupParameters
- * @param options BITMAP8
- * @param status ENUM8
- * @param index INT8U
- */
-#define emberAfFillCommandCommissioningClusterSaveStartupParameters(options, status, index) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SAVE_STARTUP_PARAMETERS_COMMAND_ID, "uuu", options, status, index);
-
-/** @brief Command description for RestoreStartupParameters
- *
- * Command: RestoreStartupParameters
- * @param options BITMAP8
- * @param status ENUM8
- * @param index INT8U
- */
-#define emberAfFillCommandCommissioningClusterRestoreStartupParameters(options, status, index) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESTORE_STARTUP_PARAMETERS_COMMAND_ID, "uuu", options, status, index);
-
-/** @brief Command description for ResetStartupParameters
- *
- * Command: ResetStartupParameters
- * @param options ResetOptions
- * @param status ENUM8
- * @param index INT8U
- */
-#define emberAfFillCommandCommissioningClusterResetStartupParameters(options, status, index) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_STARTUP_PARAMETERS_COMMAND_ID, "uuu", options, status, index);
-
-/** @brief Command description for TransferPartitionedFrame
- *
- * Command: TransferPartitionedFrame
- * @param fragmentationOptions BITMAP8
- * @param ackOptions BITMAP8
- * @param partitionedIndicatorAndFrame INT8U []
- * @param partitionedIndicatorAndFrameLen int
- * @param firstFrameIdAndNackList INT8U []
- * @param firstFrameIdAndNackListLen int
- */
-#define emberAfFillCommandPartitionClusterTransferPartitionedFrame(fragmentationOptions, ackOptions, partitionedIndicatorAndFrame, \
- partitionedIndicatorAndFrameLen, firstFrameIdAndNackList, \
- firstFrameIdAndNackListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRANSFER_PARTITIONED_FRAME_COMMAND_ID, "uubb", fragmentationOptions, ackOptions, \
- partitionedIndicatorAndFrame, partitionedIndicatorAndFrameLen, firstFrameIdAndNackList, \
- firstFrameIdAndNackListLen);
-
-/** @brief Command description for ReadHandshakeParam
- *
- * Command: ReadHandshakeParam
- * @param partitionedClusterId CLUSTER_ID
- * @param partitionedClusterId CLUSTER_ID
- * @param attributeList ATTRIBUTE_ID []
- * @param attributeListLen int
- * @param readAttributeStatusRecords ReadAttributeStatusRecord []
- * @param readAttributeStatusRecordsLen int
- */
-#define emberAfFillCommandPartitionClusterReadHandshakeParam(partitionedClusterId, partitionedClusterId, attributeList, \
- attributeListLen, readAttributeStatusRecords, \
- readAttributeStatusRecordsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_READ_HANDSHAKE_PARAM_COMMAND_ID, "uubb", partitionedClusterId, partitionedClusterId, \
- attributeList, attributeListLen, readAttributeStatusRecords, readAttributeStatusRecordsLen);
-
-/** @brief Command description for WriteHandshakeParam
- *
- * Command: WriteHandshakeParam
- * @param partitionedClusterId CLUSTER_ID
- * @param writeAttributeRecords WriteAttributeRecord []
- * @param writeAttributeRecordsLen int
- */
-#define emberAfFillCommandPartitionClusterWriteHandshakeParam(partitionedClusterId, writeAttributeRecords, \
- writeAttributeRecordsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_WRITE_HANDSHAKE_PARAM_COMMAND_ID, "ub", partitionedClusterId, writeAttributeRecords, \
- writeAttributeRecordsLen);
-
-/** @brief Command description for ImageNotify
- *
- * Command: ImageNotify
- * @param payloadType ENUM8
- * @param queryJitter INT8U
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param newFileVersion INT32U
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterImageNotify(payloadType, queryJitter, manufacturerId, imageType, newFileVersion) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_IMAGE_NOTIFY_COMMAND_ID, "uuuuu", payloadType, queryJitter, manufacturerId, imageType, \
- newFileVersion);
-
-/** @brief Command description for QueryNextImageRequest
- *
- * Command: QueryNextImageRequest
- * @param fieldControl INT8U
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param currentFileVersion INT32U
- * @param hardwareVersion INT16U
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterQueryNextImageRequest(fieldControl, manufacturerId, imageType, currentFileVersion, hardwareVersion) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_QUERY_NEXT_IMAGE_REQUEST_COMMAND_ID, "uuuuu", fieldControl, manufacturerId, imageType, \
- currentFileVersion, hardwareVersion);
-
-/** @brief Command description for QueryNextImageResponse
- *
- * Command: QueryNextImageResponse
- * @param status Status
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- * @param imageSize INT32U
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterQueryNextImageResponse(status, manufacturerId, imageType, fileVersion, imageSize) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_QUERY_NEXT_IMAGE_RESPONSE_COMMAND_ID, "uuuuu", status, manufacturerId, imageType, \
- fileVersion, imageSize);
-
-/** @brief Command description for ImageBlockRequest
- *
- * Command: ImageBlockRequest
- * @param fieldControl INT8U
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- * @param fileOffset INT32U
- * @param maxDataSize INT8U
- * @param requestNodeAddress IEEE_ADDRESS
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterImageBlockRequest(fieldControl, manufacturerId, imageType, fileVersion, fileOffset, maxDataSize, \
- requestNodeAddress) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_IMAGE_BLOCK_REQUEST_COMMAND_ID, "uuuuuuu", fieldControl, manufacturerId, imageType, \
- fileVersion, fileOffset, maxDataSize, requestNodeAddress);
-
-/** @brief Command description for ImagePageRequest
- *
- * Command: ImagePageRequest
- * @param fieldControl INT8U
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- * @param fileOffset INT32U
- * @param maxDataSize INT8U
- * @param pageSize INT16U
- * @param responseSpacing INT16U
- * @param requestNodeAddress IEEE_ADDRESS
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterImagePageRequest(fieldControl, manufacturerId, imageType, fileVersion, fileOffset, maxDataSize, \
- pageSize, responseSpacing, requestNodeAddress) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_IMAGE_PAGE_REQUEST_COMMAND_ID, "uuuuuuuuu", fieldControl, manufacturerId, imageType, \
- fileVersion, fileOffset, maxDataSize, pageSize, responseSpacing, requestNodeAddress);
-
-/** @brief Command description for ImageBlockResponse
- *
- * Command: ImageBlockResponse
- * @param status Status
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- * @param fileOffset INT32U
- * @param dataSize INT8U
- * @param imageData INT8U []
- * @param imageDataLen int
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterImageBlockResponse(status, manufacturerId, imageType, fileVersion, fileOffset, dataSize, imageData, \
- imageDataLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_IMAGE_BLOCK_RESPONSE_COMMAND_ID, "uuuuuub", status, manufacturerId, imageType, fileVersion, \
- fileOffset, dataSize, imageData, imageDataLen);
-
-/** @brief Command description for UpgradeEndRequest
- *
- * Command: UpgradeEndRequest
- * @param status Status
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterUpgradeEndRequest(status, manufacturerId, imageType, fileVersion) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPGRADE_END_REQUEST_COMMAND_ID, "uuuu", status, manufacturerId, imageType, fileVersion);
-
-/** @brief Command description for UpgradeEndResponse
- *
- * Command: UpgradeEndResponse
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- * @param currentTime UTC_TIME
- * @param upgradeTime UTC_TIME
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterUpgradeEndResponse(manufacturerId, imageType, fileVersion, currentTime, upgradeTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPGRADE_END_RESPONSE_COMMAND_ID, "uuuuu", manufacturerId, imageType, fileVersion, \
- currentTime, upgradeTime);
-
-/** @brief Command description for QuerySpecificFileRequest
- *
- * Command: QuerySpecificFileRequest
- * @param requestNodeAddress IEEE_ADDRESS
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- * @param currentZigbeeStackVersion INT16U
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterQuerySpecificFileRequest(requestNodeAddress, manufacturerId, imageType, fileVersion, \
- currentZigbeeStackVersion) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_QUERY_SPECIFIC_FILE_REQUEST_COMMAND_ID, "uuuuu", requestNodeAddress, manufacturerId, \
- imageType, fileVersion, currentZigbeeStackVersion);
-
-/** @brief Command description for QuerySpecificFileResponse
- *
- * Command: QuerySpecificFileResponse
- * @param status Status
- * @param manufacturerId INT16U
- * @param imageType INT16U
- * @param fileVersion INT32U
- * @param imageSize INT32U
- */
-#define emberAfFillCommandOver \
- the Air BootloadingClusterQuerySpecificFileResponse(status, manufacturerId, imageType, fileVersion, imageSize) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_QUERY_SPECIFIC_FILE_RESPONSE_COMMAND_ID, "uuuuu", status, manufacturerId, imageType, \
- fileVersion, imageSize);
-
-/** @brief Command description for PowerProfileRequest
- *
- * Command: PowerProfileRequest
- * @param powerProfileId INT8U
- * @param totalProfileNum INT8U
- * @param powerProfileId INT8U
- * @param numOfTransferredPhases INT8U
- * @param transferredPhases TransferredPhase []
- * @param transferredPhasesLen int
- */
-#define emberAfFillCommandPower \
- ProfileClusterPowerProfileRequest(powerProfileId, totalProfileNum, powerProfileId, numOfTransferredPhases, transferredPhases, \
- transferredPhasesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_POWER_PROFILE_REQUEST_COMMAND_ID, "uuuub", powerProfileId, totalProfileNum, powerProfileId, \
- numOfTransferredPhases, transferredPhases, transferredPhasesLen);
-
-/** @brief Command description for PowerProfileStateRequest
- *
- * Command: PowerProfileStateRequest
- * @param totalProfileNum INT8U
- * @param powerProfileId INT8U
- * @param numOfTransferredPhases INT8U
- * @param transferredPhases TransferredPhase []
- * @param transferredPhasesLen int
- */
-#define emberAfFillCommandPower \
- ProfileClusterPowerProfileStateRequest(totalProfileNum, powerProfileId, numOfTransferredPhases, transferredPhases, \
- transferredPhasesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_POWER_PROFILE_STATE_REQUEST_COMMAND_ID, "uuub", totalProfileNum, powerProfileId, \
- numOfTransferredPhases, transferredPhases, transferredPhasesLen);
-
-/** @brief Command description for GetPowerProfilePriceResponse
- *
- * Command: GetPowerProfilePriceResponse
- * @param powerProfileId INT8U
- * @param powerProfileCount INT8U
- * @param currency INT16U
- * @param powerProfileRecords PowerProfileRecord []
- * @param powerProfileRecordsLen int
- * @param price INT32U
- * @param priceTrailingDigit INT8U
- */
-#define emberAfFillCommandPower \
- ProfileClusterGetPowerProfilePriceResponse(powerProfileId, powerProfileCount, currency, powerProfileRecords, \
- powerProfileRecordsLen, price, priceTrailingDigit) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_POWER_PROFILE_PRICE_RESPONSE_COMMAND_ID, "uuubuu", powerProfileId, powerProfileCount, \
- currency, powerProfileRecords, powerProfileRecordsLen, price, priceTrailingDigit);
-
-/** @brief Command description for GetOverallSchedulePriceResponse
- *
- * Command: GetOverallSchedulePriceResponse
- * @param currency INT16U
- * @param powerProfileId INT8U
- * @param price INT32U
- * @param priceTrailingDigit INT8U
- */
-#define emberAfFillCommandPower \
- ProfileClusterGetOverallSchedulePriceResponse(currency, powerProfileId, price, priceTrailingDigit) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_GET_OVERALL_SCHEDULE_PRICE_RESPONSE_COMMAND_ID, "uuuu", currency, powerProfileId, price, priceTrailingDigit);
-
-/** @brief Command description for EnergyPhasesScheduleNotification
- *
- * Command: EnergyPhasesScheduleNotification
- * @param powerProfileId INT8U
- * @param powerProfileCount INT8U
- * @param numOfScheduledPhases INT8U
- * @param powerProfileRecords PowerProfileRecord []
- * @param powerProfileRecordsLen int
- * @param scheduledPhases ScheduledPhase []
- * @param scheduledPhasesLen int
- */
-#define emberAfFillCommandPower \
- ProfileClusterEnergyPhasesScheduleNotification(powerProfileId, powerProfileCount, numOfScheduledPhases, powerProfileRecords, \
- powerProfileRecordsLen, scheduledPhases, scheduledPhasesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENERGY_PHASES_SCHEDULE_NOTIFICATION_COMMAND_ID, "uuubb", powerProfileId, powerProfileCount, \
- numOfScheduledPhases, powerProfileRecords, powerProfileRecordsLen, scheduledPhases, \
- scheduledPhasesLen);
-
-/** @brief Command description for GetOverallSchedulePrice
- *
- * Command: GetOverallSchedulePrice
- * @param powerProfileId INT8U
- * @param numOfScheduledPhases INT8U
- * @param scheduledPhases ScheduledPhase []
- * @param scheduledPhasesLen int
- */
-#define emberAfFillCommandPower \
- ProfileClusterGetOverallSchedulePrice(powerProfileId, numOfScheduledPhases, scheduledPhases, scheduledPhasesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_OVERALL_SCHEDULE_PRICE_COMMAND_ID, "uub", powerProfileId, numOfScheduledPhases, \
- scheduledPhases, scheduledPhasesLen);
-
-/** @brief Command description for PowerProfileScheduleConstraintsRequest
- *
- * Command: PowerProfileScheduleConstraintsRequest
- * @param powerProfileId INT8U
- * @param powerProfileId INT8U
- */
-#define emberAfFillCommandPower \
- ProfileClusterPowerProfileScheduleConstraintsRequest(powerProfileId, powerProfileId) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_REQUEST_COMMAND_ID, "uu", powerProfileId, powerProfileId);
-
-/** @brief Command description for EnergyPhasesScheduleStateRequest
- *
- * Command: EnergyPhasesScheduleStateRequest
- * @param powerProfileId INT8U
- * @param powerProfileId INT8U
- * @param numOfScheduledPhases INT8U
- * @param scheduledPhases ScheduledPhase []
- * @param scheduledPhasesLen int
- */
-#define emberAfFillCommandPower \
- ProfileClusterEnergyPhasesScheduleStateRequest(powerProfileId, powerProfileId, numOfScheduledPhases, scheduledPhases, \
- scheduledPhasesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENERGY_PHASES_SCHEDULE_STATE_REQUEST_COMMAND_ID, "uuub", powerProfileId, powerProfileId, \
- numOfScheduledPhases, scheduledPhases, scheduledPhasesLen);
-
-/** @brief Command description for GetPowerProfilePriceExtendedResponse
- *
- * Command: GetPowerProfilePriceExtendedResponse
- * @param powerProfileId INT8U
- * @param powerProfileId INT8U
- * @param currency INT16U
- * @param numOfScheduledPhases INT8U
- * @param price INT32U
- * @param scheduledPhases ScheduledPhase []
- * @param scheduledPhasesLen int
- * @param priceTrailingDigit INT8U
- */
-#define emberAfFillCommandPower \
- ProfileClusterGetPowerProfilePriceExtendedResponse(powerProfileId, powerProfileId, currency, numOfScheduledPhases, price, \
- scheduledPhases, scheduledPhasesLen, priceTrailingDigit) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_POWER_PROFILE_PRICE_EXTENDED_RESPONSE_COMMAND_ID, "uuuuubu", powerProfileId, \
- powerProfileId, currency, numOfScheduledPhases, price, scheduledPhases, scheduledPhasesLen, \
- priceTrailingDigit);
-
-/** @brief Command description for PowerProfileScheduleConstraintsNotification
- *
- * Command: PowerProfileScheduleConstraintsNotification
- * @param powerProfileId INT8U
- * @param startAfter INT16U
- * @param stopBefore INT16U
- */
-#define emberAfFillCommandPower \
- ProfileClusterPowerProfileScheduleConstraintsNotification(powerProfileId, startAfter, stopBefore) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_NOTIFICATION_COMMAND_ID, "uuu", powerProfileId, startAfter, stopBefore);
-
-/** @brief Command description for PowerProfileScheduleConstraintsResponse
- *
- * Command: PowerProfileScheduleConstraintsResponse
- * @param powerProfileId INT8U
- * @param startAfter INT16U
- * @param stopBefore INT16U
- */
-#define emberAfFillCommandPower \
- ProfileClusterPowerProfileScheduleConstraintsResponse(powerProfileId, startAfter, stopBefore) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_RESPONSE_COMMAND_ID, "uuu", powerProfileId, startAfter, stopBefore);
-
-/** @brief Command description for GetPowerProfilePriceExtended
- *
- * Command: GetPowerProfilePriceExtended
- * @param options BITMAP8
- * @param powerProfileId INT8U
- * @param powerProfileStartTime INT16U
- */
-#define emberAfFillCommandPower \
- ProfileClusterGetPowerProfilePriceExtended(options, powerProfileId, powerProfileStartTime) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_GET_POWER_PROFILE_PRICE_EXTENDED_COMMAND_ID, "uuu", options, powerProfileId, powerProfileStartTime);
-
-/** @brief Command description for ExecutionOfACommand
- *
- * Command: ExecutionOfACommand
- * @param commandId CommandIdentification
- * @param applianceStatus ApplianceStatus
- * @param remoteEnableFlagsAndDeviceStatus2 RemoteEnableFlagsAndDeviceStatus2
- * @param applianceStatus2 INT24U
- */
-#define emberAfFillCommandAppliance \
- ControlClusterExecutionOfACommand(commandId, applianceStatus, remoteEnableFlagsAndDeviceStatus2, applianceStatus2) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_EXECUTION_OF_A_COMMAND_COMMAND_ID, "uuuu", commandId, applianceStatus, \
- remoteEnableFlagsAndDeviceStatus2, applianceStatus2);
-
-/** @brief Command description for SignalState
- *
- * Command: SignalState
- * @param applianceStatus ApplianceStatus
- * @param remoteEnableFlagsAndDeviceStatus2 RemoteEnableFlagsAndDeviceStatus2
- * @param applianceStatus2 INT24U
- */
-#define emberAfFillCommandAppliance \
- ControlClusterSignalState(applianceStatus, remoteEnableFlagsAndDeviceStatus2, applianceStatus2) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_SIGNAL_STATE_COMMAND_ID, "uuu", applianceStatus, remoteEnableFlagsAndDeviceStatus2, applianceStatus2);
-
-/** @brief Command description for WriteFunctions
- *
- * Command: WriteFunctions
- * @param functionId INT16U
- * @param functionDataType ENUM8
- * @param functionData INT8U []
- * @param functionDataLen int
- */
-#define emberAfFillCommandAppliance \
- ControlClusterWriteFunctions(functionId, functionDataType, functionData, functionDataLen) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_WRITE_FUNCTIONS_COMMAND_ID, "uub", functionId, functionDataType, functionData, functionDataLen);
-
-/** @brief Command description for OverloadPauseResume
- *
- * Command: OverloadPauseResume
- */
-#define emberAfFillCommandAppliance \
- ControlClusterOverloadPauseResume() emberAfFillExternalBuffer(mask, \
- \
- ZCL_OVERLOAD_PAUSE_RESUME_COMMAND_ID, "", );
-
-/** @brief Command description for OverloadPause
- *
- * Command: OverloadPause
- */
-#define emberAfFillCommandAppliance \
- ControlClusterOverloadPause() emberAfFillExternalBuffer(mask, \
- \
- ZCL_OVERLOAD_PAUSE_COMMAND_ID, "", );
-
-/** @brief Command description for OverloadWarning
- *
- * Command: OverloadWarning
- * @param warningEvent WarningEvent
- */
-#define emberAfFillCommandAppliance \
- ControlClusterOverloadWarning(warningEvent) emberAfFillExternalBuffer(mask, \
- \
- ZCL_OVERLOAD_WARNING_COMMAND_ID, "u", warningEvent);
-
-/** @brief Command description for CheckIn
- *
- * Command: CheckIn
- * @param startFastPolling BOOLEAN
- * @param fastPollTimeout INT16U
- */
-#define emberAfFillCommandPoll \
- ControlClusterCheckIn(startFastPolling, fastPollTimeout) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CHECK_IN_COMMAND_ID, "uu", startFastPolling, fastPollTimeout);
-
-/** @brief Command description for FastPollStop
- *
- * Command: FastPollStop
- */
-#define emberAfFillCommandPoll \
- ControlClusterFastPollStop() emberAfFillExternalBuffer(mask, \
- \
- ZCL_FAST_POLL_STOP_COMMAND_ID, "", );
-
-/** @brief Command description for SetLongPollInterval
- *
- * Command: SetLongPollInterval
- * @param newLongPollInterval INT32U
- */
-#define emberAfFillCommandPoll \
- ControlClusterSetLongPollInterval(newLongPollInterval) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_LONG_POLL_INTERVAL_COMMAND_ID, "u", newLongPollInterval);
-
-/** @brief Command description for SetShortPollInterval
- *
- * Command: SetShortPollInterval
- * @param newShortPollInterval INT16U
- */
-#define emberAfFillCommandPoll \
- ControlClusterSetShortPollInterval(newShortPollInterval) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_SHORT_POLL_INTERVAL_COMMAND_ID, "u", newShortPollInterval);
-
-/** @brief Command description for GpNotification
- *
- * Command: GpNotification
- * @param options GpNotificationOption
- * @param options GpNotificationResponseOption
- * @param gpdSrcId INT32U
- * @param gpdSrcId INT32U
- * @param gpdIeee IEEE_ADDRESS
- * @param gpdIeee IEEE_ADDRESS
- * @param gpdEndpoint INT8U
- * @param endpoint INT8U
- * @param gpdSecurityFrameCounter INT32U
- * @param gpdSecurityFrameCounter INT32U
- * @param gpdCommandId INT8U
- * @param gpdCommandPayload OCTET_STRING
- * @param gppShortAddress INT16U
- * @param gppDistance INT8U
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpNotification(options, options, gpdSrcId, gpdSrcId, gpdIeee, gpdIeee, gpdEndpoint, endpoint, \
- gpdSecurityFrameCounter, gpdSecurityFrameCounter, gpdCommandId, gpdCommandPayload, gppShortAddress, \
- gppDistance) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_NOTIFICATION_COMMAND_ID, "uuuuuuuuuuuuuu", options, options, gpdSrcId, gpdSrcId, gpdIeee, \
- gpdIeee, gpdEndpoint, endpoint, gpdSecurityFrameCounter, gpdSecurityFrameCounter, gpdCommandId, \
- gpdCommandPayload, gppShortAddress, gppDistance);
-
-/** @brief Command description for GpPairingSearch
- *
- * Command: GpPairingSearch
- * @param options GpPairingSearchOption
- * @param options GpPairingOption
- * @param gpdSrcId INT32U
- * @param gpdSrcId INT32U
- * @param gpdIeee IEEE_ADDRESS
- * @param gpdIeee IEEE_ADDRESS
- * @param endpoint INT8U
- * @param endpoint INT8U
- * @param sinkIeeeAddress IEEE_ADDRESS
- * @param sinkNwkAddress INT16U
- * @param sinkGroupId INT16U
- * @param deviceId GpDeviceId
- * @param gpdSecurityFrameCounter INT32U
- * @param gpdKey SECURITY_KEY
- * @param assignedAlias INT16U
- * @param groupcastRadius INT8U
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpPairingSearch(options, options, gpdSrcId, gpdSrcId, gpdIeee, gpdIeee, endpoint, endpoint, sinkIeeeAddress, \
- sinkNwkAddress, sinkGroupId, deviceId, gpdSecurityFrameCounter, gpdKey, assignedAlias, \
- groupcastRadius) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_PAIRING_SEARCH_COMMAND_ID, "uuuuuuuuuuuuuuuu", options, options, gpdSrcId, gpdSrcId, \
- gpdIeee, gpdIeee, endpoint, endpoint, sinkIeeeAddress, sinkNwkAddress, sinkGroupId, deviceId, \
- gpdSecurityFrameCounter, gpdKey, assignedAlias, groupcastRadius);
-
-/** @brief Command description for GpProxyCommissioningMode
- *
- * Command: GpProxyCommissioningMode
- * @param options GpProxyCommissioningModeOption
- * @param commissioningWindow INT16U
- * @param channel INT8U
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpProxyCommissioningMode(options, commissioningWindow, channel) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_PROXY_COMMISSIONING_MODE_COMMAND_ID, "uuu", options, commissioningWindow, channel);
-
-/** @brief Command description for GpTunnelingStop
- *
- * Command: GpTunnelingStop
- * @param options GpTunnelingStopOption
- * @param gpdSrcId INT32U
- * @param gpdIeee IEEE_ADDRESS
- * @param endpoint INT8U
- * @param gpdSecurityFrameCounter INT32U
- * @param gppShortAddress INT16U
- * @param gppDistance INT8S
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpTunnelingStop(options, gpdSrcId, gpdIeee, endpoint, gpdSecurityFrameCounter, gppShortAddress, gppDistance) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_TUNNELING_STOP_COMMAND_ID, "uuuuuuu", options, gpdSrcId, gpdIeee, endpoint, \
- gpdSecurityFrameCounter, gppShortAddress, gppDistance);
-
-/** @brief Command description for GpCommissioningNotification
- *
- * Command: GpCommissioningNotification
- * @param options GpCommissioningNotificationOption
- * @param gpdSrcId INT32U
- * @param gpdIeee IEEE_ADDRESS
- * @param endpoint INT8U
- * @param gpdSecurityFrameCounter INT32U
- * @param gpdCommandId INT8U
- * @param gpdCommandPayload OCTET_STRING
- * @param gppShortAddress INT16U
- * @param gppLink INT8U
- * @param mic INT32U
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpCommissioningNotification(options, gpdSrcId, gpdIeee, endpoint, gpdSecurityFrameCounter, gpdCommandId, \
- gpdCommandPayload, gppShortAddress, gppLink, mic) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_COMMISSIONING_NOTIFICATION_COMMAND_ID, "uuuuuuuuuu", options, gpdSrcId, gpdIeee, \
- endpoint, gpdSecurityFrameCounter, gpdCommandId, gpdCommandPayload, gppShortAddress, gppLink, \
- mic);
-
-/** @brief Command description for GpSinkCommissioningMode
- *
- * Command: GpSinkCommissioningMode
- * @param options GpSinkCommissioningModeOptions
- * @param gpmAddrForSecurity INT16U
- * @param gpmAddrForPairing INT16U
- * @param sinkEndpoint INT8U
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpSinkCommissioningMode(options, gpmAddrForSecurity, gpmAddrForPairing, sinkEndpoint) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_GP_SINK_COMMISSIONING_MODE_COMMAND_ID, "uuuu", options, gpmAddrForSecurity, gpmAddrForPairing, sinkEndpoint);
-
-/** @brief Command description for GpResponse
- *
- * Command: GpResponse
- * @param options GpResponseOption
- * @param tempMasterShortAddress INT16U
- * @param tempMasterTxChannel BITMAP8
- * @param gpdSrcId INT32U
- * @param gpdIeee IEEE_ADDRESS
- * @param endpoint INT8U
- * @param gpdCommandId INT8U
- * @param gpdCommandPayload OCTET_STRING
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpResponse(options, tempMasterShortAddress, tempMasterTxChannel, gpdSrcId, gpdIeee, endpoint, gpdCommandId, \
- gpdCommandPayload) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_RESPONSE_COMMAND_ID, "uuuuuuuu", options, tempMasterShortAddress, tempMasterTxChannel, \
- gpdSrcId, gpdIeee, endpoint, gpdCommandId, gpdCommandPayload);
-
-/** @brief Command description for GpTranslationTableUpdate
- *
- * Command: GpTranslationTableUpdate
- * @param options GpTranslationTableUpdateOption
- * @param gpdSrcId INT32U
- * @param gpdIeee IEEE_ADDRESS
- * @param endpoint INT8U
- * @param translations GpTranslationTableUpdateTranslation []
- * @param translationsLen int
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpTranslationTableUpdate(options, gpdSrcId, gpdIeee, endpoint, translations, translationsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_TRANSLATION_TABLE_UPDATE_COMMAND_ID, "uuuub", options, gpdSrcId, gpdIeee, endpoint, \
- translations, translationsLen);
-
-/** @brief Command description for GpTranslationTableRequest
- *
- * Command: GpTranslationTableRequest
- * @param startIndex INT8U
- * @param status GpTranslationTableResponseStatus
- * @param options GpTranslationTableResponseOption
- * @param totalNumberOfEntries INT8U
- * @param startIndex INT8U
- * @param entriesCount INT8U
- * @param translationTableList INT8U []
- * @param translationTableListLen int
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpTranslationTableRequest(startIndex, status, options, totalNumberOfEntries, startIndex, entriesCount, \
- translationTableList, translationTableListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_TRANSLATION_TABLE_REQUEST_COMMAND_ID, "uuuuuub", startIndex, status, options, \
- totalNumberOfEntries, startIndex, entriesCount, translationTableList, translationTableListLen);
-
-/** @brief Command description for GpPairingConfiguration
- *
- * Command: GpPairingConfiguration
- * @param actions GpPairingConfigurationActions
- * @param options GpPairingConfigurationOption
- * @param gpdSrcId INT32U
- * @param gpdIeee IEEE_ADDRESS
- * @param endpoint INT8U
- * @param deviceId INT8U
- * @param groupListCount INT8U
- * @param groupList GpPairingConfigurationGroupList []
- * @param groupListLen int
- * @param gpdAssignedAlias INT16U
- * @param groupcastRadius INT8U
- * @param securityOptions INT8U
- * @param gpdSecurityFrameCounter INT32U
- * @param gpdSecurityKey SECURITY_KEY
- * @param numberOfPairedEndpoints INT8U
- * @param pairedEndpoints INT8U []
- * @param pairedEndpointsLen int
- * @param applicationInformation GpApplicationInformation
- * @param manufacturerId INT16U
- * @param modeId INT16U
- * @param numberOfGpdCommands INT8U
- * @param gpdCommandIdList INT8U []
- * @param gpdCommandIdListLen int
- * @param clusterIdListCount INT8U
- * @param clusterListServer INT16U []
- * @param clusterListServerLen int
- * @param clusterListClient INT16U []
- * @param clusterListClientLen int
- * @param switchInformationLength INT8U
- * @param switchConfiguration INT8U
- * @param currentContactStatus INT8U
- * @param totalNumberOfReports INT8U
- * @param numberOfReports INT8U
- * @param reportDescriptor INT8U []
- * @param reportDescriptorLen int
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpPairingConfiguration( \
- actions, options, gpdSrcId, gpdIeee, endpoint, deviceId, groupListCount, groupList, groupListLen, gpdAssignedAlias, \
- groupcastRadius, securityOptions, gpdSecurityFrameCounter, gpdSecurityKey, numberOfPairedEndpoints, pairedEndpoints, \
- pairedEndpointsLen, applicationInformation, manufacturerId, modeId, numberOfGpdCommands, gpdCommandIdList, \
- gpdCommandIdListLen, clusterIdListCount, clusterListServer, clusterListServerLen, clusterListClient, clusterListClientLen, \
- switchInformationLength, switchConfiguration, currentContactStatus, totalNumberOfReports, numberOfReports, \
- reportDescriptor, reportDescriptorLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_PAIRING_CONFIGURATION_COMMAND_ID, "uuuuuuubuuuuuubuuuububbuuuuub", actions, options, \
- gpdSrcId, gpdIeee, endpoint, deviceId, groupListCount, groupList, groupListLen, \
- gpdAssignedAlias, groupcastRadius, securityOptions, gpdSecurityFrameCounter, gpdSecurityKey, \
- numberOfPairedEndpoints, pairedEndpoints, pairedEndpointsLen, applicationInformation, \
- manufacturerId, modeId, numberOfGpdCommands, gpdCommandIdList, gpdCommandIdListLen, \
- clusterIdListCount, clusterListServer, clusterListServerLen, clusterListClient, \
- clusterListClientLen, switchInformationLength, switchConfiguration, currentContactStatus, \
- totalNumberOfReports, numberOfReports, reportDescriptor, reportDescriptorLen);
-
-/** @brief Command description for GpSinkTableRequest
- *
- * Command: GpSinkTableRequest
- * @param options GpSinkTableRequestOptions
- * @param status ENUM8
- * @param gpdSrcId INT32U
- * @param totalNumberofNonEmptySinkTableEntries INT8U
- * @param gpdIeee INT64U
- * @param startIndex INT8U
- * @param endpoint INT8U
- * @param sinkTableEntriesCount INT8U
- * @param index INT8U
- * @param sinkTableEntries INT8U []
- * @param sinkTableEntriesLen int
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpSinkTableRequest(options, status, gpdSrcId, totalNumberofNonEmptySinkTableEntries, gpdIeee, startIndex, \
- endpoint, sinkTableEntriesCount, index, sinkTableEntries, sinkTableEntriesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_SINK_TABLE_REQUEST_COMMAND_ID, "uuuuuuuuub", options, status, gpdSrcId, \
- totalNumberofNonEmptySinkTableEntries, gpdIeee, startIndex, endpoint, sinkTableEntriesCount, \
- index, sinkTableEntries, sinkTableEntriesLen);
-
-/** @brief Command description for GpProxyTableResponse
- *
- * Command: GpProxyTableResponse
- * @param status GpProxyTableResponseStatus
- * @param options GpProxyTableRequestOptions
- * @param totalNumberOfNonEmptyProxyTableEntries INT8U
- * @param gpdSrcId INT32U
- * @param startIndex INT8U
- * @param gpdIeee INT64U
- * @param entriesCount INT8U
- * @param endpoint INT8U
- * @param proxyTableEntries INT8U []
- * @param proxyTableEntriesLen int
- * @param index INT8U
- */
-#define emberAfFillCommandGreen \
- PowerClusterGpProxyTableResponse(status, options, totalNumberOfNonEmptyProxyTableEntries, gpdSrcId, startIndex, gpdIeee, \
- entriesCount, endpoint, proxyTableEntries, proxyTableEntriesLen, index) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GP_PROXY_TABLE_RESPONSE_COMMAND_ID, "uuuuuuuubu", status, options, \
- totalNumberOfNonEmptyProxyTableEntries, gpdSrcId, startIndex, gpdIeee, entriesCount, endpoint, \
- proxyTableEntries, proxyTableEntriesLen, index);
-
-/** @brief Command description for StartUp
- *
- * Command: StartUp
- */
-#define emberAfFillCommandBasicClusterStartUp() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_START_UP_COMMAND_ID, "", );
-
-/** @brief Command description for ShutDown
- *
- * Command: ShutDown
- */
-#define emberAfFillCommandBasicClusterShutDown() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SHUT_DOWN_COMMAND_ID, "", );
-
-/** @brief Command description for Leave
- *
- * Command: Leave
- */
-#define emberAfFillCommandBasicClusterLeave() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LEAVE_COMMAND_ID, "", );
-
-/** @brief Command description for QueryImage
- *
- * Command: QueryImage
- * @param vendorId INT16U
- * @param productId INT16U
- * @param imageType INT16U
- * @param hardwareVersion INT16U
- * @param currentVersion INT32U
- * @param protocolsSupported OTADownloadProtocol []
- * @param protocolsSupportedLen int
- * @param location CHAR_STRING
- * @param clientCanConsent BOOLEAN
- * @param metadataForServer OCTET_STRING
- */
-#define emberAfFillCommandOTA \
- Software Update ServerClusterQueryImage(vendorId, productId, imageType, hardwareVersion, currentVersion, protocolsSupported, \
- protocolsSupportedLen, location, clientCanConsent, metadataForServer) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_QUERY_IMAGE_COMMAND_ID, "uuuuubuuu", vendorId, productId, imageType, hardwareVersion, \
- currentVersion, protocolsSupported, protocolsSupportedLen, location, clientCanConsent, \
- metadataForServer);
-
-/** @brief Command description for ApplyUpdateRequest
- *
- * Command: ApplyUpdateRequest
- * @param updateToken OCTET_STRING
- * @param newVersion INT32U
- */
-#define emberAfFillCommandOTA \
- Software Update ServerClusterApplyUpdateRequest(updateToken, newVersion) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_APPLY_UPDATE_REQUEST_COMMAND_ID, "uu", updateToken, newVersion);
-
-/** @brief Command description for NotifyUpdateApplied
- *
- * Command: NotifyUpdateApplied
- * @param updateToken OCTET_STRING
- * @param currentVersion INT32U
- */
-#define emberAfFillCommandOTA \
- Software Update ServerClusterNotifyUpdateApplied(updateToken, currentVersion) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NOTIFY_UPDATE_APPLIED_COMMAND_ID, "uu", updateToken, currentVersion);
-
-/** @brief Command description for QueryImageResponse
- *
- * Command: QueryImageResponse
- * @param status OTAQueryStatus
- * @param delayedActionTime INT32U
- * @param imageURI CHAR_STRING
- * @param softwareVersion INT32U
- * @param updateToken OCTET_STRING
- * @param userConsentNeeded BOOLEAN
- * @param metadataForClient OCTET_STRING
- */
-#define emberAfFillCommandOTA \
- Software Update ServerClusterQueryImageResponse(status, delayedActionTime, imageURI, softwareVersion, updateToken, \
- userConsentNeeded, metadataForClient) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_QUERY_IMAGE_RESPONSE_COMMAND_ID, "uuuuuuu", status, delayedActionTime, imageURI, \
- softwareVersion, updateToken, userConsentNeeded, metadataForClient);
-
-/** @brief Command description for ApplyUpdateRequestResponse
- *
- * Command: ApplyUpdateRequestResponse
- * @param action OTAApplyUpdateAction
- * @param delayedActionTime INT32U
- */
-#define emberAfFillCommandOTA \
- Software Update ServerClusterApplyUpdateRequestResponse(action, delayedActionTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_APPLY_UPDATE_REQUEST_RESPONSE_COMMAND_ID, "uu", action, delayedActionTime);
-
-/** @brief Command description for AnnounceOtaServer
- *
- * Command: AnnounceOtaServer
- * @param serverLocation OCTET_STRING
- * @param vendorId INT16U
- * @param announcementReason OTAAnnouncementReason
- * @param metadataForNode OCTET_STRING
- */
-#define emberAfFillCommandOTA \
- Software Update ClientClusterAnnounceOtaServer(serverLocation, vendorId, announcementReason, metadataForNode) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ANNOUNCE_OTA_SERVER_COMMAND_ID, "uuuu", serverLocation, vendorId, announcementReason, \
- metadataForNode);
-
-/** @brief Command description for ArmFailSafe
- *
- * Command: ArmFailSafe
- * @param expiryLengthSeconds INT16U
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandGeneral \
- CommissioningClusterArmFailSafe(expiryLengthSeconds, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ARM_FAIL_SAFE_COMMAND_ID, "uuu", expiryLengthSeconds, breadcrumb, timeoutMs);
-
-/** @brief Command description for ArmFailSafeResponse
- *
- * Command: ArmFailSafeResponse
- * @param errorCode GeneralCommissioningError
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandGeneral \
- CommissioningClusterArmFailSafeResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ARM_FAIL_SAFE_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for SetRegulatoryConfig
- *
- * Command: SetRegulatoryConfig
- * @param location RegulatoryLocationType
- * @param countryCode CHAR_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandGeneral \
- CommissioningClusterSetRegulatoryConfig(location, countryCode, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_REGULATORY_CONFIG_COMMAND_ID, "uuuu", location, countryCode, breadcrumb, timeoutMs);
-
-/** @brief Command description for SetRegulatoryConfigResponse
- *
- * Command: SetRegulatoryConfigResponse
- * @param errorCode GeneralCommissioningError
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandGeneral \
- CommissioningClusterSetRegulatoryConfigResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_REGULATORY_CONFIG_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for CommissioningComplete
- *
- * Command: CommissioningComplete
- */
-#define emberAfFillCommandGeneral \
- CommissioningClusterCommissioningComplete() emberAfFillExternalBuffer(mask, \
- \
- ZCL_COMMISSIONING_COMPLETE_COMMAND_ID, "", );
-
-/** @brief Command description for CommissioningCompleteResponse
- *
- * Command: CommissioningCompleteResponse
- * @param errorCode GeneralCommissioningError
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandGeneral \
- CommissioningClusterCommissioningCompleteResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_COMMISSIONING_COMPLETE_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for ScanNetworks
- *
- * Command: ScanNetworks
- * @param ssid OCTET_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterScanNetworks(ssid, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SCAN_NETWORKS_COMMAND_ID, "uuu", ssid, breadcrumb, timeoutMs);
-
-/** @brief Command description for ScanNetworksResponse
- *
- * Command: ScanNetworksResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- * @param wifiScanResults WiFiInterfaceScanResult []
- * @param wifiScanResultsLen int
- * @param threadScanResults ThreadInterfaceScanResult []
- * @param threadScanResultsLen int
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterScanNetworksResponse(errorCode, debugText, wifiScanResults, wifiScanResultsLen, threadScanResults, \
- threadScanResultsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SCAN_NETWORKS_RESPONSE_COMMAND_ID, "uubb", errorCode, debugText, wifiScanResults, \
- wifiScanResultsLen, threadScanResults, threadScanResultsLen);
-
-/** @brief Command description for AddWiFiNetwork
- *
- * Command: AddWiFiNetwork
- * @param ssid OCTET_STRING
- * @param credentials OCTET_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterAddWiFiNetwork(ssid, credentials, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_WI_FI_NETWORK_COMMAND_ID, "uuuu", ssid, credentials, breadcrumb, timeoutMs);
-
-/** @brief Command description for AddWiFiNetworkResponse
- *
- * Command: AddWiFiNetworkResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterAddWiFiNetworkResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_WI_FI_NETWORK_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for UpdateWiFiNetwork
- *
- * Command: UpdateWiFiNetwork
- * @param ssid OCTET_STRING
- * @param credentials OCTET_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterUpdateWiFiNetwork(ssid, credentials, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPDATE_WI_FI_NETWORK_COMMAND_ID, "uuuu", ssid, credentials, breadcrumb, timeoutMs);
-
-/** @brief Command description for UpdateWiFiNetworkResponse
- *
- * Command: UpdateWiFiNetworkResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterUpdateWiFiNetworkResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPDATE_WI_FI_NETWORK_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for AddThreadNetwork
- *
- * Command: AddThreadNetwork
- * @param operationalDataset OCTET_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterAddThreadNetwork(operationalDataset, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_THREAD_NETWORK_COMMAND_ID, "uuu", operationalDataset, breadcrumb, timeoutMs);
-
-/** @brief Command description for AddThreadNetworkResponse
- *
- * Command: AddThreadNetworkResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterAddThreadNetworkResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_THREAD_NETWORK_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for UpdateThreadNetwork
- *
- * Command: UpdateThreadNetwork
- * @param operationalDataset OCTET_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterUpdateThreadNetwork(operationalDataset, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPDATE_THREAD_NETWORK_COMMAND_ID, "uuu", operationalDataset, breadcrumb, timeoutMs);
-
-/** @brief Command description for UpdateThreadNetworkResponse
- *
- * Command: UpdateThreadNetworkResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterUpdateThreadNetworkResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPDATE_THREAD_NETWORK_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for RemoveNetwork
- *
- * Command: RemoveNetwork
- * @param NetworkID OCTET_STRING
- * @param Breadcrumb INT64U
- * @param TimeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterRemoveNetwork(NetworkID, Breadcrumb, TimeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_NETWORK_COMMAND_ID, "uuu", NetworkID, Breadcrumb, TimeoutMs);
-
-/** @brief Command description for RemoveNetworkResponse
- *
- * Command: RemoveNetworkResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterRemoveNetworkResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_NETWORK_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for EnableNetwork
- *
- * Command: EnableNetwork
- * @param networkID OCTET_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterEnableNetwork(networkID, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_NETWORK_COMMAND_ID, "uuu", networkID, breadcrumb, timeoutMs);
-
-/** @brief Command description for EnableNetworkResponse
- *
- * Command: EnableNetworkResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterEnableNetworkResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_NETWORK_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for DisableNetwork
- *
- * Command: DisableNetwork
- * @param networkID OCTET_STRING
- * @param breadcrumb INT64U
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterDisableNetwork(networkID, breadcrumb, timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_NETWORK_COMMAND_ID, "uuu", networkID, breadcrumb, timeoutMs);
-
-/** @brief Command description for DisableNetworkResponse
- *
- * Command: DisableNetworkResponse
- * @param errorCode INT8U
- * @param debugText CHAR_STRING
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterDisableNetworkResponse(errorCode, debugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_NETWORK_RESPONSE_COMMAND_ID, "uu", errorCode, debugText);
-
-/** @brief Command description for GetLastNetworkCommissioningResult
- *
- * Command: GetLastNetworkCommissioningResult
- * @param timeoutMs INT32U
- */
-#define emberAfFillCommandNetwork \
- CommissioningClusterGetLastNetworkCommissioningResult(timeoutMs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_LAST_NETWORK_COMMISSIONING_RESULT_COMMAND_ID, "u", timeoutMs);
-
-/** @brief Command description for ResetCounts
- *
- * Command: ResetCounts
- */
-#define emberAfFillCommandThread \
- Network DiagnosticsClusterResetCounts() emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_COUNTS_COMMAND_ID, "", );
-
-/** @brief Command description for ResetCounts
- *
- * Command: ResetCounts
- */
-#define emberAfFillCommandWiFi \
- Network DiagnosticsClusterResetCounts() emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_COUNTS_COMMAND_ID, "", );
-
-/** @brief Command description for ResetCounts
- *
- * Command: ResetCounts
- */
-#define emberAfFillCommandEthernet \
- Network DiagnosticsClusterResetCounts() emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_COUNTS_COMMAND_ID, "", );
-
-/** @brief Command description for SetFabric
- *
- * Command: SetFabric
- * @param VendorId INT16U
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterSetFabric(VendorId) emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_FABRIC_COMMAND_ID, "u", VendorId);
-
-/** @brief Command description for SetFabricResponse
- *
- * Command: SetFabricResponse
- * @param FabricId FABRIC_ID
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterSetFabricResponse(FabricId) emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_FABRIC_RESPONSE_COMMAND_ID, "u", FabricId);
-
-/** @brief Command description for OpCSRRequest
- *
- * Command: OpCSRRequest
- * @param CSRNonce OCTET_STRING
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterOpCSRRequest(CSRNonce) emberAfFillExternalBuffer(mask, \
- \
- ZCL_OP_CSR_REQUEST_COMMAND_ID, "u", CSRNonce);
-
-/** @brief Command description for OpCSRResponse
- *
- * Command: OpCSRResponse
- * @param CSR OCTET_STRING
- * @param CSRNonce OCTET_STRING
- * @param VendorReserved1 OCTET_STRING
- * @param VendorReserved2 OCTET_STRING
- * @param VendorReserved3 OCTET_STRING
- * @param Signature OCTET_STRING
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterOpCSRResponse(CSR, CSRNonce, VendorReserved1, VendorReserved2, VendorReserved3, Signature) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_OP_CSR_RESPONSE_COMMAND_ID, "uuuuuu", CSR, CSRNonce, VendorReserved1, VendorReserved2, \
- VendorReserved3, Signature);
-
-/** @brief Command description for AddOpCert
- *
- * Command: AddOpCert
- * @param NOC OCTET_STRING
- * @param ICACertificate OCTET_STRING
- * @param IPKValue OCTET_STRING
- * @param CaseAdminNode NODE_ID
- * @param AdminVendorId INT16U
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterAddOpCert(NOC, ICACertificate, IPKValue, CaseAdminNode, AdminVendorId) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_ADD_OP_CERT_COMMAND_ID, "uuuuu", NOC, ICACertificate, IPKValue, CaseAdminNode, AdminVendorId);
-
-/** @brief Command description for OpCertResponse
- *
- * Command: OpCertResponse
- * @param StatusCode INT8U
- * @param FabricIndex INT64U
- * @param DebugText CHAR_STRING
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterOpCertResponse(StatusCode, FabricIndex, DebugText) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_OP_CERT_RESPONSE_COMMAND_ID, "uuu", StatusCode, FabricIndex, DebugText);
-
-/** @brief Command description for UpdateFabricLabel
- *
- * Command: UpdateFabricLabel
- * @param Label CHAR_STRING
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterUpdateFabricLabel(Label) emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPDATE_FABRIC_LABEL_COMMAND_ID, "u", Label);
-
-/** @brief Command description for RemoveFabric
- *
- * Command: RemoveFabric
- * @param FabricId FABRIC_ID
- * @param NodeId NODE_ID
- * @param VendorId INT16U
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterRemoveFabric(FabricId, NodeId, VendorId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_FABRIC_COMMAND_ID, "uuu", FabricId, NodeId, VendorId);
-
-/** @brief Command description for RemoveAllFabrics
- *
- * Command: RemoveAllFabrics
- */
-#define emberAfFillCommandOperational \
- CredentialsClusterRemoveAllFabrics() emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_ALL_FABRICS_COMMAND_ID, "", );
-
-/** @brief Command description for AddTrustedRootCertificate
- *
- * Command: AddTrustedRootCertificate
- * @param RootCertificate OCTET_STRING
- */
-#define emberAfFillCommandTrusted \
- Root CertificatesClusterAddTrustedRootCertificate(RootCertificate) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADD_TRUSTED_ROOT_CERTIFICATE_COMMAND_ID, "u", RootCertificate);
-
-/** @brief Command description for RemoveTrustedRootCertificate
- *
- * Command: RemoveTrustedRootCertificate
- * @param TrustedRootIdentifier OCTET_STRING
- */
-#define emberAfFillCommandTrusted \
- Root CertificatesClusterRemoveTrustedRootCertificate(TrustedRootIdentifier) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_TRUSTED_ROOT_CERTIFICATE_COMMAND_ID, "u", TrustedRootIdentifier);
-
-/** @brief Command description for LockDoor
- *
- * Command: LockDoor
- * @param PIN CHAR_STRING
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterLockDoor(PIN, status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_LOCK_DOOR_COMMAND_ID, "uu", PIN, status);
-
-/** @brief Command description for UnlockDoor
- *
- * Command: UnlockDoor
- * @param PIN CHAR_STRING
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterUnlockDoor(PIN, status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_UNLOCK_DOOR_COMMAND_ID, "uu", PIN, status);
-
-/** @brief Command description for Toggle
- *
- * Command: Toggle
- * @param pin CHAR_STRING
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterToggle(pin, status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_TOGGLE_COMMAND_ID, "uu", pin, status);
-
-/** @brief Command description for UnlockWithTimeout
- *
- * Command: UnlockWithTimeout
- * @param timeoutInSeconds INT16U
- * @param status INT8U
- * @param pin CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterUnlockWithTimeout(timeoutInSeconds, status, pin) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UNLOCK_WITH_TIMEOUT_COMMAND_ID, "uuu", timeoutInSeconds, status, pin);
-
-/** @brief Command description for GetLogRecord
- *
- * Command: GetLogRecord
- * @param logIndex INT16U
- * @param logEntryId INT16U
- * @param timestamp INT32U
- * @param eventType ENUM8
- * @param source INT8U
- * @param eventIdOrAlarmCode INT8U
- * @param userId INT16U
- * @param pin CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterGetLogRecord(logIndex, logEntryId, timestamp, eventType, source, eventIdOrAlarmCode, userId, pin) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_LOG_RECORD_COMMAND_ID, "uuuuuuuu", logIndex, logEntryId, timestamp, eventType, source, \
- eventIdOrAlarmCode, userId, pin);
-
-/** @brief Command description for SetPin
- *
- * Command: SetPin
- * @param userId INT16U
- * @param status DoorLockSetPinOrIdStatus
- * @param userStatus DoorLockUserStatus
- * @param userType DoorLockUserType
- * @param pin CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterSetPin(userId, status, userStatus, userType, pin) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_PIN_COMMAND_ID, "uuuuu", userId, status, userStatus, userType, pin);
-
-/** @brief Command description for GetPin
- *
- * Command: GetPin
- * @param userId INT16U
- * @param userId INT16U
- * @param userStatus DoorLockUserStatus
- * @param userType DoorLockUserType
- * @param pin CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterGetPin(userId, userId, userStatus, userType, pin) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_PIN_COMMAND_ID, "uuuuu", userId, userId, userStatus, userType, pin);
-
-/** @brief Command description for ClearPin
- *
- * Command: ClearPin
- * @param userId INT16U
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterClearPin(userId, status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_PIN_COMMAND_ID, "uu", userId, status);
-
-/** @brief Command description for ClearAllPins
- *
- * Command: ClearAllPins
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterClearAllPins(status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_ALL_PINS_COMMAND_ID, "u", status);
-
-/** @brief Command description for SetUserStatus
- *
- * Command: SetUserStatus
- * @param userId INT16U
- * @param status INT8U
- * @param userStatus INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterSetUserStatus(userId, status, userStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_USER_STATUS_COMMAND_ID, "uuu", userId, status, userStatus);
-
-/** @brief Command description for GetUserStatus
- *
- * Command: GetUserStatus
- * @param userId INT16U
- * @param userId INT16U
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterGetUserStatus(userId, userId, status) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_USER_STATUS_COMMAND_ID, "uuu", userId, userId, status);
-
-/** @brief Command description for SetWeekdaySchedule
- *
- * Command: SetWeekdaySchedule
- * @param scheduleId INT8U
- * @param status INT8U
- * @param userId INT16U
- * @param daysMask DoorLockDayOfWeek
- * @param startHour INT8U
- * @param startMinute INT8U
- * @param endHour INT8U
- * @param endMinute INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterSetWeekdaySchedule(scheduleId, status, userId, daysMask, startHour, startMinute, endHour, endMinute) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_WEEKDAY_SCHEDULE_COMMAND_ID, "uuuuuuuu", scheduleId, status, userId, daysMask, \
- startHour, startMinute, endHour, endMinute);
-
-/** @brief Command description for GetWeekdaySchedule
- *
- * Command: GetWeekdaySchedule
- * @param scheduleId INT8U
- * @param scheduleId INT8U
- * @param userId INT16U
- * @param userId INT16U
- * @param status INT8U
- * @param daysMask INT8U
- * @param startHour INT8U
- * @param startMinute INT8U
- * @param endHour INT8U
- * @param endMinute INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterGetWeekdaySchedule(scheduleId, scheduleId, userId, userId, status, daysMask, startHour, startMinute, endHour, \
- endMinute) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_WEEKDAY_SCHEDULE_COMMAND_ID, "uuuuuuuuuu", scheduleId, scheduleId, userId, userId, \
- status, daysMask, startHour, startMinute, endHour, endMinute);
-
-/** @brief Command description for ClearWeekdaySchedule
- *
- * Command: ClearWeekdaySchedule
- * @param scheduleId INT8U
- * @param status INT8U
- * @param userId INT16U
- */
-#define emberAfFillCommandDoor \
- LockClusterClearWeekdaySchedule(scheduleId, status, userId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_WEEKDAY_SCHEDULE_COMMAND_ID, "uuu", scheduleId, status, userId);
-
-/** @brief Command description for SetYeardaySchedule
- *
- * Command: SetYeardaySchedule
- * @param scheduleId INT8U
- * @param status INT8U
- * @param userId INT16U
- * @param localStartTime INT32U
- * @param localEndTime INT32U
- */
-#define emberAfFillCommandDoor \
- LockClusterSetYeardaySchedule(scheduleId, status, userId, localStartTime, localEndTime) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_SET_YEARDAY_SCHEDULE_COMMAND_ID, "uuuuu", scheduleId, status, userId, localStartTime, localEndTime);
-
-/** @brief Command description for GetYeardaySchedule
- *
- * Command: GetYeardaySchedule
- * @param scheduleId INT8U
- * @param scheduleId INT8U
- * @param userId INT16U
- * @param userId INT16U
- * @param status INT8U
- * @param localStartTime INT32U
- * @param localEndTime INT32U
- */
-#define emberAfFillCommandDoor \
- LockClusterGetYeardaySchedule(scheduleId, scheduleId, userId, userId, status, localStartTime, localEndTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_YEARDAY_SCHEDULE_COMMAND_ID, "uuuuuuu", scheduleId, scheduleId, userId, userId, status, \
- localStartTime, localEndTime);
-
-/** @brief Command description for ClearYeardaySchedule
- *
- * Command: ClearYeardaySchedule
- * @param scheduleId INT8U
- * @param status INT8U
- * @param userId INT16U
- */
-#define emberAfFillCommandDoor \
- LockClusterClearYeardaySchedule(scheduleId, status, userId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_YEARDAY_SCHEDULE_COMMAND_ID, "uuu", scheduleId, status, userId);
-
-/** @brief Command description for SetHolidaySchedule
- *
- * Command: SetHolidaySchedule
- * @param scheduleId INT8U
- * @param status INT8U
- * @param localStartTime INT32U
- * @param localEndTime INT32U
- * @param operatingModeDuringHoliday ENUM8
- */
-#define emberAfFillCommandDoor \
- LockClusterSetHolidaySchedule(scheduleId, status, localStartTime, localEndTime, operatingModeDuringHoliday) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_HOLIDAY_SCHEDULE_COMMAND_ID, "uuuuu", scheduleId, status, localStartTime, localEndTime, \
- operatingModeDuringHoliday);
-
-/** @brief Command description for GetHolidaySchedule
- *
- * Command: GetHolidaySchedule
- * @param scheduleId INT8U
- * @param scheduleId INT8U
- * @param status INT8U
- * @param localStartTime INT32U
- * @param localEndTime INT32U
- * @param operatingModeDuringHoliday ENUM8
- */
-#define emberAfFillCommandDoor \
- LockClusterGetHolidaySchedule(scheduleId, scheduleId, status, localStartTime, localEndTime, operatingModeDuringHoliday) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_HOLIDAY_SCHEDULE_COMMAND_ID, "uuuuuu", scheduleId, scheduleId, status, localStartTime, \
- localEndTime, operatingModeDuringHoliday);
-
-/** @brief Command description for ClearHolidaySchedule
- *
- * Command: ClearHolidaySchedule
- * @param scheduleId INT8U
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterClearHolidaySchedule(scheduleId, status) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_HOLIDAY_SCHEDULE_COMMAND_ID, "uu", scheduleId, status);
-
-/** @brief Command description for SetUserType
- *
- * Command: SetUserType
- * @param userId INT16U
- * @param status INT8U
- * @param userType DoorLockUserType
- */
-#define emberAfFillCommandDoor \
- LockClusterSetUserType(userId, status, userType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_USER_TYPE_COMMAND_ID, "uuu", userId, status, userType);
-
-/** @brief Command description for GetUserType
- *
- * Command: GetUserType
- * @param userId INT16U
- * @param userId INT16U
- * @param userType DoorLockUserType
- */
-#define emberAfFillCommandDoor \
- LockClusterGetUserType(userId, userId, userType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_USER_TYPE_COMMAND_ID, "uuu", userId, userId, userType);
-
-/** @brief Command description for SetRfid
- *
- * Command: SetRfid
- * @param userId INT16U
- * @param status DoorLockSetPinOrIdStatus
- * @param userStatus DoorLockUserStatus
- * @param userType DoorLockUserType
- * @param id CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterSetRfid(userId, status, userStatus, userType, id) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_RFID_COMMAND_ID, "uuuuu", userId, status, userStatus, userType, id);
-
-/** @brief Command description for GetRfid
- *
- * Command: GetRfid
- * @param userId INT16U
- * @param userId INT16U
- * @param userStatus DoorLockUserStatus
- * @param userType DoorLockUserType
- * @param rfid CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterGetRfid(userId, userId, userStatus, userType, rfid) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_RFID_COMMAND_ID, "uuuuu", userId, userId, userStatus, userType, rfid);
-
-/** @brief Command description for ClearRfid
- *
- * Command: ClearRfid
- * @param userId INT16U
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterClearRfid(userId, status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_RFID_COMMAND_ID, "uu", userId, status);
-
-/** @brief Command description for ClearAllRfids
- *
- * Command: ClearAllRfids
- * @param status INT8U
- */
-#define emberAfFillCommandDoor \
- LockClusterClearAllRfids(status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_ALL_RFIDS_COMMAND_ID, "u", status);
-
-/** @brief Command description for OperationEventNotification
- *
- * Command: OperationEventNotification
- * @param source INT8U
- * @param eventCode DoorLockOperationEventCode
- * @param userId INT16U
- * @param pin CHAR_STRING
- * @param timeStamp INT32U
- * @param data CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterOperationEventNotification(source, eventCode, userId, pin, timeStamp, data) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_OPERATION_EVENT_NOTIFICATION_COMMAND_ID, "uuuuuu", source, eventCode, userId, pin, timeStamp, data);
-
-/** @brief Command description for ProgrammingEventNotification
- *
- * Command: ProgrammingEventNotification
- * @param source INT8U
- * @param eventCode DoorLockProgrammingEventCode
- * @param userId INT16U
- * @param pin CHAR_STRING
- * @param userType DoorLockUserType
- * @param userStatus DoorLockUserStatus
- * @param timeStamp INT32U
- * @param data CHAR_STRING
- */
-#define emberAfFillCommandDoor \
- LockClusterProgrammingEventNotification(source, eventCode, userId, pin, userType, userStatus, timeStamp, data) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PROGRAMMING_EVENT_NOTIFICATION_COMMAND_ID, "uuuuuuuu", source, eventCode, userId, pin, \
- userType, userStatus, timeStamp, data);
-
-/** @brief Command description for WindowCoveringUpOpen
- *
- * Command: WindowCoveringUpOpen
- */
-#define emberAfFillCommandWindow \
- CoveringClusterWindowCoveringUpOpen() emberAfFillExternalBuffer(mask, \
- \
- ZCL_WINDOW_COVERING_UP_OPEN_COMMAND_ID, "", );
-
-/** @brief Command description for WindowCoveringDownClose
- *
- * Command: WindowCoveringDownClose
- */
-#define emberAfFillCommandWindow \
- CoveringClusterWindowCoveringDownClose() emberAfFillExternalBuffer(mask, \
- \
- ZCL_WINDOW_COVERING_DOWN_CLOSE_COMMAND_ID, "", );
-
-/** @brief Command description for WindowCoveringStop
- *
- * Command: WindowCoveringStop
- */
-#define emberAfFillCommandWindow \
- CoveringClusterWindowCoveringStop() emberAfFillExternalBuffer(mask, \
- \
- ZCL_WINDOW_COVERING_STOP_COMMAND_ID, "", );
-
-/** @brief Command description for WindowCoveringGoToLiftValue
- *
- * Command: WindowCoveringGoToLiftValue
- * @param liftValue INT16U
- */
-#define emberAfFillCommandWindow \
- CoveringClusterWindowCoveringGoToLiftValue(liftValue) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_WINDOW_COVERING_GO_TO_LIFT_VALUE_COMMAND_ID, "u", liftValue);
-
-/** @brief Command description for WindowCoveringGoToLiftPercentage
- *
- * Command: WindowCoveringGoToLiftPercentage
- * @param percentageLiftValue INT8U
- */
-#define emberAfFillCommandWindow \
- CoveringClusterWindowCoveringGoToLiftPercentage(percentageLiftValue) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_WINDOW_COVERING_GO_TO_LIFT_PERCENTAGE_COMMAND_ID, "u", percentageLiftValue);
-
-/** @brief Command description for WindowCoveringGoToTiltValue
- *
- * Command: WindowCoveringGoToTiltValue
- * @param tiltValue INT16U
- */
-#define emberAfFillCommandWindow \
- CoveringClusterWindowCoveringGoToTiltValue(tiltValue) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_WINDOW_COVERING_GO_TO_TILT_VALUE_COMMAND_ID, "u", tiltValue);
-
-/** @brief Command description for WindowCoveringGoToTiltPercentage
- *
- * Command: WindowCoveringGoToTiltPercentage
- * @param percentageTiltValue INT8U
- */
-#define emberAfFillCommandWindow \
- CoveringClusterWindowCoveringGoToTiltPercentage(percentageTiltValue) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_WINDOW_COVERING_GO_TO_TILT_PERCENTAGE_COMMAND_ID, "u", percentageTiltValue);
-
-/** @brief Command description for BarrierControlGoToPercent
- *
- * Command: BarrierControlGoToPercent
- * @param percentOpen INT8U
- */
-#define emberAfFillCommandBarrier \
- ControlClusterBarrierControlGoToPercent(percentOpen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_BARRIER_CONTROL_GO_TO_PERCENT_COMMAND_ID, "u", percentOpen);
-
-/** @brief Command description for BarrierControlStop
- *
- * Command: BarrierControlStop
- */
-#define emberAfFillCommandBarrier \
- ControlClusterBarrierControlStop() emberAfFillExternalBuffer(mask, \
- \
- ZCL_BARRIER_CONTROL_STOP_COMMAND_ID, "", );
-
-/** @brief Command description for SetpointRaiseLower
- *
- * Command: SetpointRaiseLower
- * @param mode SetpointAdjustMode
- * @param numberOfTransitionsForSequence ENUM8
- * @param amount INT8S
- * @param dayOfWeekForSequence DayOfWeek
- * @param modeForSequence ModeForSequence
- * @param payload INT8U []
- * @param payloadLen int
- */
-#define emberAfFillCommandThermostatClusterSetpointRaiseLower(mode, numberOfTransitionsForSequence, amount, dayOfWeekForSequence, \
- modeForSequence, payload, payloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SETPOINT_RAISE_LOWER_COMMAND_ID, "uuuuub", mode, numberOfTransitionsForSequence, amount, \
- dayOfWeekForSequence, modeForSequence, payload, payloadLen);
-
-/** @brief Command description for SetWeeklySchedule
- *
- * Command: SetWeeklySchedule
- * @param numberOfTransitionsForSequence ENUM8
- * @param timeOfDay INT16U
- * @param dayOfWeekForSequence DayOfWeek
- * @param relayStatus BITMAP16
- * @param modeForSequence ModeForSequence
- * @param localTemperature INT16S
- * @param payload INT8U []
- * @param payloadLen int
- * @param humidityInPercentage INT8U
- * @param setpoint INT16S
- * @param unreadEntries INT16U
- */
-#define emberAfFillCommandThermostatClusterSetWeeklySchedule(numberOfTransitionsForSequence, timeOfDay, dayOfWeekForSequence, \
- relayStatus, modeForSequence, localTemperature, payload, payloadLen, \
- humidityInPercentage, setpoint, unreadEntries) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_WEEKLY_SCHEDULE_COMMAND_ID, "uuuuuubuuu", numberOfTransitionsForSequence, timeOfDay, \
- dayOfWeekForSequence, relayStatus, modeForSequence, localTemperature, payload, payloadLen, \
- humidityInPercentage, setpoint, unreadEntries);
-
-/** @brief Command description for GetWeeklySchedule
- *
- * Command: GetWeeklySchedule
- * @param daysToReturn DayOfWeek
- * @param modeToReturn ModeForSequence
- */
-#define emberAfFillCommandThermostatClusterGetWeeklySchedule(daysToReturn, modeToReturn) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_WEEKLY_SCHEDULE_COMMAND_ID, "uu", daysToReturn, modeToReturn);
-
-/** @brief Command description for ClearWeeklySchedule
- *
- * Command: ClearWeeklySchedule
- */
-#define emberAfFillCommandThermostatClusterClearWeeklySchedule() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_WEEKLY_SCHEDULE_COMMAND_ID, "", );
-
-/** @brief Command description for GetRelayStatusLog
- *
- * Command: GetRelayStatusLog
- */
-#define emberAfFillCommandThermostatClusterGetRelayStatusLog() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_RELAY_STATUS_LOG_COMMAND_ID, "", );
-
-/** @brief Command description for MoveToHue
- *
- * Command: MoveToHue
- * @param hue INT8U
- * @param direction HueDirection
- * @param transitionTime INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveToHue(hue, direction, transitionTime, optionsMask, optionsOverride) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_MOVE_TO_HUE_COMMAND_ID, "uuuuu", hue, direction, transitionTime, optionsMask, optionsOverride);
-
-/** @brief Command description for MoveHue
- *
- * Command: MoveHue
- * @param moveMode HueMoveMode
- * @param rate INT8U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveHue(moveMode, rate, optionsMask, optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_HUE_COMMAND_ID, "uuuu", moveMode, rate, optionsMask, optionsOverride);
-
-/** @brief Command description for StepHue
- *
- * Command: StepHue
- * @param stepMode HueStepMode
- * @param stepSize INT8U
- * @param transitionTime INT8U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterStepHue(stepMode, stepSize, transitionTime, optionsMask, optionsOverride) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_STEP_HUE_COMMAND_ID, "uuuuu", stepMode, stepSize, transitionTime, optionsMask, optionsOverride);
-
-/** @brief Command description for MoveToSaturation
- *
- * Command: MoveToSaturation
- * @param saturation INT8U
- * @param transitionTime INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveToSaturation(saturation, transitionTime, optionsMask, optionsOverride) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_MOVE_TO_SATURATION_COMMAND_ID, "uuuu", saturation, transitionTime, optionsMask, optionsOverride);
-
-/** @brief Command description for MoveSaturation
- *
- * Command: MoveSaturation
- * @param moveMode SaturationMoveMode
- * @param rate INT8U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveSaturation(moveMode, rate, optionsMask, optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_SATURATION_COMMAND_ID, "uuuu", moveMode, rate, optionsMask, optionsOverride);
-
-/** @brief Command description for StepSaturation
- *
- * Command: StepSaturation
- * @param stepMode SaturationStepMode
- * @param stepSize INT8U
- * @param transitionTime INT8U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterStepSaturation(stepMode, stepSize, transitionTime, optionsMask, optionsOverride) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_STEP_SATURATION_COMMAND_ID, "uuuuu", stepMode, stepSize, transitionTime, optionsMask, optionsOverride);
-
-/** @brief Command description for MoveToHueAndSaturation
- *
- * Command: MoveToHueAndSaturation
- * @param hue INT8U
- * @param saturation INT8U
- * @param transitionTime INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveToHueAndSaturation(hue, saturation, transitionTime, optionsMask, optionsOverride) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_MOVE_TO_HUE_AND_SATURATION_COMMAND_ID, "uuuuu", hue, saturation, transitionTime, optionsMask, optionsOverride);
-
-/** @brief Command description for MoveToColor
- *
- * Command: MoveToColor
- * @param colorX INT16U
- * @param colorY INT16U
- * @param transitionTime INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveToColor(colorX, colorY, transitionTime, optionsMask, optionsOverride) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_MOVE_TO_COLOR_COMMAND_ID, "uuuuu", colorX, colorY, transitionTime, optionsMask, optionsOverride);
-
-/** @brief Command description for MoveColor
- *
- * Command: MoveColor
- * @param rateX INT16S
- * @param rateY INT16S
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveColor(rateX, rateY, optionsMask, optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_COLOR_COMMAND_ID, "uuuu", rateX, rateY, optionsMask, optionsOverride);
-
-/** @brief Command description for StepColor
- *
- * Command: StepColor
- * @param stepX INT16S
- * @param stepY INT16S
- * @param transitionTime INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterStepColor(stepX, stepY, transitionTime, optionsMask, optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STEP_COLOR_COMMAND_ID, "uuuuu", stepX, stepY, transitionTime, optionsMask, optionsOverride);
-
-/** @brief Command description for MoveToColorTemperature
- *
- * Command: MoveToColorTemperature
- * @param colorTemperature INT16U
- * @param transitionTime INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveToColorTemperature(colorTemperature, transitionTime, optionsMask, optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_TO_COLOR_TEMPERATURE_COMMAND_ID, "uuuu", colorTemperature, transitionTime, optionsMask, \
- optionsOverride);
-
-/** @brief Command description for EnhancedMoveToHue
- *
- * Command: EnhancedMoveToHue
- * @param enhancedHue INT16U
- * @param direction HueDirection
- * @param transitionTime INT16U
- */
-#define emberAfFillCommandColor \
- ControlClusterEnhancedMoveToHue(enhancedHue, direction, transitionTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENHANCED_MOVE_TO_HUE_COMMAND_ID, "uuu", enhancedHue, direction, transitionTime);
-
-/** @brief Command description for EnhancedMoveHue
- *
- * Command: EnhancedMoveHue
- * @param moveMode HueMoveMode
- * @param rate INT16U
- */
-#define emberAfFillCommandColor \
- ControlClusterEnhancedMoveHue(moveMode, rate) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENHANCED_MOVE_HUE_COMMAND_ID, "uu", moveMode, rate);
-
-/** @brief Command description for EnhancedStepHue
- *
- * Command: EnhancedStepHue
- * @param stepMode HueStepMode
- * @param stepSize INT16U
- * @param transitionTime INT16U
- */
-#define emberAfFillCommandColor \
- ControlClusterEnhancedStepHue(stepMode, stepSize, transitionTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENHANCED_STEP_HUE_COMMAND_ID, "uuu", stepMode, stepSize, transitionTime);
-
-/** @brief Command description for EnhancedMoveToHueAndSaturation
- *
- * Command: EnhancedMoveToHueAndSaturation
- * @param enhancedHue INT16U
- * @param saturation INT8U
- * @param transitionTime INT16U
- */
-#define emberAfFillCommandColor \
- ControlClusterEnhancedMoveToHueAndSaturation(enhancedHue, saturation, transitionTime) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_ENHANCED_MOVE_TO_HUE_AND_SATURATION_COMMAND_ID, "uuu", enhancedHue, saturation, transitionTime);
-
-/** @brief Command description for ColorLoopSet
- *
- * Command: ColorLoopSet
- * @param updateFlags ColorLoopUpdateFlags
- * @param action ColorLoopAction
- * @param direction ColorLoopDirection
- * @param time INT16U
- * @param startHue INT16U
- */
-#define emberAfFillCommandColor \
- ControlClusterColorLoopSet(updateFlags, action, direction, time, startHue) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_COLOR_LOOP_SET_COMMAND_ID, "uuuuu", updateFlags, action, direction, time, startHue);
-
-/** @brief Command description for StopMoveStep
- *
- * Command: StopMoveStep
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterStopMoveStep(optionsMask, optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STOP_MOVE_STEP_COMMAND_ID, "uu", optionsMask, optionsOverride);
-
-/** @brief Command description for MoveColorTemperature
- *
- * Command: MoveColorTemperature
- * @param moveMode HueMoveMode
- * @param rate INT16U
- * @param colorTemperatureMinimum INT16U
- * @param colorTemperatureMaximum INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterMoveColorTemperature(moveMode, rate, colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, \
- optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MOVE_COLOR_TEMPERATURE_COMMAND_ID, "uuuuuu", moveMode, rate, colorTemperatureMinimum, \
- colorTemperatureMaximum, optionsMask, optionsOverride);
-
-/** @brief Command description for StepColorTemperature
- *
- * Command: StepColorTemperature
- * @param stepMode HueStepMode
- * @param stepSize INT16U
- * @param transitionTime INT16U
- * @param colorTemperatureMinimum INT16U
- * @param colorTemperatureMaximum INT16U
- * @param optionsMask BITMAP8
- * @param optionsOverride BITMAP8
- */
-#define emberAfFillCommandColor \
- ControlClusterStepColorTemperature(stepMode, stepSize, transitionTime, colorTemperatureMinimum, colorTemperatureMaximum, \
- optionsMask, optionsOverride) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STEP_COLOR_TEMPERATURE_COMMAND_ID, "uuuuuuu", stepMode, stepSize, transitionTime, \
- colorTemperatureMinimum, colorTemperatureMaximum, optionsMask, optionsOverride);
-
-/** @brief Command description for ZoneEnrollResponse
- *
- * Command: ZoneEnrollResponse
- * @param enrollResponseCode IasEnrollResponseCode
- * @param zoneStatus IasZoneStatus
- * @param zoneId INT8U
- * @param extendedStatus BITMAP8
- * @param zoneId INT8U
- * @param delay INT16U
- */
-#define emberAfFillCommandIAS \
- ZoneClusterZoneEnrollResponse(enrollResponseCode, zoneStatus, zoneId, extendedStatus, zoneId, delay) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ZONE_ENROLL_RESPONSE_COMMAND_ID, "uuuuuu", enrollResponseCode, zoneStatus, zoneId, \
- extendedStatus, zoneId, delay);
-
-/** @brief Command description for InitiateNormalOperationMode
- *
- * Command: InitiateNormalOperationMode
- * @param zoneType IasZoneType
- * @param manufacturerCode INT16U
- */
-#define emberAfFillCommandIAS \
- ZoneClusterInitiateNormalOperationMode(zoneType, manufacturerCode) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_INITIATE_NORMAL_OPERATION_MODE_COMMAND_ID, "uu", zoneType, manufacturerCode);
-
-/** @brief Command description for InitiateNormalOperationModeResponse
- *
- * Command: InitiateNormalOperationModeResponse
- * @param testModeDuration INT8U
- * @param currentZoneSensitivityLevel INT8U
- */
-#define emberAfFillCommandIAS \
- ZoneClusterInitiateNormalOperationModeResponse(testModeDuration, currentZoneSensitivityLevel) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_INITIATE_NORMAL_OPERATION_MODE_RESPONSE_COMMAND_ID, "uu", testModeDuration, currentZoneSensitivityLevel);
-
-/** @brief Command description for InitiateTestModeResponse
- *
- * Command: InitiateTestModeResponse
- */
-#define emberAfFillCommandIAS \
- ZoneClusterInitiateTestModeResponse() emberAfFillExternalBuffer(mask, \
- \
- ZCL_INITIATE_TEST_MODE_RESPONSE_COMMAND_ID, "", );
-
-/** @brief Command description for Arm
- *
- * Command: Arm
- * @param armMode IasAceArmMode
- * @param armNotification IasAceArmNotification
- * @param armDisarmCode CHAR_STRING
- * @param zoneId INT8U
- */
-#define emberAfFillCommandIAS \
- ACEClusterArm(armMode, armNotification, armDisarmCode, zoneId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ARM_COMMAND_ID, "uuuu", armMode, armNotification, armDisarmCode, zoneId);
-
-/** @brief Command description for Bypass
- *
- * Command: Bypass
- * @param numberOfZones INT8U
- * @param section0 BITMAP16
- * @param zoneIds INT8U []
- * @param zoneIdsLen int
- * @param section1 BITMAP16
- * @param armDisarmCode CHAR_STRING
- * @param section2 BITMAP16
- * @param section3 BITMAP16
- * @param section4 BITMAP16
- * @param section5 BITMAP16
- * @param section6 BITMAP16
- * @param section7 BITMAP16
- * @param section8 BITMAP16
- * @param section9 BITMAP16
- * @param section10 BITMAP16
- * @param section11 BITMAP16
- * @param section12 BITMAP16
- * @param section13 BITMAP16
- * @param section14 BITMAP16
- * @param section15 BITMAP16
- */
-#define emberAfFillCommandIAS \
- ACEClusterBypass(numberOfZones, section0, zoneIds, zoneIdsLen, section1, armDisarmCode, section2, section3, section4, \
- section5, section6, section7, section8, section9, section10, section11, section12, section13, section14, \
- section15) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_BYPASS_COMMAND_ID, "uubuuuuuuuuuuuuuuuu", numberOfZones, section0, zoneIds, zoneIdsLen, \
- section1, armDisarmCode, section2, section3, section4, section5, section6, section7, section8, \
- section9, section10, section11, section12, section13, section14, section15);
-
-/** @brief Command description for Emergency
- *
- * Command: Emergency
- * @param zoneId INT8U
- * @param zoneType IasZoneType
- * @param ieeeAddress IEEE_ADDRESS
- * @param zoneLabel CHAR_STRING
- */
-#define emberAfFillCommandIAS \
- ACEClusterEmergency(zoneId, zoneType, ieeeAddress, zoneLabel) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_EMERGENCY_COMMAND_ID, "uuuu", zoneId, zoneType, ieeeAddress, zoneLabel);
-
-/** @brief Command description for Fire
- *
- * Command: Fire
- * @param zoneId INT8U
- * @param zoneStatus ENUM16
- * @param audibleNotification IasAceAudibleNotification
- * @param zoneLabel CHAR_STRING
- */
-#define emberAfFillCommandIAS \
- ACEClusterFire(zoneId, zoneStatus, audibleNotification, zoneLabel) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_FIRE_COMMAND_ID, "uuuu", zoneId, zoneStatus, audibleNotification, zoneLabel);
-
-/** @brief Command description for Panic
- *
- * Command: Panic
- * @param panelStatus IasAcePanelStatus
- * @param secondsRemaining INT8U
- * @param audibleNotification IasAceAudibleNotification
- * @param alarmStatus IasAceAlarmStatus
- */
-#define emberAfFillCommandIAS \
- ACEClusterPanic(panelStatus, secondsRemaining, audibleNotification, alarmStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PANIC_COMMAND_ID, "uuuu", panelStatus, secondsRemaining, audibleNotification, alarmStatus);
-
-/** @brief Command description for GetZoneIdMap
- *
- * Command: GetZoneIdMap
- * @param panelStatus IasAcePanelStatus
- * @param secondsRemaining INT8U
- * @param audibleNotification IasAceAudibleNotification
- * @param alarmStatus IasAceAlarmStatus
- */
-#define emberAfFillCommandIAS \
- ACEClusterGetZoneIdMap(panelStatus, secondsRemaining, audibleNotification, alarmStatus) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_GET_ZONE_ID_MAP_COMMAND_ID, "uuuu", panelStatus, secondsRemaining, audibleNotification, alarmStatus);
-
-/** @brief Command description for GetZoneInformation
- *
- * Command: GetZoneInformation
- * @param zoneId INT8U
- * @param numberOfZones INT8U
- * @param zoneIds INT8U []
- * @param zoneIdsLen int
- */
-#define emberAfFillCommandIAS \
- ACEClusterGetZoneInformation(zoneId, numberOfZones, zoneIds, zoneIdsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_ZONE_INFORMATION_COMMAND_ID, "uub", zoneId, numberOfZones, zoneIds, zoneIdsLen);
-
-/** @brief Command description for GetPanelStatus
- *
- * Command: GetPanelStatus
- * @param numberOfZones INT8U
- * @param bypassResult IasAceBypassResult []
- * @param bypassResultLen int
- */
-#define emberAfFillCommandIAS \
- ACEClusterGetPanelStatus(numberOfZones, bypassResult, bypassResultLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_PANEL_STATUS_COMMAND_ID, "ub", numberOfZones, bypassResult, bypassResultLen);
-
-/** @brief Command description for GetBypassedZoneList
- *
- * Command: GetBypassedZoneList
- * @param zoneStatusComplete BOOLEAN
- * @param numberOfZones INT8U
- * @param zoneStatusResult IasAceZoneStatusResult []
- * @param zoneStatusResultLen int
- */
-#define emberAfFillCommandIAS \
- ACEClusterGetBypassedZoneList(zoneStatusComplete, numberOfZones, zoneStatusResult, zoneStatusResultLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_BYPASSED_ZONE_LIST_COMMAND_ID, "uub", zoneStatusComplete, numberOfZones, \
- zoneStatusResult, zoneStatusResultLen);
-
-/** @brief Command description for GetZoneStatus
- *
- * Command: GetZoneStatus
- * @param startingZoneId INT8U
- * @param maxNumberOfZoneIds INT8U
- * @param zoneStatusMaskFlag BOOLEAN
- * @param zoneStatusMask BITMAP16
- */
-#define emberAfFillCommandIAS \
- ACEClusterGetZoneStatus(startingZoneId, maxNumberOfZoneIds, zoneStatusMaskFlag, zoneStatusMask) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_GET_ZONE_STATUS_COMMAND_ID, "uuuu", startingZoneId, maxNumberOfZoneIds, zoneStatusMaskFlag, zoneStatusMask);
-
-/** @brief Command description for StartWarning
- *
- * Command: StartWarning
- * @param warningInfo WarningInfo
- * @param warningDuration INT16U
- * @param strobeDutyCycle INT8U
- * @param strobeLevel ENUM8
- */
-#define emberAfFillCommandIAS \
- WDClusterStartWarning(warningInfo, warningDuration, strobeDutyCycle, strobeLevel) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_START_WARNING_COMMAND_ID, "uuuu", warningInfo, warningDuration, strobeDutyCycle, strobeLevel);
-
-/** @brief Command description for Squawk
- *
- * Command: Squawk
- * @param squawkInfo SquawkInfo
- */
-#define emberAfFillCommandIAS \
- WDClusterSquawk(squawkInfo) emberAfFillExternalBuffer(mask, \
- \
- ZCL_SQUAWK_COMMAND_ID, "u", squawkInfo);
-
-/** @brief Command description for ChangeChannel
- *
- * Command: ChangeChannel
- * @param match CHAR_STRING
- * @param ChannelMatch TvChannelInfo []
- * @param ChannelMatchLen int
- * @param ErrorType TvChannelErrorType
- */
-#define emberAfFillCommandTV \
- ChannelClusterChangeChannel(match, ChannelMatch, ChannelMatchLen, ErrorType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CHANGE_CHANNEL_COMMAND_ID, "ubu", match, ChannelMatch, ChannelMatchLen, ErrorType);
-
-/** @brief Command description for ChangeChannelByNumber
- *
- * Command: ChangeChannelByNumber
- * @param majorNumber INT16U
- * @param minorNumber INT16U
- */
-#define emberAfFillCommandTV \
- ChannelClusterChangeChannelByNumber(majorNumber, minorNumber) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CHANGE_CHANNEL_BY_NUMBER_COMMAND_ID, "uu", majorNumber, minorNumber);
-
-/** @brief Command description for SkipChannel
- *
- * Command: SkipChannel
- * @param Count INT16U
- */
-#define emberAfFillCommandTV \
- ChannelClusterSkipChannel(Count) emberAfFillExternalBuffer(mask, \
- \
- ZCL_SKIP_CHANNEL_COMMAND_ID, "u", Count);
-
-/** @brief Command description for NavigateTarget
- *
- * Command: NavigateTarget
- * @param target INT8U
- * @param status NavigateTargetStatus
- * @param data CHAR_STRING
- * @param data CHAR_STRING
- */
-#define emberAfFillCommandTarget \
- NavigatorClusterNavigateTarget(target, status, data, data) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NAVIGATE_TARGET_COMMAND_ID, "uuuu", target, status, data, data);
-
-/** @brief Command description for MediaPlay
- *
- * Command: MediaPlay
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaPlay(mediaPlaybackStatus) emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_PLAY_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaPause
- *
- * Command: MediaPause
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaPause(mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_PAUSE_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaStop
- *
- * Command: MediaStop
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaStop(mediaPlaybackStatus) emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_STOP_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaStartOver
- *
- * Command: MediaStartOver
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaStartOver(mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_START_OVER_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaPrevious
- *
- * Command: MediaPrevious
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaPrevious(mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_PREVIOUS_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaNext
- *
- * Command: MediaNext
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaNext(mediaPlaybackStatus) emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_NEXT_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaRewind
- *
- * Command: MediaRewind
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaRewind(mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_REWIND_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaFastForward
- *
- * Command: MediaFastForward
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaFastForward(mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_FAST_FORWARD_COMMAND_ID, "u", mediaPlaybackStatus);
-
-/** @brief Command description for MediaSkipForward
- *
- * Command: MediaSkipForward
- * @param deltaPositionMilliseconds INT64U
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaSkipForward(deltaPositionMilliseconds, mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_SKIP_FORWARD_COMMAND_ID, "uu", deltaPositionMilliseconds, mediaPlaybackStatus);
-
-/** @brief Command description for MediaSkipBackward
- *
- * Command: MediaSkipBackward
- * @param deltaPositionMilliseconds INT64U
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaSkipBackward(deltaPositionMilliseconds, mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_SKIP_BACKWARD_COMMAND_ID, "uu", deltaPositionMilliseconds, mediaPlaybackStatus);
-
-/** @brief Command description for MediaSkipSeek
- *
- * Command: MediaSkipSeek
- * @param position INT64U
- * @param mediaPlaybackStatus MediaPlaybackStatus
- */
-#define emberAfFillCommandMedia \
- PlaybackClusterMediaSkipSeek(position, mediaPlaybackStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_MEDIA_SKIP_SEEK_COMMAND_ID, "uu", position, mediaPlaybackStatus);
-
-/** @brief Command description for SelectInput
- *
- * Command: SelectInput
- * @param index INT8U
- */
-#define emberAfFillCommandMedia \
- InputClusterSelectInput(index) emberAfFillExternalBuffer(mask, \
- \
- ZCL_SELECT_INPUT_COMMAND_ID, "u", index);
-
-/** @brief Command description for ShowInputStatus
- *
- * Command: ShowInputStatus
- */
-#define emberAfFillCommandMedia \
- InputClusterShowInputStatus() emberAfFillExternalBuffer(mask, \
- \
- ZCL_SHOW_INPUT_STATUS_COMMAND_ID, "", );
-
-/** @brief Command description for HideInputStatus
- *
- * Command: HideInputStatus
- */
-#define emberAfFillCommandMedia \
- InputClusterHideInputStatus() emberAfFillExternalBuffer(mask, \
- \
- ZCL_HIDE_INPUT_STATUS_COMMAND_ID, "", );
-
-/** @brief Command description for RenameInput
- *
- * Command: RenameInput
- * @param index INT8U
- * @param name CHAR_STRING
- */
-#define emberAfFillCommandMedia \
- InputClusterRenameInput(index, name) emberAfFillExternalBuffer(mask, \
- \
- ZCL_RENAME_INPUT_COMMAND_ID, "uu", index, name);
-
-/** @brief Command description for Sleep
- *
- * Command: Sleep
- */
-#define emberAfFillCommandLow \
- PowerClusterSleep() emberAfFillExternalBuffer(mask, \
- \
- ZCL_SLEEP_COMMAND_ID, "", );
-
-/** @brief Command description for SendKey
- *
- * Command: SendKey
- * @param keyCode KeypadInputCecKeyCode
- * @param status KeypadInputStatus
- */
-#define emberAfFillCommandKeypad \
- InputClusterSendKey(keyCode, status) emberAfFillExternalBuffer(mask, \
- \
- ZCL_SEND_KEY_COMMAND_ID, "uu", keyCode, status);
-
-/** @brief Command description for LaunchContent
- *
- * Command: LaunchContent
- * @param autoPlay BOOLEAN
- * @param data CHAR_STRING
- * @param data CHAR_STRING
- * @param contentLaunchStatus ContentLaunchStatus
- */
-#define emberAfFillCommandContent \
- LaunchClusterLaunchContent(autoPlay, data, data, contentLaunchStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LAUNCH_CONTENT_COMMAND_ID, "uuuu", autoPlay, data, data, contentLaunchStatus);
-
-/** @brief Command description for LaunchURL
- *
- * Command: LaunchURL
- * @param contentURL CHAR_STRING
- * @param data CHAR_STRING
- * @param displayString CHAR_STRING
- * @param contentLaunchStatus ContentLaunchStatus
- */
-#define emberAfFillCommandContent \
- LaunchClusterLaunchURL(contentURL, data, displayString, contentLaunchStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LAUNCH_URL_COMMAND_ID, "uuuu", contentURL, data, displayString, contentLaunchStatus);
-
-/** @brief Command description for SelectOutput
- *
- * Command: SelectOutput
- * @param index INT8U
- */
-#define emberAfFillCommandAudio \
- OutputClusterSelectOutput(index) emberAfFillExternalBuffer(mask, \
- \
- ZCL_SELECT_OUTPUT_COMMAND_ID, "u", index);
-
-/** @brief Command description for RenameOutput
- *
- * Command: RenameOutput
- * @param index INT8U
- * @param name CHAR_STRING
- */
-#define emberAfFillCommandAudio \
- OutputClusterRenameOutput(index, name) emberAfFillExternalBuffer(mask, \
- \
- ZCL_RENAME_OUTPUT_COMMAND_ID, "uu", index, name);
-
-/** @brief Command description for LaunchApp
- *
- * Command: LaunchApp
- * @param data CHAR_STRING
- * @param status ApplicationLauncherStatus
- * @param application ApplicationLauncherApp []
- * @param applicationLen int
- * @param data CHAR_STRING
- */
-#define emberAfFillCommandApplication \
- LauncherClusterLaunchApp(data, status, application, applicationLen, data) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LAUNCH_APP_COMMAND_ID, "uubu", data, status, application, applicationLen, data);
-
-/** @brief Command description for GetSetupPIN
- *
- * Command: GetSetupPIN
- * @param tempAccountIdentifier CHAR_STRING
- * @param setupPIN CHAR_STRING
- */
-#define emberAfFillCommandAccount \
- LoginClusterGetSetupPIN(tempAccountIdentifier, setupPIN) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_SETUP_PIN_COMMAND_ID, "uu", tempAccountIdentifier, setupPIN);
-
-/** @brief Command description for Login
- *
- * Command: Login
- * @param tempAccountIdentifier CHAR_STRING
- * @param setupPIN CHAR_STRING
- */
-#define emberAfFillCommandAccount \
- LoginClusterLogin(tempAccountIdentifier, setupPIN) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LOGIN_COMMAND_ID, "uu", tempAccountIdentifier, setupPIN);
-
-/** @brief Command description for Test
- *
- * Command: Test
- * @param returnValue INT8U
- */
-#define emberAfFillCommandTest \
- ClusterClusterTest(returnValue) emberAfFillExternalBuffer(mask, \
- \
- ZCL_TEST_COMMAND_ID, "u", returnValue);
-
-/** @brief Command description for TestNotHandled
- *
- * Command: TestNotHandled
- */
-#define emberAfFillCommandTest \
- ClusterClusterTestNotHandled() emberAfFillExternalBuffer(mask, \
- \
- ZCL_TEST_NOT_HANDLED_COMMAND_ID, "", );
-
-/** @brief Command description for TestSpecific
- *
- * Command: TestSpecific
- */
-#define emberAfFillCommandTest \
- ClusterClusterTestSpecific() emberAfFillExternalBuffer(mask, \
- \
- ZCL_TEST_SPECIFIC_COMMAND_ID, "", );
-
-/** @brief Command description for MatchProtocolAddress
- *
- * Command: MatchProtocolAddress
- * @param protocolAddress OCTET_STRING
- * @param deviceIeeeAddress IEEE_ADDRESS
- * @param protocolAddress OCTET_STRING
- */
-#define emberAfFillCommandGeneric \
- TunnelClusterMatchProtocolAddress(protocolAddress, deviceIeeeAddress, protocolAddress) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_MATCH_PROTOCOL_ADDRESS_COMMAND_ID, "uuu", protocolAddress, deviceIeeeAddress, protocolAddress);
-
-/** @brief Command description for AdvertiseProtocolAddress
- *
- * Command: AdvertiseProtocolAddress
- * @param protocolAddress OCTET_STRING
- */
-#define emberAfFillCommandGeneric \
- TunnelClusterAdvertiseProtocolAddress(protocolAddress) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ADVERTISE_PROTOCOL_ADDRESS_COMMAND_ID, "u", protocolAddress);
-
-/** @brief Command description for TransferNpdu
- *
- * Command: TransferNpdu
- * @param npdu DATA8 []
- * @param npduLen int
- */
-#define emberAfFillCommandBACnet \
- Protocol TunnelClusterTransferNpdu(npdu, npduLen) emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRANSFER_NPDU_COMMAND_ID, "b", npdu, npduLen);
-
-/** @brief Command description for TransferAPDU
- *
- * Command: TransferAPDU
- * @param apdu OCTET_STRING
- */
-#define emberAfFillCommand11073 \
- Protocol TunnelClusterTransferAPDU(apdu) emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRANSFER_APDU_COMMAND_ID, "u", apdu);
-
-/** @brief Command description for ConnectRequest
- *
- * Command: ConnectRequest
- * @param connectControl 11073ConnectRequestConnectControl
- * @param idleTimeout INT16U
- * @param managerTarget IEEE_ADDRESS
- * @param managerEndpoint INT8U
- */
-#define emberAfFillCommand11073 \
- Protocol TunnelClusterConnectRequest(connectControl, idleTimeout, managerTarget, managerEndpoint) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_CONNECT_REQUEST_COMMAND_ID, "uuuu", connectControl, idleTimeout, managerTarget, managerEndpoint);
-
-/** @brief Command description for DisconnectRequest
- *
- * Command: DisconnectRequest
- * @param managerIEEEAddress IEEE_ADDRESS
- */
-#define emberAfFillCommand11073 \
- Protocol TunnelClusterDisconnectRequest(managerIEEEAddress) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISCONNECT_REQUEST_COMMAND_ID, "u", managerIEEEAddress);
-
-/** @brief Command description for ConnectStatusNotification
- *
- * Command: ConnectStatusNotification
- * @param connectStatus 11073TunnelConnectionStatus
- */
-#define emberAfFillCommand11073 \
- Protocol TunnelClusterConnectStatusNotification(connectStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONNECT_STATUS_NOTIFICATION_COMMAND_ID, "u", connectStatus);
-
-/** @brief Command description for TransferApdu
- *
- * Command: TransferApdu
- * @param apdu OCTET_STRING
- */
-#define emberAfFillCommandISO \
- 7816 Protocol TunnelClusterTransferApdu(apdu) emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRANSFER_APDU_COMMAND_ID, "u", apdu);
-
-/** @brief Command description for InsertSmartCard
- *
- * Command: InsertSmartCard
- */
-#define emberAfFillCommandISO \
- 7816 Protocol TunnelClusterInsertSmartCard() emberAfFillExternalBuffer(mask, \
- \
- ZCL_INSERT_SMART_CARD_COMMAND_ID, "", );
-
-/** @brief Command description for ExtractSmartCard
- *
- * Command: ExtractSmartCard
- */
-#define emberAfFillCommandISO \
- 7816 Protocol TunnelClusterExtractSmartCard() emberAfFillExternalBuffer(mask, \
- \
- ZCL_EXTRACT_SMART_CARD_COMMAND_ID, "", );
-
-/** @brief Command description for PublishPrice
- *
- * Command: PublishPrice
- * @param providerId INT32U
- * @param commandOptions AmiCommandOptions
- * @param rateLabel OCTET_STRING
- * @param issuerEventId INT32U
- * @param currentTime UTC_TIME
- * @param unitOfMeasure AmiUnitOfMeasure
- * @param currency INT16U
- * @param priceTrailingDigitAndPriceTier PriceTrailingDigitAndPriceTier
- * @param numberOfPriceTiersAndRegisterTier PriceNumberOfPriceTiersAndRegisterTier
- * @param startTime UTC_TIME
- * @param durationInMinutes INT16U
- * @param price INT32U
- * @param priceRatio INT8U
- * @param generationPrice INT32U
- * @param generationPriceRatio INT8U
- * @param alternateCostDelivered INT32U
- * @param alternateCostUnit AlternateCostUnit
- * @param alternateCostTrailingDigit AlternateCostTrailingDigit
- * @param numberOfBlockThresholds INT8U
- * @param priceControl PriceControlMask
- * @param numberOfGenerationTiers INT8U
- * @param generationTier GenerationTier
- * @param extendedNumberOfPriceTiers ExtendedNumberOfPriceTiers
- * @param extendedPriceTier ExtendedPriceTier
- * @param extendedRegisterTier ExtendedRegisterTier
- */
-#define emberAfFillCommandPriceClusterPublishPrice( \
- providerId, commandOptions, rateLabel, issuerEventId, currentTime, unitOfMeasure, currency, priceTrailingDigitAndPriceTier, \
- numberOfPriceTiersAndRegisterTier, startTime, durationInMinutes, price, priceRatio, generationPrice, generationPriceRatio, \
- alternateCostDelivered, alternateCostUnit, alternateCostTrailingDigit, numberOfBlockThresholds, priceControl, \
- numberOfGenerationTiers, generationTier, extendedNumberOfPriceTiers, extendedPriceTier, extendedRegisterTier) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_PRICE_COMMAND_ID, "uuuuuuuuuuuuuuuuuuuuuuuuu", providerId, commandOptions, rateLabel, \
- issuerEventId, currentTime, unitOfMeasure, currency, priceTrailingDigitAndPriceTier, \
- numberOfPriceTiersAndRegisterTier, startTime, durationInMinutes, price, priceRatio, generationPrice, \
- generationPriceRatio, alternateCostDelivered, alternateCostUnit, alternateCostTrailingDigit, \
- numberOfBlockThresholds, priceControl, numberOfGenerationTiers, generationTier, \
- extendedNumberOfPriceTiers, extendedPriceTier, extendedRegisterTier);
-
-/** @brief Command description for PublishBlockPeriod
- *
- * Command: PublishBlockPeriod
- * @param providerId INT32U
- * @param startTime UTC_TIME
- * @param issuerEventId INT32U
- * @param numberOfEvents INT8U
- * @param blockPeriodStartTime UTC_TIME
- * @param blockPeriodDuration INT24U
- * @param blockPeriodControl BlockPeriodControl
- * @param blockPeriodDurationType BlockPeriodDurationType
- * @param tariffType TariffType
- * @param tariffResolutionPeriod TariffResolutionPeriod
- */
-#define emberAfFillCommandPriceClusterPublishBlockPeriod(providerId, startTime, issuerEventId, numberOfEvents, \
- blockPeriodStartTime, blockPeriodDuration, blockPeriodControl, \
- blockPeriodDurationType, tariffType, tariffResolutionPeriod) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_BLOCK_PERIOD_COMMAND_ID, "uuuuuuuuuu", providerId, startTime, issuerEventId, \
- numberOfEvents, blockPeriodStartTime, blockPeriodDuration, blockPeriodControl, \
- blockPeriodDurationType, tariffType, tariffResolutionPeriod);
-
-/** @brief Command description for PublishConversionFactor
- *
- * Command: PublishConversionFactor
- * @param issuerEventId INT32U
- * @param providerId INT32U
- * @param startTime UTC_TIME
- * @param issuerEventId INT32U
- * @param conversionFactor INT32U
- * @param priceAckTime UTC_TIME
- * @param conversionFactorTrailingDigit ConversionFactorTrailingDigit
- * @param control PriceControlMask
- */
-#define emberAfFillCommandPriceClusterPublishConversionFactor( \
- issuerEventId, providerId, startTime, issuerEventId, conversionFactor, priceAckTime, conversionFactorTrailingDigit, control) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CONVERSION_FACTOR_COMMAND_ID, "uuuuuuuu", issuerEventId, providerId, startTime, \
- issuerEventId, conversionFactor, priceAckTime, conversionFactorTrailingDigit, control);
-
-/** @brief Command description for PublishCalorificValue
- *
- * Command: PublishCalorificValue
- * @param issuerEventId INT32U
- * @param startTime UTC_TIME
- * @param startTime UTC_TIME
- * @param numberOfEvents INT8U
- * @param calorificValue INT32U
- * @param tariffType TariffType
- * @param calorificValueUnit CalorificValueUnit
- * @param calorificValueTrailingDigit CalorificValueTrailingDigit
- */
-#define emberAfFillCommandPriceClusterPublishCalorificValue(issuerEventId, startTime, startTime, numberOfEvents, calorificValue, \
- tariffType, calorificValueUnit, calorificValueTrailingDigit) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CALORIFIC_VALUE_COMMAND_ID, "uuuuuuuu", issuerEventId, startTime, startTime, \
- numberOfEvents, calorificValue, tariffType, calorificValueUnit, calorificValueTrailingDigit);
-
-/** @brief Command description for PublishTariffInformation
- *
- * Command: PublishTariffInformation
- * @param providerId INT32U
- * @param earliestStartTime UTC_TIME
- * @param issuerEventId INT32U
- * @param minIssuerEventId INT32U
- * @param issuerTariffId INT32U
- * @param numberOfCommands INT8U
- * @param startTime UTC_TIME
- * @param tariffTypeChargingScheme TariffTypeChargingScheme
- * @param tariffLabel OCTET_STRING
- * @param numberOfPriceTiersInUse INT8U
- * @param numberOfBlockThresholdsInUse INT8U
- * @param unitOfMeasure AmiUnitOfMeasure
- * @param currency INT16U
- * @param priceTrailingDigit PriceTrailingDigit
- * @param standingCharge INT32U
- * @param tierBlockMode TierBlockMode
- * @param blockThresholdMultiplier INT24U
- * @param blockThresholdDivisor INT24U
- */
-#define emberAfFillCommandPriceClusterPublishTariffInformation( \
- providerId, earliestStartTime, issuerEventId, minIssuerEventId, issuerTariffId, numberOfCommands, startTime, \
- tariffTypeChargingScheme, tariffLabel, numberOfPriceTiersInUse, numberOfBlockThresholdsInUse, unitOfMeasure, currency, \
- priceTrailingDigit, standingCharge, tierBlockMode, blockThresholdMultiplier, blockThresholdDivisor) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_TARIFF_INFORMATION_COMMAND_ID, "uuuuuuuuuuuuuuuuuu", providerId, earliestStartTime, \
- issuerEventId, minIssuerEventId, issuerTariffId, numberOfCommands, startTime, \
- tariffTypeChargingScheme, tariffLabel, numberOfPriceTiersInUse, numberOfBlockThresholdsInUse, \
- unitOfMeasure, currency, priceTrailingDigit, standingCharge, tierBlockMode, \
- blockThresholdMultiplier, blockThresholdDivisor);
-
-/** @brief Command description for PublishPriceMatrix
- *
- * Command: PublishPriceMatrix
- * @param providerId INT32U
- * @param earliestStartTime UTC_TIME
- * @param issuerEventId INT32U
- * @param minIssuerEventId INT32U
- * @param startTime UTC_TIME
- * @param numberOfCommands INT8U
- * @param issuerTariffId INT32U
- * @param commandIndex INT8U
- * @param numberOfCommands INT8U
- * @param subPayloadControl PriceMatrixSubPayloadControl
- * @param payload PriceMatrixSubPayload []
- * @param payloadLen int
- */
-#define emberAfFillCommandPriceClusterPublishPriceMatrix(providerId, earliestStartTime, issuerEventId, minIssuerEventId, \
- startTime, numberOfCommands, issuerTariffId, commandIndex, \
- numberOfCommands, subPayloadControl, payload, payloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_PRICE_MATRIX_COMMAND_ID, "uuuuuuuuuub", providerId, earliestStartTime, issuerEventId, \
- minIssuerEventId, startTime, numberOfCommands, issuerTariffId, commandIndex, numberOfCommands, \
- subPayloadControl, payload, payloadLen);
-
-/** @brief Command description for PublishBlockThresholds
- *
- * Command: PublishBlockThresholds
- * @param providerId INT32U
- * @param earliestStartTime UTC_TIME
- * @param issuerEventId INT32U
- * @param minIssuerEventId INT32U
- * @param startTime UTC_TIME
- * @param numberOfCommands INT8U
- * @param issuerTariffId INT32U
- * @param tariffType TariffType
- * @param commandIndex INT8U
- * @param numberOfCommands INT8U
- * @param subPayloadControl BlockThresholdSubPayloadControl
- * @param payload BlockThresholdSubPayload []
- * @param payloadLen int
- */
-#define emberAfFillCommandPriceClusterPublishBlockThresholds( \
- providerId, earliestStartTime, issuerEventId, minIssuerEventId, startTime, numberOfCommands, issuerTariffId, tariffType, \
- commandIndex, numberOfCommands, subPayloadControl, payload, payloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_BLOCK_THRESHOLDS_COMMAND_ID, "uuuuuuuuuuub", providerId, earliestStartTime, \
- issuerEventId, minIssuerEventId, startTime, numberOfCommands, issuerTariffId, tariffType, \
- commandIndex, numberOfCommands, subPayloadControl, payload, payloadLen);
-
-/** @brief Command description for PublishCO2Value
- *
- * Command: PublishCO2Value
- * @param providerId INT32U
- * @param issuerTariffId INT32U
- * @param issuerEventId INT32U
- * @param startTime UTC_TIME
- * @param tariffType TariffType
- * @param cO2Value INT32U
- * @param cO2ValueUnit CO2Unit
- * @param cO2ValueTrailingDigit CO2TrailingDigit
- */
-#define emberAfFillCommandPriceClusterPublishCO2Value(providerId, issuerTariffId, issuerEventId, startTime, tariffType, cO2Value, \
- cO2ValueUnit, cO2ValueTrailingDigit) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CO2_VALUE_COMMAND_ID, "uuuuuuuu", providerId, issuerTariffId, issuerEventId, startTime, \
- tariffType, cO2Value, cO2ValueUnit, cO2ValueTrailingDigit);
-
-/** @brief Command description for PublishTierLabels
- *
- * Command: PublishTierLabels
- * @param providerId INT32U
- * @param issuerTariffId INT32U
- * @param issuerEventId INT32U
- * @param issuerTariffId INT32U
- * @param commandIndex INT8U
- * @param numberOfCommands INT8U
- * @param numberOfLabels INT8U
- * @param tierLabelsPayload INT8U []
- * @param tierLabelsPayloadLen int
- */
-#define emberAfFillCommandPriceClusterPublishTierLabels(providerId, issuerTariffId, issuerEventId, issuerTariffId, commandIndex, \
- numberOfCommands, numberOfLabels, tierLabelsPayload, tierLabelsPayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_TIER_LABELS_COMMAND_ID, "uuuuuuub", providerId, issuerTariffId, issuerEventId, \
- issuerTariffId, commandIndex, numberOfCommands, numberOfLabels, tierLabelsPayload, \
- tierLabelsPayloadLen);
-
-/** @brief Command description for PublishBillingPeriod
- *
- * Command: PublishBillingPeriod
- * @param providerId INT32U
- * @param earliestStartTime UTC_TIME
- * @param issuerEventId INT32U
- * @param minIssuerEventId INT32U
- * @param billingPeriodStartTime UTC_TIME
- * @param numberOfCommands INT8U
- * @param billingPeriodDuration BillingPeriodDuration
- * @param tariffType TariffType
- * @param billingPeriodDurationType BillingPeriodDurationType
- * @param tariffType TariffType
- */
-#define emberAfFillCommandPriceClusterPublishBillingPeriod(providerId, earliestStartTime, issuerEventId, minIssuerEventId, \
- billingPeriodStartTime, numberOfCommands, billingPeriodDuration, \
- tariffType, billingPeriodDurationType, tariffType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_BILLING_PERIOD_COMMAND_ID, "uuuuuuuuuu", providerId, earliestStartTime, issuerEventId, \
- minIssuerEventId, billingPeriodStartTime, numberOfCommands, billingPeriodDuration, tariffType, \
- billingPeriodDurationType, tariffType);
-
-/** @brief Command description for PublishConsolidatedBill
- *
- * Command: PublishConsolidatedBill
- * @param providerId INT32U
- * @param issuerTariffId INT32U
- * @param issuerEventId INT32U
- * @param billingPeriodStartTime UTC_TIME
- * @param billingPeriodDuration BillingPeriodDuration
- * @param billingPeriodDurationType BillingPeriodDurationType
- * @param tariffType TariffType
- * @param consolidatedBill INT32U
- * @param currency INT16U
- * @param billTrailingDigit BillTrailingDigit
- */
-#define emberAfFillCommandPriceClusterPublishConsolidatedBill(providerId, issuerTariffId, issuerEventId, billingPeriodStartTime, \
- billingPeriodDuration, billingPeriodDurationType, tariffType, \
- consolidatedBill, currency, billTrailingDigit) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CONSOLIDATED_BILL_COMMAND_ID, "uuuuuuuuuu", providerId, issuerTariffId, issuerEventId, \
- billingPeriodStartTime, billingPeriodDuration, billingPeriodDurationType, tariffType, \
- consolidatedBill, currency, billTrailingDigit);
-
-/** @brief Command description for PublishCppEvent
- *
- * Command: PublishCppEvent
- * @param providerId INT32U
- * @param earliestStartTime UTC_TIME
- * @param issuerEventId INT32U
- * @param minIssuerEventId INT32U
- * @param startTime UTC_TIME
- * @param numberOfCommands INT8U
- * @param durationInMinutes INT16U
- * @param tariffType TariffType
- * @param tariffType TariffType
- * @param cppPriceTier CppPriceTier
- * @param cppAuth PublishCppEventCppAuth
- */
-#define emberAfFillCommandPriceClusterPublishCppEvent(providerId, earliestStartTime, issuerEventId, minIssuerEventId, startTime, \
- numberOfCommands, durationInMinutes, tariffType, tariffType, cppPriceTier, \
- cppAuth) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CPP_EVENT_COMMAND_ID, "uuuuuuuuuuu", providerId, earliestStartTime, issuerEventId, \
- minIssuerEventId, startTime, numberOfCommands, durationInMinutes, tariffType, tariffType, \
- cppPriceTier, cppAuth);
-
-/** @brief Command description for PublishCreditPayment
- *
- * Command: PublishCreditPayment
- * @param providerId INT32U
- * @param earliestStartTime UTC_TIME
- * @param issuerEventId INT32U
- * @param minIssuerEventId INT32U
- * @param creditPaymentDueDate UTC_TIME
- * @param numberOfCommands INT8U
- * @param creditPaymentOverDueAmount INT32U
- * @param tariffType TariffType
- * @param creditPaymentStatus CreditPaymentStatus
- * @param creditPayment INT32U
- * @param creditPaymentDate UTC_TIME
- * @param creditPaymentRef OCTET_STRING
- */
-#define emberAfFillCommandPriceClusterPublishCreditPayment( \
- providerId, earliestStartTime, issuerEventId, minIssuerEventId, creditPaymentDueDate, numberOfCommands, \
- creditPaymentOverDueAmount, tariffType, creditPaymentStatus, creditPayment, creditPaymentDate, creditPaymentRef) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CREDIT_PAYMENT_COMMAND_ID, "uuuuuuuuuuuu", providerId, earliestStartTime, issuerEventId, \
- minIssuerEventId, creditPaymentDueDate, numberOfCommands, creditPaymentOverDueAmount, tariffType, \
- creditPaymentStatus, creditPayment, creditPaymentDate, creditPaymentRef);
-
-/** @brief Command description for PublishCurrencyConversion
- *
- * Command: PublishCurrencyConversion
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param issuerEventId INT32U
- * @param cppAuth CppEventResponseCppAuth
- * @param startTime UTC_TIME
- * @param oldCurrency INT16U
- * @param newCurrency INT16U
- * @param conversionFactor INT32U
- * @param conversionFactorTrailingDigit ConversionFactorTrailingDigit
- * @param currencyChangeControlFlags CurrencyChangeControl
- */
-#define emberAfFillCommandPriceClusterPublishCurrencyConversion(providerId, issuerEventId, issuerEventId, cppAuth, startTime, \
- oldCurrency, newCurrency, conversionFactor, \
- conversionFactorTrailingDigit, currencyChangeControlFlags) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CURRENCY_CONVERSION_COMMAND_ID, "uuuuuuuuuu", providerId, issuerEventId, issuerEventId, \
- cppAuth, startTime, oldCurrency, newCurrency, conversionFactor, conversionFactorTrailingDigit, \
- currencyChangeControlFlags);
-
-/** @brief Command description for CancelTariff
- *
- * Command: CancelTariff
- * @param providerId INT32U
- * @param latestEndTime UTC_TIME
- * @param issuerTariffId INT32U
- * @param numberOfRecords INT8U
- * @param tariffType TariffType
- */
-#define emberAfFillCommandPriceClusterCancelTariff(providerId, latestEndTime, issuerTariffId, numberOfRecords, tariffType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CANCEL_TARIFF_COMMAND_ID, "uuuuu", providerId, latestEndTime, issuerTariffId, numberOfRecords, \
- tariffType);
-
-/** @brief Command description for GetCurrencyConversionCommand
- *
- * Command: GetCurrencyConversionCommand
- */
-#define emberAfFillCommandPriceClusterGetCurrencyConversionCommand() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_CURRENCY_CONVERSION_COMMAND_COMMAND_ID, "", );
-
-/** @brief Command description for GetTariffCancellation
- *
- * Command: GetTariffCancellation
- */
-#define emberAfFillCommandPriceClusterGetTariffCancellation() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_TARIFF_CANCELLATION_COMMAND_ID, "", );
-
-/** @brief Command description for LoadControlEvent
- *
- * Command: LoadControlEvent
- * @param issuerEventId INT32U
- * @param issuerEventId INT32U
- * @param deviceClass AmiDeviceClass
- * @param eventStatus AmiEventStatus
- * @param utilityEnrollmentGroup INT8U
- * @param eventStatusTime UTC_TIME
- * @param startTime UTC_TIME
- * @param criticalityLevelApplied AmiCriticalityLevel
- * @param durationInMinutes INT16U
- * @param coolingTemperatureSetPointApplied INT16U
- * @param criticalityLevel AmiCriticalityLevel
- * @param heatingTemperatureSetPointApplied INT16U
- * @param coolingTemperatureOffset INT8U
- * @param averageLoadAdjustmentPercentageApplied INT8S
- * @param heatingTemperatureOffset INT8U
- * @param dutyCycleApplied INT8U
- * @param coolingTemperatureSetPoint INT16S
- * @param eventControl AmiEventControl
- * @param heatingTemperatureSetPoint INT16S
- * @param signatureType SignatureType
- * @param averageLoadAdjustmentPercentage INT8S
- * @param signature Signature
- * @param dutyCycle INT8U
- * @param eventControl AmiEventControl
- */
-#define emberAfFillCommandDemand \
- Response and Load ControlClusterLoadControlEvent( \
- issuerEventId, issuerEventId, deviceClass, eventStatus, utilityEnrollmentGroup, eventStatusTime, startTime, \
- criticalityLevelApplied, durationInMinutes, coolingTemperatureSetPointApplied, criticalityLevel, \
- heatingTemperatureSetPointApplied, coolingTemperatureOffset, averageLoadAdjustmentPercentageApplied, \
- heatingTemperatureOffset, dutyCycleApplied, coolingTemperatureSetPoint, eventControl, heatingTemperatureSetPoint, \
- signatureType, averageLoadAdjustmentPercentage, signature, dutyCycle, eventControl) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LOAD_CONTROL_EVENT_COMMAND_ID, "uuuuuuuuuuuuuuuuuuuuuuuu", issuerEventId, issuerEventId, \
- deviceClass, eventStatus, utilityEnrollmentGroup, eventStatusTime, startTime, \
- criticalityLevelApplied, durationInMinutes, coolingTemperatureSetPointApplied, criticalityLevel, \
- heatingTemperatureSetPointApplied, coolingTemperatureOffset, \
- averageLoadAdjustmentPercentageApplied, heatingTemperatureOffset, dutyCycleApplied, \
- coolingTemperatureSetPoint, eventControl, heatingTemperatureSetPoint, signatureType, \
- averageLoadAdjustmentPercentage, signature, dutyCycle, eventControl);
-
-/** @brief Command description for CancelLoadControlEvent
- *
- * Command: CancelLoadControlEvent
- * @param issuerEventId INT32U
- * @param startTime UTC_TIME
- * @param deviceClass AmiDeviceClass
- * @param numberOfEvents INT8U
- * @param utilityEnrollmentGroup INT8U
- * @param issuerEventId INT32U
- * @param cancelControl AmiCancelControl
- * @param effectiveTime UTC_TIME
- */
-#define emberAfFillCommandDemand \
- Response and Load ControlClusterCancelLoadControlEvent(issuerEventId, startTime, deviceClass, numberOfEvents, \
- utilityEnrollmentGroup, issuerEventId, cancelControl, effectiveTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CANCEL_LOAD_CONTROL_EVENT_COMMAND_ID, "uuuuuuuu", issuerEventId, startTime, deviceClass, \
- numberOfEvents, utilityEnrollmentGroup, issuerEventId, cancelControl, effectiveTime);
-
-/** @brief Command description for CancelAllLoadControlEvents
- *
- * Command: CancelAllLoadControlEvents
- * @param cancelControl AmiCancelControl
- */
-#define emberAfFillCommandDemand \
- Response and Load ControlClusterCancelAllLoadControlEvents(cancelControl) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CANCEL_ALL_LOAD_CONTROL_EVENTS_COMMAND_ID, "u", cancelControl);
-
-/** @brief Command description for GetProfileResponse
- *
- * Command: GetProfileResponse
- * @param endTime UTC_TIME
- * @param intervalChannel AmiIntervalChannel
- * @param status AmiGetProfileStatus
- * @param endTime UTC_TIME
- * @param profileIntervalPeriod AmiIntervalPeriod
- * @param numberOfPeriods INT8U
- * @param numberOfPeriodsDelivered INT8U
- * @param intervals INT24U []
- * @param intervalsLen int
- */
-#define emberAfFillCommandSimple \
- MeteringClusterGetProfileResponse(endTime, intervalChannel, status, endTime, profileIntervalPeriod, numberOfPeriods, \
- numberOfPeriodsDelivered, intervals, intervalsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_PROFILE_RESPONSE_COMMAND_ID, "uuuuuuub", endTime, intervalChannel, status, endTime, \
- profileIntervalPeriod, numberOfPeriods, numberOfPeriodsDelivered, intervals, intervalsLen);
-
-/** @brief Command description for RequestMirror
- *
- * Command: RequestMirror
- * @param endpointId INT16U
- */
-#define emberAfFillCommandSimple \
- MeteringClusterRequestMirror(endpointId) emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_MIRROR_COMMAND_ID, "u", endpointId);
-
-/** @brief Command description for RemoveMirror
- *
- * Command: RemoveMirror
- * @param endpointId INT16U
- */
-#define emberAfFillCommandSimple \
- MeteringClusterRemoveMirror(endpointId) emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_MIRROR_COMMAND_ID, "u", endpointId);
-
-/** @brief Command description for RequestFastPollModeResponse
- *
- * Command: RequestFastPollModeResponse
- * @param appliedUpdatePeriod INT8U
- * @param fastPollUpdatePeriod INT8U
- * @param fastPollModeEndtime UTC_TIME
- * @param duration INT8U
- */
-#define emberAfFillCommandSimple \
- MeteringClusterRequestFastPollModeResponse(appliedUpdatePeriod, fastPollUpdatePeriod, fastPollModeEndtime, duration) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_FAST_POLL_MODE_RESPONSE_COMMAND_ID, "uuuu", appliedUpdatePeriod, \
- fastPollUpdatePeriod, fastPollModeEndtime, duration);
-
-/** @brief Command description for ScheduleSnapshotResponse
- *
- * Command: ScheduleSnapshotResponse
- * @param issuerEventId INT32U
- * @param issuerEventId INT32U
- * @param snapshotResponsePayload SnapshotResponsePayload []
- * @param snapshotResponsePayloadLen int
- * @param commandIndex INT8U
- * @param commandCount INT8U
- * @param snapshotSchedulePayload SnapshotSchedulePayload []
- * @param snapshotSchedulePayloadLen int
- */
-#define emberAfFillCommandSimple \
- MeteringClusterScheduleSnapshotResponse(issuerEventId, issuerEventId, snapshotResponsePayload, snapshotResponsePayloadLen, \
- commandIndex, commandCount, snapshotSchedulePayload, snapshotSchedulePayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SCHEDULE_SNAPSHOT_RESPONSE_COMMAND_ID, "uubuub", issuerEventId, issuerEventId, \
- snapshotResponsePayload, snapshotResponsePayloadLen, commandIndex, commandCount, \
- snapshotSchedulePayload, snapshotSchedulePayloadLen);
-
-/** @brief Command description for TakeSnapshotResponse
- *
- * Command: TakeSnapshotResponse
- * @param snapshotId INT32U
- * @param snapshotCause SnapshotCause
- * @param snapshotConfirmation SnapshotConfirmation
- */
-#define emberAfFillCommandSimple \
- MeteringClusterTakeSnapshotResponse(snapshotId, snapshotCause, snapshotConfirmation) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_TAKE_SNAPSHOT_RESPONSE_COMMAND_ID, "uuu", snapshotId, snapshotCause, snapshotConfirmation);
-
-/** @brief Command description for PublishSnapshot
- *
- * Command: PublishSnapshot
- * @param snapshotId INT32U
- * @param earliestStartTime UTC_TIME
- * @param snapshotTime UTC_TIME
- * @param latestEndTime UTC_TIME
- * @param totalSnapshotsFound INT8U
- * @param snapshotOffset INT8U
- * @param commandIndex INT8U
- * @param snapshotCause SnapshotCause
- * @param totalCommands INT8U
- * @param snapshotCause SnapshotCause
- * @param snapshotPayloadType SnapshotPayloadType
- * @param snapshotPayload INT8U []
- * @param snapshotPayloadLen int
- */
-#define emberAfFillCommandSimple \
- MeteringClusterPublishSnapshot(snapshotId, earliestStartTime, snapshotTime, latestEndTime, totalSnapshotsFound, \
- snapshotOffset, commandIndex, snapshotCause, totalCommands, snapshotCause, snapshotPayloadType, \
- snapshotPayload, snapshotPayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_SNAPSHOT_COMMAND_ID, "uuuuuuuuuuub", snapshotId, earliestStartTime, snapshotTime, \
- latestEndTime, totalSnapshotsFound, snapshotOffset, commandIndex, snapshotCause, totalCommands, \
- snapshotCause, snapshotPayloadType, snapshotPayload, snapshotPayloadLen);
-
-/** @brief Command description for GetSampledDataResponse
- *
- * Command: GetSampledDataResponse
- * @param sampleId INT16U
- * @param issuerEventId INT32U
- * @param sampleStartTime UTC_TIME
- * @param startSamplingTime UTC_TIME
- * @param sampleType SampleType
- * @param sampleType SampleType
- * @param sampleRequestInterval INT16U
- * @param sampleRequestInterval INT16U
- * @param numberOfSamples INT16U
- * @param maxNumberOfSamples INT16U
- * @param samples INT24U []
- * @param samplesLen int
- */
-#define emberAfFillCommandSimple \
- MeteringClusterGetSampledDataResponse(sampleId, issuerEventId, sampleStartTime, startSamplingTime, sampleType, sampleType, \
- sampleRequestInterval, sampleRequestInterval, numberOfSamples, maxNumberOfSamples, \
- samples, samplesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_SAMPLED_DATA_RESPONSE_COMMAND_ID, "uuuuuuuuuub", sampleId, issuerEventId, \
- sampleStartTime, startSamplingTime, sampleType, sampleType, sampleRequestInterval, \
- sampleRequestInterval, numberOfSamples, maxNumberOfSamples, samples, samplesLen);
-
-/** @brief Command description for ConfigureMirror
- *
- * Command: ConfigureMirror
- * @param issuerEventId INT32U
- * @param sampleId INT16U
- * @param reportingInterval INT24U
- * @param earliestSampleTime UTC_TIME
- * @param mirrorNotificationReporting BOOLEAN
- * @param sampleType SampleType
- * @param notificationScheme INT8U
- * @param numberOfSamples INT16U
- */
-#define emberAfFillCommandSimple \
- MeteringClusterConfigureMirror(issuerEventId, sampleId, reportingInterval, earliestSampleTime, mirrorNotificationReporting, \
- sampleType, notificationScheme, numberOfSamples) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIGURE_MIRROR_COMMAND_ID, "uuuuuuuu", issuerEventId, sampleId, reportingInterval, \
- earliestSampleTime, mirrorNotificationReporting, sampleType, notificationScheme, \
- numberOfSamples);
-
-/** @brief Command description for ConfigureNotificationScheme
- *
- * Command: ConfigureNotificationScheme
- * @param issuerEventId INT32U
- * @param notificationScheme INT8U
- * @param notificationScheme INT8U
- * @param notificationFlags BITMAP32 []
- * @param notificationFlagsLen int
- * @param notificationFlagOrder BITMAP32
- */
-#define emberAfFillCommandSimple \
- MeteringClusterConfigureNotificationScheme(issuerEventId, notificationScheme, notificationScheme, notificationFlags, \
- notificationFlagsLen, notificationFlagOrder) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIGURE_NOTIFICATION_SCHEME_COMMAND_ID, "uuubu", issuerEventId, notificationScheme, \
- notificationScheme, notificationFlags, notificationFlagsLen, notificationFlagOrder);
-
-/** @brief Command description for ConfigureNotificationFlags
- *
- * Command: ConfigureNotificationFlags
- * @param issuerEventId INT32U
- * @param providerId INT32U
- * @param notificationScheme INT8U
- * @param issuerEventId INT32U
- * @param notificationFlagAttributeId INT16U
- * @param clusterId INT16U
- * @param manufacturerCode INT16U
- * @param numberOfCommands INT8U
- * @param commandIds INT8U []
- * @param commandIdsLen int
- */
-#define emberAfFillCommandSimple \
- MeteringClusterConfigureNotificationFlags(issuerEventId, providerId, notificationScheme, issuerEventId, \
- notificationFlagAttributeId, clusterId, manufacturerCode, numberOfCommands, \
- commandIds, commandIdsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIGURE_NOTIFICATION_FLAGS_COMMAND_ID, "uuuuuuuub", issuerEventId, providerId, \
- notificationScheme, issuerEventId, notificationFlagAttributeId, clusterId, manufacturerCode, \
- numberOfCommands, commandIds, commandIdsLen);
-
-/** @brief Command description for GetNotifiedMessage
- *
- * Command: GetNotifiedMessage
- * @param notificationScheme INT8U
- * @param providerId INT32U
- * @param notificationFlagAttributeId INT16U
- * @param issuerEventId INT32U
- * @param notificationFlagsN BITMAP32
- * @param requestDateTime UTC_TIME
- * @param implementationDateTime UTC_TIME
- * @param proposedSupplyStatus MeteringSupplyStatus
- * @param supplyControlBits SupplyControlBits
- */
-#define emberAfFillCommandSimple \
- MeteringClusterGetNotifiedMessage(notificationScheme, providerId, notificationFlagAttributeId, issuerEventId, \
- notificationFlagsN, requestDateTime, implementationDateTime, proposedSupplyStatus, \
- supplyControlBits) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_NOTIFIED_MESSAGE_COMMAND_ID, "uuuuuuuuu", notificationScheme, providerId, \
- notificationFlagAttributeId, issuerEventId, notificationFlagsN, requestDateTime, \
- implementationDateTime, proposedSupplyStatus, supplyControlBits);
-
-/** @brief Command description for SupplyStatusResponse
- *
- * Command: SupplyStatusResponse
- * @param providerId INT32U
- * @param proposedSupplyStatus ProposedSupplyStatus
- * @param issuerEventId INT32U
- * @param implementationDateTime UTC_TIME
- * @param supplyStatus MeteringSupplyStatus
- */
-#define emberAfFillCommandSimple \
- MeteringClusterSupplyStatusResponse(providerId, proposedSupplyStatus, issuerEventId, implementationDateTime, supplyStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SUPPLY_STATUS_RESPONSE_COMMAND_ID, "uuuuu", providerId, proposedSupplyStatus, issuerEventId, \
- implementationDateTime, supplyStatus);
-
-/** @brief Command description for StartSamplingResponse
- *
- * Command: StartSamplingResponse
- * @param sampleId INT16U
- * @param issuerEventId INT32U
- * @param supplyTamperState SupplyStatus
- * @param supplyDepletionState SupplyStatus
- * @param supplyUncontrolledFlowState SupplyStatus
- * @param loadLimitSupplyState SupplyStatus
- */
-#define emberAfFillCommandSimple \
- MeteringClusterStartSamplingResponse(sampleId, issuerEventId, supplyTamperState, supplyDepletionState, \
- supplyUncontrolledFlowState, loadLimitSupplyState) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_START_SAMPLING_RESPONSE_COMMAND_ID, "uuuuuu", sampleId, issuerEventId, supplyTamperState, \
- supplyDepletionState, supplyUncontrolledFlowState, loadLimitSupplyState);
-
-/** @brief Command description for SetUncontrolledFlowThreshold
- *
- * Command: SetUncontrolledFlowThreshold
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param uncontrolledFlowThreshold INT16U
- * @param unitOfMeasure AmiUnitOfMeasure
- * @param multiplier INT16U
- * @param divisor INT16U
- * @param stabilisationPeriod INT8U
- * @param measurementPeriod INT16U
- */
-#define emberAfFillCommandSimple \
- MeteringClusterSetUncontrolledFlowThreshold(providerId, issuerEventId, uncontrolledFlowThreshold, unitOfMeasure, multiplier, \
- divisor, stabilisationPeriod, measurementPeriod) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_UNCONTROLLED_FLOW_THRESHOLD_COMMAND_ID, "uuuuuuuu", providerId, issuerEventId, \
- uncontrolledFlowThreshold, unitOfMeasure, multiplier, divisor, stabilisationPeriod, \
- measurementPeriod);
-
-/** @brief Command description for GetLastMessage
- *
- * Command: GetLastMessage
- * @param messageId INT32U
- * @param messageControl MessagingControlMask
- * @param startTime UTC_TIME
- * @param durationInMinutes INT16U
- * @param message CHAR_STRING
- * @param optionalExtendedMessageControl MessagingExtendedControlMask
- */
-#define emberAfFillCommandMessagingClusterGetLastMessage(messageId, messageControl, startTime, durationInMinutes, message, \
- optionalExtendedMessageControl) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_LAST_MESSAGE_COMMAND_ID, "uuuuuu", messageId, messageControl, startTime, durationInMinutes, \
- message, optionalExtendedMessageControl);
-
-/** @brief Command description for CancelMessage
- *
- * Command: CancelMessage
- * @param messageId INT32U
- * @param messageId INT32U
- * @param messageControl MessagingControlMask
- * @param confirmationTime UTC_TIME
- * @param messageConfirmationControl BITMAP8
- * @param messageResponse OCTET_STRING
- */
-#define emberAfFillCommandMessagingClusterCancelMessage(messageId, messageId, messageControl, confirmationTime, \
- messageConfirmationControl, messageResponse) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CANCEL_MESSAGE_COMMAND_ID, "uuuuuu", messageId, messageId, messageControl, confirmationTime, \
- messageConfirmationControl, messageResponse);
-
-/** @brief Command description for DisplayProtectedMessage
- *
- * Command: DisplayProtectedMessage
- * @param messageId INT32U
- * @param earliestImplementationTime UTC_TIME
- * @param messageControl MessagingControlMask
- * @param startTime UTC_TIME
- * @param durationInMinutes INT16U
- * @param message CHAR_STRING
- * @param optionalExtendedMessageControl MessagingExtendedControlMask
- */
-#define emberAfFillCommandMessagingClusterDisplayProtectedMessage( \
- messageId, earliestImplementationTime, messageControl, startTime, durationInMinutes, message, optionalExtendedMessageControl) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISPLAY_PROTECTED_MESSAGE_COMMAND_ID, "uuuuuuu", messageId, earliestImplementationTime, \
- messageControl, startTime, durationInMinutes, message, optionalExtendedMessageControl);
-
-/** @brief Command description for CancelAllMessages
- *
- * Command: CancelAllMessages
- * @param implementationDateTime UTC_TIME
- */
-#define emberAfFillCommandMessagingClusterCancelAllMessages(implementationDateTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CANCEL_ALL_MESSAGES_COMMAND_ID, "u", implementationDateTime);
-
-/** @brief Command description for RequestTunnel
- *
- * Command: RequestTunnel
- * @param protocolId INT8U
- * @param tunnelId INT16U
- * @param manufacturerCode INT16U
- * @param tunnelStatus TunnelingTunnelStatus
- * @param flowControlSupport BOOLEAN
- * @param maximumIncomingTransferSize INT16U
- * @param maximumIncomingTransferSize INT16U
- */
-#define emberAfFillCommandTunnelingClusterRequestTunnel(protocolId, tunnelId, manufacturerCode, tunnelStatus, flowControlSupport, \
- maximumIncomingTransferSize, maximumIncomingTransferSize) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_TUNNEL_COMMAND_ID, "uuuuuuu", protocolId, tunnelId, manufacturerCode, tunnelStatus, \
- flowControlSupport, maximumIncomingTransferSize, maximumIncomingTransferSize);
-
-/** @brief Command description for CloseTunnel
- *
- * Command: CloseTunnel
- * @param tunnelId INT16U
- * @param tunnelId INT16U
- * @param data INT8U []
- * @param dataLen int
- */
-#define emberAfFillCommandTunnelingClusterCloseTunnel(tunnelId, tunnelId, data, dataLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLOSE_TUNNEL_COMMAND_ID, "uub", tunnelId, tunnelId, data, dataLen);
-
-/** @brief Command description for TransferDataClientToServer
- *
- * Command: TransferDataClientToServer
- * @param tunnelId INT16U
- * @param tunnelId INT16U
- * @param data INT8U []
- * @param dataLen int
- * @param transferDataStatus TunnelingTransferDataStatus
- */
-#define emberAfFillCommandTunnelingClusterTransferDataClientToServer(tunnelId, tunnelId, data, dataLen, transferDataStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRANSFER_DATA_CLIENT_TO_SERVER_COMMAND_ID, "uubu", tunnelId, tunnelId, data, dataLen, \
- transferDataStatus);
-
-/** @brief Command description for TransferDataErrorClientToServer
- *
- * Command: TransferDataErrorClientToServer
- * @param tunnelId INT16U
- * @param tunnelId INT16U
- * @param transferDataStatus TunnelingTransferDataStatus
- * @param numberOfBytesLeft INT16U
- */
-#define emberAfFillCommandTunnelingClusterTransferDataErrorClientToServer(tunnelId, tunnelId, transferDataStatus, \
- numberOfBytesLeft) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRANSFER_DATA_ERROR_CLIENT_TO_SERVER_COMMAND_ID, "uuuu", tunnelId, tunnelId, transferDataStatus, \
- numberOfBytesLeft);
-
-/** @brief Command description for AckTransferDataClientToServer
- *
- * Command: AckTransferDataClientToServer
- * @param tunnelId INT16U
- * @param tunnelId INT16U
- * @param numberOfBytesLeft INT16U
- * @param numberOfOctetsLeft INT16U
- */
-#define emberAfFillCommandTunnelingClusterAckTransferDataClientToServer(tunnelId, tunnelId, numberOfBytesLeft, numberOfOctetsLeft) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ACK_TRANSFER_DATA_CLIENT_TO_SERVER_COMMAND_ID, "uuuu", tunnelId, tunnelId, numberOfBytesLeft, \
- numberOfOctetsLeft);
-
-/** @brief Command description for ReadyDataClientToServer
- *
- * Command: ReadyDataClientToServer
- * @param tunnelId INT16U
- * @param protocolListComplete BOOLEAN
- * @param numberOfOctetsLeft INT16U
- * @param protocolCount INT8U
- * @param protocolList Protocol []
- * @param protocolListLen int
- */
-#define emberAfFillCommandTunnelingClusterReadyDataClientToServer(tunnelId, protocolListComplete, numberOfOctetsLeft, \
- protocolCount, protocolList, protocolListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_READY_DATA_CLIENT_TO_SERVER_COMMAND_ID, "uuuub", tunnelId, protocolListComplete, \
- numberOfOctetsLeft, protocolCount, protocolList, protocolListLen);
-
-/** @brief Command description for GetSupportedTunnelProtocols
- *
- * Command: GetSupportedTunnelProtocols
- * @param protocolOffset INT8U
- * @param tunnelId INT16U
- */
-#define emberAfFillCommandTunnelingClusterGetSupportedTunnelProtocols(protocolOffset, tunnelId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_SUPPORTED_TUNNEL_PROTOCOLS_COMMAND_ID, "uu", protocolOffset, tunnelId);
-
-/** @brief Command description for SelectAvailableEmergencyCredit
- *
- * Command: SelectAvailableEmergencyCredit
- * @param commandIssueDateTime UTC_TIME
- * @param originatingDevice OriginatingDevice
- */
-#define emberAfFillCommandPrepaymentClusterSelectAvailableEmergencyCredit(commandIssueDateTime, originatingDevice) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SELECT_AVAILABLE_EMERGENCY_CREDIT_COMMAND_ID, "uu", commandIssueDateTime, originatingDevice);
-
-/** @brief Command description for PublishPrepaySnapshot
- *
- * Command: PublishPrepaySnapshot
- * @param snapshotId INT32U
- * @param snapshotTime UTC_TIME
- * @param totalSnapshotsFound INT8U
- * @param commandIndex INT8U
- * @param totalNumberOfCommands INT8U
- * @param snapshotCause PrepaySnapshotPayloadCause
- * @param snapshotPayloadType PrepaySnapshotPayloadType
- * @param snapshotPayload INT8U []
- * @param snapshotPayloadLen int
- */
-#define emberAfFillCommandPrepaymentClusterPublishPrepaySnapshot(snapshotId, snapshotTime, totalSnapshotsFound, commandIndex, \
- totalNumberOfCommands, snapshotCause, snapshotPayloadType, \
- snapshotPayload, snapshotPayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_PREPAY_SNAPSHOT_COMMAND_ID, "uuuuuuub", snapshotId, snapshotTime, totalSnapshotsFound, \
- commandIndex, totalNumberOfCommands, snapshotCause, snapshotPayloadType, snapshotPayload, \
- snapshotPayloadLen);
-
-/** @brief Command description for ChangeDebt
- *
- * Command: ChangeDebt
- * @param issuerEventId INT32U
- * @param friendlyCredit FriendlyCredit
- * @param debtLabel OCTET_STRING
- * @param friendlyCreditCalendarId INT32U
- * @param debtAmount INT32U
- * @param emergencyCreditLimit INT32U
- * @param debtRecoveryMethod DebtRecoveryMethod
- * @param emergencyCreditThreshold INT32U
- * @param debtAmountType DebtAmountType
- * @param debtRecoveryStartTime UTC_TIME
- * @param debtRecoveryCollectionTime INT16U
- * @param debtRecoveryFrequency DebtRecoveryFrequency
- * @param debtRecoveryAmount INT32U
- * @param debtRecoveryBalancePercentage INT16U
- */
-#define emberAfFillCommandPrepaymentClusterChangeDebt( \
- issuerEventId, friendlyCredit, debtLabel, friendlyCreditCalendarId, debtAmount, emergencyCreditLimit, debtRecoveryMethod, \
- emergencyCreditThreshold, debtAmountType, debtRecoveryStartTime, debtRecoveryCollectionTime, debtRecoveryFrequency, \
- debtRecoveryAmount, debtRecoveryBalancePercentage) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CHANGE_DEBT_COMMAND_ID, "uuuuuuuuuuuuuu", issuerEventId, friendlyCredit, debtLabel, \
- friendlyCreditCalendarId, debtAmount, emergencyCreditLimit, debtRecoveryMethod, \
- emergencyCreditThreshold, debtAmountType, debtRecoveryStartTime, debtRecoveryCollectionTime, \
- debtRecoveryFrequency, debtRecoveryAmount, debtRecoveryBalancePercentage);
-
-/** @brief Command description for EmergencyCreditSetup
- *
- * Command: EmergencyCreditSetup
- * @param issuerEventId INT32U
- * @param resultType ResultType
- * @param startTime UTC_TIME
- * @param topUpValue INT32U
- * @param emergencyCreditLimit INT32U
- * @param sourceOfTopUp OriginatingDevice
- * @param emergencyCreditThreshold INT32U
- * @param creditRemaining INT32U
- */
-#define emberAfFillCommandPrepaymentClusterEmergencyCreditSetup(issuerEventId, resultType, startTime, topUpValue, \
- emergencyCreditLimit, sourceOfTopUp, emergencyCreditThreshold, \
- creditRemaining) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_EMERGENCY_CREDIT_SETUP_COMMAND_ID, "uuuuuuuu", issuerEventId, resultType, startTime, topUpValue, \
- emergencyCreditLimit, sourceOfTopUp, emergencyCreditThreshold, creditRemaining);
-
-/** @brief Command description for ConsumerTopUp
- *
- * Command: ConsumerTopUp
- * @param originatingDevice OriginatingDevice
- * @param topUpCode OCTET_STRING
- */
-#define emberAfFillCommandPrepaymentClusterConsumerTopUp(originatingDevice, topUpCode) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONSUMER_TOP_UP_COMMAND_ID, "uu", originatingDevice, topUpCode);
-
-/** @brief Command description for CreditAdjustment
- *
- * Command: CreditAdjustment
- * @param issuerEventId INT32U
- * @param commandIndex INT8U
- * @param startTime UTC_TIME
- * @param totalNumberOfCommands INT8U
- * @param creditAdjustmentType CreditAdjustmentType
- * @param topUpPayload TopUpPayload []
- * @param topUpPayloadLen int
- * @param creditAdjustmentValue INT32U
- */
-#define emberAfFillCommandPrepaymentClusterCreditAdjustment(issuerEventId, commandIndex, startTime, totalNumberOfCommands, \
- creditAdjustmentType, topUpPayload, topUpPayloadLen, \
- creditAdjustmentValue) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CREDIT_ADJUSTMENT_COMMAND_ID, "uuuuubu", issuerEventId, commandIndex, startTime, \
- totalNumberOfCommands, creditAdjustmentType, topUpPayload, topUpPayloadLen, creditAdjustmentValue);
-
-/** @brief Command description for ChangePaymentMode
- *
- * Command: ChangePaymentMode
- * @param providerId INT32U
- * @param commandIndex INT8U
- * @param issuerEventId INT32U
- * @param totalNumberOfCommands INT8U
- * @param implementationDateTime UTC_TIME
- * @param debtPayload DebtPayload []
- * @param debtPayloadLen int
- * @param proposedPaymentControlConfiguration PaymentControlConfiguration
- * @param cutOffValue INT32U
- */
-#define emberAfFillCommandPrepaymentClusterChangePaymentMode(providerId, commandIndex, issuerEventId, totalNumberOfCommands, \
- implementationDateTime, debtPayload, debtPayloadLen, \
- proposedPaymentControlConfiguration, cutOffValue) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CHANGE_PAYMENT_MODE_COMMAND_ID, "uuuuubuu", providerId, commandIndex, issuerEventId, \
- totalNumberOfCommands, implementationDateTime, debtPayload, debtPayloadLen, \
- proposedPaymentControlConfiguration, cutOffValue);
-
-/** @brief Command description for GetPrepaySnapshot
- *
- * Command: GetPrepaySnapshot
- * @param earliestStartTime UTC_TIME
- * @param latestEndTime UTC_TIME
- * @param snapshotOffset INT8U
- * @param snapshotCause PrepaySnapshotPayloadCause
- */
-#define emberAfFillCommandPrepaymentClusterGetPrepaySnapshot(earliestStartTime, latestEndTime, snapshotOffset, snapshotCause) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_PREPAY_SNAPSHOT_COMMAND_ID, "uuuu", earliestStartTime, latestEndTime, snapshotOffset, \
- snapshotCause);
-
-/** @brief Command description for GetTopUpLog
- *
- * Command: GetTopUpLog
- * @param latestEndTime UTC_TIME
- * @param numberOfRecords INT8U
- */
-#define emberAfFillCommandPrepaymentClusterGetTopUpLog(latestEndTime, numberOfRecords) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_TOP_UP_LOG_COMMAND_ID, "uu", latestEndTime, numberOfRecords);
-
-/** @brief Command description for SetLowCreditWarningLevel
- *
- * Command: SetLowCreditWarningLevel
- * @param lowCreditWarningLevel INT32U
- */
-#define emberAfFillCommandPrepaymentClusterSetLowCreditWarningLevel(lowCreditWarningLevel) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_LOW_CREDIT_WARNING_LEVEL_COMMAND_ID, "u", lowCreditWarningLevel);
-
-/** @brief Command description for GetDebtRepaymentLog
- *
- * Command: GetDebtRepaymentLog
- * @param latestEndTime UTC_TIME
- * @param numberOfDebts INT8U
- * @param debtType RepaymentDebtType
- */
-#define emberAfFillCommandPrepaymentClusterGetDebtRepaymentLog(latestEndTime, numberOfDebts, debtType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_DEBT_REPAYMENT_LOG_COMMAND_ID, "uuu", latestEndTime, numberOfDebts, debtType);
-
-/** @brief Command description for SetMaximumCreditLimit
- *
- * Command: SetMaximumCreditLimit
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param implementationDateTime UTC_TIME
- * @param maximumCreditLevel INT32U
- * @param maximumCreditPerTopUp INT32U
- */
-#define emberAfFillCommandPrepaymentClusterSetMaximumCreditLimit(providerId, issuerEventId, implementationDateTime, \
- maximumCreditLevel, maximumCreditPerTopUp) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_MAXIMUM_CREDIT_LIMIT_COMMAND_ID, "uuuuu", providerId, issuerEventId, implementationDateTime, \
- maximumCreditLevel, maximumCreditPerTopUp);
-
-/** @brief Command description for SetOverallDebtCap
- *
- * Command: SetOverallDebtCap
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param implementationDateTime UTC_TIME
- * @param overallDebtCap INT32U
- */
-#define emberAfFillCommandPrepaymentClusterSetOverallDebtCap(providerId, issuerEventId, implementationDateTime, overallDebtCap) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_OVERALL_DEBT_CAP_COMMAND_ID, "uuuu", providerId, issuerEventId, implementationDateTime, \
- overallDebtCap);
-
-/** @brief Command description for ReportEventStatus
- *
- * Command: ReportEventStatus
- * @param issuerEventId INT32U
- * @param issuerEventId INT32U
- * @param eventStatus AmiEventStatus
- * @param deviceClass AmiDeviceClass
- * @param eventStatusTime UTC_TIME
- * @param utilityEnrollmentGroup INT8U
- * @param criticalityLevelApplied AmiCriticalityLevel
- * @param actionRequired INT8U
- * @param coolingTemperatureSetPointApplied INT16U
- * @param heatingTemperatureSetPointApplied INT16U
- * @param averageLoadAdjustmentPercentageApplied INT8S
- * @param dutyCycleApplied INT8U
- * @param eventControl AmiEventControl
- */
-#define emberAfFillCommandEnergy \
- ManagementClusterReportEventStatus(issuerEventId, issuerEventId, eventStatus, deviceClass, eventStatusTime, \
- utilityEnrollmentGroup, criticalityLevelApplied, actionRequired, \
- coolingTemperatureSetPointApplied, heatingTemperatureSetPointApplied, \
- averageLoadAdjustmentPercentageApplied, dutyCycleApplied, eventControl) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REPORT_EVENT_STATUS_COMMAND_ID, "uuuuuuuuuuuuu", issuerEventId, issuerEventId, eventStatus, \
- deviceClass, eventStatusTime, utilityEnrollmentGroup, criticalityLevelApplied, actionRequired, \
- coolingTemperatureSetPointApplied, heatingTemperatureSetPointApplied, \
- averageLoadAdjustmentPercentageApplied, dutyCycleApplied, eventControl);
-
-/** @brief Command description for PublishCalendar
- *
- * Command: PublishCalendar
- * @param providerId INT32U
- * @param earliestStartTime UTC_TIME
- * @param issuerEventId INT32U
- * @param minIssuerEventId INT32U
- * @param issuerCalendarId INT32U
- * @param numberOfCalendars INT8U
- * @param startTime UTC_TIME
- * @param calendarType CalendarType
- * @param calendarType CalendarType
- * @param providerId INT32U
- * @param calendarTimeReference CalendarTimeReference
- * @param calendarName OCTET_STRING
- * @param numberOfSeasons INT8U
- * @param numberOfWeekProfiles INT8U
- * @param numberOfDayProfiles INT8U
- */
-#define emberAfFillCommandCalendarClusterPublishCalendar( \
- providerId, earliestStartTime, issuerEventId, minIssuerEventId, issuerCalendarId, numberOfCalendars, startTime, calendarType, \
- calendarType, providerId, calendarTimeReference, calendarName, numberOfSeasons, numberOfWeekProfiles, numberOfDayProfiles) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_CALENDAR_COMMAND_ID, "uuuuuuuuuuuuuuu", providerId, earliestStartTime, issuerEventId, \
- minIssuerEventId, issuerCalendarId, numberOfCalendars, startTime, calendarType, calendarType, \
- providerId, calendarTimeReference, calendarName, numberOfSeasons, numberOfWeekProfiles, \
- numberOfDayProfiles);
-
-/** @brief Command description for PublishDayProfile
- *
- * Command: PublishDayProfile
- * @param providerId INT32U
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param issuerCalendarId INT32U
- * @param issuerCalendarId INT32U
- * @param startDayId INT8U
- * @param dayId INT8U
- * @param numberOfDays INT8U
- * @param totalNumberOfScheduleEntries INT8U
- * @param commandIndex INT8U
- * @param totalNumberOfCommands INT8U
- * @param calendarType CalendarType
- * @param dayScheduleEntries ScheduleEntry []
- * @param dayScheduleEntriesLen int
- */
-#define emberAfFillCommandCalendarClusterPublishDayProfile( \
- providerId, providerId, issuerEventId, issuerCalendarId, issuerCalendarId, startDayId, dayId, numberOfDays, \
- totalNumberOfScheduleEntries, commandIndex, totalNumberOfCommands, calendarType, dayScheduleEntries, dayScheduleEntriesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_DAY_PROFILE_COMMAND_ID, "uuuuuuuuuuuub", providerId, providerId, issuerEventId, \
- issuerCalendarId, issuerCalendarId, startDayId, dayId, numberOfDays, totalNumberOfScheduleEntries, \
- commandIndex, totalNumberOfCommands, calendarType, dayScheduleEntries, dayScheduleEntriesLen);
-
-/** @brief Command description for PublishWeekProfile
- *
- * Command: PublishWeekProfile
- * @param providerId INT32U
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param issuerCalendarId INT32U
- * @param issuerCalendarId INT32U
- * @param startWeekId INT8U
- * @param weekId INT8U
- * @param numberOfWeeks INT8U
- * @param dayIdRefMonday INT8U
- * @param dayIdRefTuesday INT8U
- * @param dayIdRefWednesday INT8U
- * @param dayIdRefThursday INT8U
- * @param dayIdRefFriday INT8U
- * @param dayIdRefSaturday INT8U
- * @param dayIdRefSunday INT8U
- */
-#define emberAfFillCommandCalendarClusterPublishWeekProfile( \
- providerId, providerId, issuerEventId, issuerCalendarId, issuerCalendarId, startWeekId, weekId, numberOfWeeks, dayIdRefMonday, \
- dayIdRefTuesday, dayIdRefWednesday, dayIdRefThursday, dayIdRefFriday, dayIdRefSaturday, dayIdRefSunday) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_WEEK_PROFILE_COMMAND_ID, "uuuuuuuuuuuuuuu", providerId, providerId, issuerEventId, \
- issuerCalendarId, issuerCalendarId, startWeekId, weekId, numberOfWeeks, dayIdRefMonday, \
- dayIdRefTuesday, dayIdRefWednesday, dayIdRefThursday, dayIdRefFriday, dayIdRefSaturday, \
- dayIdRefSunday);
-
-/** @brief Command description for PublishSeasons
- *
- * Command: PublishSeasons
- * @param providerId INT32U
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param issuerCalendarId INT32U
- * @param issuerCalendarId INT32U
- * @param commandIndex INT8U
- * @param totalNumberOfCommands INT8U
- * @param seasonEntries SeasonEntry []
- * @param seasonEntriesLen int
- */
-#define emberAfFillCommandCalendarClusterPublishSeasons(providerId, providerId, issuerEventId, issuerCalendarId, issuerCalendarId, \
- commandIndex, totalNumberOfCommands, seasonEntries, seasonEntriesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_SEASONS_COMMAND_ID, "uuuuuuub", providerId, providerId, issuerEventId, issuerCalendarId, \
- issuerCalendarId, commandIndex, totalNumberOfCommands, seasonEntries, seasonEntriesLen);
-
-/** @brief Command description for PublishSpecialDays
- *
- * Command: PublishSpecialDays
- * @param providerId INT32U
- * @param startTime UTC_TIME
- * @param issuerEventId INT32U
- * @param numberOfEvents INT8U
- * @param issuerCalendarId INT32U
- * @param calendarType CalendarType
- * @param startTime UTC_TIME
- * @param providerId INT32U
- * @param calendarType CalendarType
- * @param issuerCalendarId INT32U
- * @param totalNumberOfSpecialDays INT8U
- * @param commandIndex INT8U
- * @param totalNumberOfCommands INT8U
- * @param specialDayEntries SpecialDay []
- * @param specialDayEntriesLen int
- */
-#define emberAfFillCommandCalendarClusterPublishSpecialDays( \
- providerId, startTime, issuerEventId, numberOfEvents, issuerCalendarId, calendarType, startTime, providerId, calendarType, \
- issuerCalendarId, totalNumberOfSpecialDays, commandIndex, totalNumberOfCommands, specialDayEntries, specialDayEntriesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUBLISH_SPECIAL_DAYS_COMMAND_ID, "uuuuuuuuuuuuub", providerId, startTime, issuerEventId, \
- numberOfEvents, issuerCalendarId, calendarType, startTime, providerId, calendarType, \
- issuerCalendarId, totalNumberOfSpecialDays, commandIndex, totalNumberOfCommands, specialDayEntries, \
- specialDayEntriesLen);
-
-/** @brief Command description for GetCalendarCancellation
- *
- * Command: GetCalendarCancellation
- * @param providerId INT32U
- * @param issuerCalendarId INT32U
- * @param calendarType CalendarType
- */
-#define emberAfFillCommandCalendarClusterGetCalendarCancellation(providerId, issuerCalendarId, calendarType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_CALENDAR_CANCELLATION_COMMAND_ID, "uuu", providerId, issuerCalendarId, calendarType);
-
-/** @brief Command description for GetChangeOfTenancy
- *
- * Command: GetChangeOfTenancy
- * @param providerId INT32U
- * @param issuerEventId INT32U
- * @param tariffType TariffType
- * @param implementationDateTime UTC_TIME
- * @param proposedTenancyChangeControl ProposedChangeControl
- */
-#define emberAfFillCommandDevice \
- ManagementClusterGetChangeOfTenancy(providerId, issuerEventId, tariffType, implementationDateTime, \
- proposedTenancyChangeControl) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_CHANGE_OF_TENANCY_COMMAND_ID, "uuuuu", providerId, issuerEventId, tariffType, \
- implementationDateTime, proposedTenancyChangeControl);
-
-/** @brief Command description for GetChangeOfSupplier
- *
- * Command: GetChangeOfSupplier
- * @param currentProviderId INT32U
- * @param issuerEventId INT32U
- * @param tariffType TariffType
- * @param proposedProviderId INT32U
- * @param providerChangeImplementationTime UTC_TIME
- * @param providerChangeControl ProposedChangeControl
- * @param proposedProviderName OCTET_STRING
- * @param proposedProviderContactDetails OCTET_STRING
- */
-#define emberAfFillCommandDevice \
- ManagementClusterGetChangeOfSupplier(currentProviderId, issuerEventId, tariffType, proposedProviderId, \
- providerChangeImplementationTime, providerChangeControl, proposedProviderName, \
- proposedProviderContactDetails) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_CHANGE_OF_SUPPLIER_COMMAND_ID, "uuuuuuuu", currentProviderId, issuerEventId, tariffType, \
- proposedProviderId, providerChangeImplementationTime, providerChangeControl, \
- proposedProviderName, proposedProviderContactDetails);
-
-/** @brief Command description for RequestNewPassword
- *
- * Command: RequestNewPassword
- * @param passwordType PasswordType
- * @param issuerEventId INT32U
- * @param implementationDateTime UTC_TIME
- * @param durationInMinutes INT16U
- * @param passwordType PasswordType
- * @param password OCTET_STRING
- */
-#define emberAfFillCommandDevice \
- ManagementClusterRequestNewPassword(passwordType, issuerEventId, implementationDateTime, durationInMinutes, passwordType, \
- password) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_NEW_PASSWORD_COMMAND_ID, "uuuuuu", passwordType, issuerEventId, \
- implementationDateTime, durationInMinutes, passwordType, password);
-
-/** @brief Command description for GetSiteId
- *
- * Command: GetSiteId
- * @param issuerEventId INT32U
- * @param siteIdTime UTC_TIME
- * @param providerId INT32U
- * @param siteId OCTET_STRING
- */
-#define emberAfFillCommandDevice \
- ManagementClusterGetSiteId(issuerEventId, siteIdTime, providerId, siteId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_SITE_ID_COMMAND_ID, "uuuu", issuerEventId, siteIdTime, providerId, siteId);
-
-/** @brief Command description for ReportEventConfiguration
- *
- * Command: ReportEventConfiguration
- * @param commandIndex INT8U
- * @param issuerEventId INT32U
- * @param totalCommands INT8U
- * @param startDateTime UTC_TIME
- * @param eventConfigurationPayload EventConfigurationPayload []
- * @param eventConfigurationPayloadLen int
- * @param eventConfiguration EventConfiguration
- * @param configurationControl EventConfigurationControl
- * @param eventConfigurationPayload INT8U []
- * @param eventConfigurationPayloadLen int
- */
-#define emberAfFillCommandDevice \
- ManagementClusterReportEventConfiguration(commandIndex, issuerEventId, totalCommands, startDateTime, \
- eventConfigurationPayload, eventConfigurationPayloadLen, eventConfiguration, \
- configurationControl, eventConfigurationPayload, eventConfigurationPayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REPORT_EVENT_CONFIGURATION_COMMAND_ID, "uuuubuub", commandIndex, issuerEventId, \
- totalCommands, startDateTime, eventConfigurationPayload, eventConfigurationPayloadLen, \
- eventConfiguration, configurationControl, eventConfigurationPayload, \
- eventConfigurationPayloadLen);
-
-/** @brief Command description for GetCIN
- *
- * Command: GetCIN
- * @param eventId INT16U
- */
-#define emberAfFillCommandDevice \
- ManagementClusterGetCIN(eventId) emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_CIN_COMMAND_ID, "u", eventId);
-
-/** @brief Command description for UpdateCIN
- *
- * Command: UpdateCIN
- * @param issuerEventId INT32U
- * @param implementationTime UTC_TIME
- * @param providerId INT32U
- * @param customerIdNumber OCTET_STRING
- */
-#define emberAfFillCommandDevice \
- ManagementClusterUpdateCIN(issuerEventId, implementationTime, providerId, customerIdNumber) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_UPDATE_CIN_COMMAND_ID, "uuuu", issuerEventId, implementationTime, providerId, customerIdNumber);
-
-/** @brief Command description for GetEventLog
- *
- * Command: GetEventLog
- * @param eventControlLogId EventControlLogId
- * @param logId EventLogId
- * @param eventId INT16U
- * @param eventId INT16U
- * @param startTime UTC_TIME
- * @param eventTime UTC_TIME
- * @param endTime UTC_TIME
- * @param eventControl EventActionControl
- * @param numberOfEvents INT8U
- * @param eventData OCTET_STRING
- * @param eventOffset INT16U
- */
-#define emberAfFillCommandEventsClusterGetEventLog(eventControlLogId, logId, eventId, eventId, startTime, eventTime, endTime, \
- eventControl, numberOfEvents, eventData, eventOffset) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_EVENT_LOG_COMMAND_ID, "uuuuuuuuuuu", eventControlLogId, logId, eventId, eventId, startTime, \
- eventTime, endTime, eventControl, numberOfEvents, eventData, eventOffset);
-
-/** @brief Command description for ClearEventLogRequest
- *
- * Command: ClearEventLogRequest
- * @param logId EventLogId
- * @param totalNumberOfEvents INT16U
- * @param commandIndex INT8U
- * @param totalCommands INT8U
- * @param logPayloadControl NumberOfEventsLogPayloadControl
- * @param logPayload EventLogPayload []
- * @param logPayloadLen int
- */
-#define emberAfFillCommandEventsClusterClearEventLogRequest(logId, totalNumberOfEvents, commandIndex, totalCommands, \
- logPayloadControl, logPayload, logPayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_EVENT_LOG_REQUEST_COMMAND_ID, "uuuuub", logId, totalNumberOfEvents, commandIndex, \
- totalCommands, logPayloadControl, logPayload, logPayloadLen);
-
-/** @brief Command description for ClearEventLogResponse
- *
- * Command: ClearEventLogResponse
- * @param clearedEventsLogs ClearedEventsLogs
- */
-#define emberAfFillCommandEventsClusterClearEventLogResponse(clearedEventsLogs) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_EVENT_LOG_RESPONSE_COMMAND_ID, "u", clearedEventsLogs);
-
-/** @brief Command description for PairingResponse
- *
- * Command: PairingResponse
- * @param pairingInformationVersion INT32U
- * @param localPairingInformationVersion INT32U
- * @param totalNumberOfDevices INT8U
- * @param eui64OfRequestingDevice IEEE_ADDRESS
- * @param commandIndex INT8U
- * @param totalNumberOfCommands INT8U
- * @param eui64s IEEE_ADDRESS []
- * @param eui64sLen int
- */
-#define emberAfFillCommandMDU \
- PairingClusterPairingResponse(pairingInformationVersion, localPairingInformationVersion, totalNumberOfDevices, \
- eui64OfRequestingDevice, commandIndex, totalNumberOfCommands, eui64s, eui64sLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PAIRING_RESPONSE_COMMAND_ID, "uuuuuub", pairingInformationVersion, \
- localPairingInformationVersion, totalNumberOfDevices, eui64OfRequestingDevice, commandIndex, \
- totalNumberOfCommands, eui64s, eui64sLen);
-
-/** @brief Command description for GetSuspendZclMessagesStatus
- *
- * Command: GetSuspendZclMessagesStatus
- * @param period INT8U
- */
-#define emberAfFillCommandSub \
- -GHzClusterGetSuspendZclMessagesStatus(period) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_SUSPEND_ZCL_MESSAGES_STATUS_COMMAND_ID, "u", period);
-
-/** @brief Command description for InitiateKeyEstablishmentRequest
- *
- * Command: InitiateKeyEstablishmentRequest
- * @param keyEstablishmentSuite BITMAP16
- * @param requestedKeyEstablishmentSuite BITMAP16
- * @param ephemeralDataGenerateTime INT8U
- * @param ephemeralDataGenerateTime INT8U
- * @param confirmKeyGenerateTime INT8U
- * @param confirmKeyGenerateTime INT8U
- * @param identity Identity
- * @param identity Identity
- */
-#define emberAfFillCommandKey \
- EstablishmentClusterInitiateKeyEstablishmentRequest(keyEstablishmentSuite, requestedKeyEstablishmentSuite, \
- ephemeralDataGenerateTime, ephemeralDataGenerateTime, \
- confirmKeyGenerateTime, confirmKeyGenerateTime, identity, identity) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_INITIATE_KEY_ESTABLISHMENT_REQUEST_COMMAND_ID, "uuuuuuuu", keyEstablishmentSuite, \
- requestedKeyEstablishmentSuite, ephemeralDataGenerateTime, ephemeralDataGenerateTime, \
- confirmKeyGenerateTime, confirmKeyGenerateTime, identity, identity);
-
-/** @brief Command description for EphemeralDataRequest
- *
- * Command: EphemeralDataRequest
- * @param ephemeralData EphemeralData
- * @param ephemeralData EphemeralData
- */
-#define emberAfFillCommandKey \
- EstablishmentClusterEphemeralDataRequest(ephemeralData, ephemeralData) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_EPHEMERAL_DATA_REQUEST_COMMAND_ID, "uu", ephemeralData, ephemeralData);
-
-/** @brief Command description for ConfirmKeyDataRequest
- *
- * Command: ConfirmKeyDataRequest
- * @param secureMessageAuthenticationCode Smac
- * @param secureMessageAuthenticationCode Smac
- */
-#define emberAfFillCommandKey \
- EstablishmentClusterConfirmKeyDataRequest(secureMessageAuthenticationCode, secureMessageAuthenticationCode) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIRM_KEY_DATA_REQUEST_COMMAND_ID, "uu", secureMessageAuthenticationCode, \
- secureMessageAuthenticationCode);
-
-/** @brief Command description for TerminateKeyEstablishment
- *
- * Command: TerminateKeyEstablishment
- * @param statusCode AmiKeyEstablishmentStatus
- * @param waitTime INT8U
- * @param keyEstablishmentSuite BITMAP16
- */
-#define emberAfFillCommandKey \
- EstablishmentClusterTerminateKeyEstablishment(statusCode, waitTime, keyEstablishmentSuite) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_TERMINATE_KEY_ESTABLISHMENT_COMMAND_ID, "uuu", statusCode, waitTime, keyEstablishmentSuite);
-
-/** @brief Command description for RequestInformation
- *
- * Command: RequestInformation
- * @param inquiryId ENUM8
- * @param number INT8U
- * @param dataTypeId BITMAP8
- * @param buffer INT8U []
- * @param bufferLen int
- * @param requestInformationPayload INT8U []
- * @param requestInformationPayloadLen int
- */
-#define emberAfFillCommandInformationClusterRequestInformation(inquiryId, number, dataTypeId, buffer, bufferLen, \
- requestInformationPayload, requestInformationPayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_INFORMATION_COMMAND_ID, "uuubb", inquiryId, number, dataTypeId, buffer, bufferLen, \
- requestInformationPayload, requestInformationPayloadLen);
-
-/** @brief Command description for PushInformationResponse
- *
- * Command: PushInformationResponse
- * @param notificationList Notification []
- * @param notificationListLen int
- * @param contents INT8U []
- * @param contentsLen int
- */
-#define emberAfFillCommandInformationClusterPushInformationResponse(notificationList, notificationListLen, contents, contentsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PUSH_INFORMATION_RESPONSE_COMMAND_ID, "bb", notificationList, notificationListLen, contents, \
- contentsLen);
-
-/** @brief Command description for SendPreference
- *
- * Command: SendPreference
- * @param preferenceType INT16U
- * @param statusFeedbackList Status []
- * @param statusFeedbackListLen int
- * @param preferencePayload INT8U []
- * @param preferencePayloadLen int
- */
-#define emberAfFillCommandInformationClusterSendPreference(preferenceType, statusFeedbackList, statusFeedbackListLen, \
- preferencePayload, preferencePayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SEND_PREFERENCE_COMMAND_ID, "ubb", preferenceType, statusFeedbackList, statusFeedbackListLen, \
- preferencePayload, preferencePayloadLen);
-
-/** @brief Command description for ServerRequestPreference
- *
- * Command: ServerRequestPreference
- * @param statusFeedback Status
- * @param preferenceType INT16U
- * @param preferencePayload INT8U []
- * @param preferencePayloadLen int
- */
-#define emberAfFillCommandInformationClusterServerRequestPreference(statusFeedback, preferenceType, preferencePayload, \
- preferencePayloadLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SERVER_REQUEST_PREFERENCE_COMMAND_ID, "uub", statusFeedback, preferenceType, preferencePayload, \
- preferencePayloadLen);
-
-/** @brief Command description for Update
- *
- * Command: Update
- * @param accessControl ENUM8
- * @param statusFeedbackList Status []
- * @param statusFeedbackListLen int
- * @param option BITMAP8
- * @param contents INT8U []
- * @param contentsLen int
- */
-#define emberAfFillCommandInformationClusterUpdate(accessControl, statusFeedbackList, statusFeedbackListLen, option, contents, \
- contentsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UPDATE_COMMAND_ID, "ubub", accessControl, statusFeedbackList, statusFeedbackListLen, option, \
- contents, contentsLen);
-
-/** @brief Command description for Delete
- *
- * Command: Delete
- * @param deletionOptions BITMAP8
- * @param notificationList Notification []
- * @param notificationListLen int
- * @param contentIds INT16U []
- * @param contentIdsLen int
- */
-#define emberAfFillCommandInformationClusterDelete(deletionOptions, notificationList, notificationListLen, contentIds, \
- contentIdsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DELETE_COMMAND_ID, "ubb", deletionOptions, notificationList, notificationListLen, contentIds, \
- contentIdsLen);
-
-/** @brief Command description for ConfigureNodeDescription
- *
- * Command: ConfigureNodeDescription
- * @param description CHAR_STRING
- * @param notificationList Notification []
- * @param notificationListLen int
- */
-#define emberAfFillCommandInformationClusterConfigureNodeDescription(description, notificationList, notificationListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIGURE_NODE_DESCRIPTION_COMMAND_ID, "ub", description, notificationList, \
- notificationListLen);
-
-/** @brief Command description for ConfigureDeliveryEnable
- *
- * Command: ConfigureDeliveryEnable
- * @param enable BOOLEAN
- */
-#define emberAfFillCommandInformationClusterConfigureDeliveryEnable(enable) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIGURE_DELIVERY_ENABLE_COMMAND_ID, "u", enable);
-
-/** @brief Command description for ConfigurePushInformationTimer
- *
- * Command: ConfigurePushInformationTimer
- * @param timer INT32U
- */
-#define emberAfFillCommandInformationClusterConfigurePushInformationTimer(timer) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIGURE_PUSH_INFORMATION_TIMER_COMMAND_ID, "u", timer);
-
-/** @brief Command description for ConfigureSetRootId
- *
- * Command: ConfigureSetRootId
- * @param rootId INT16U
- */
-#define emberAfFillCommandInformationClusterConfigureSetRootId(rootId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONFIGURE_SET_ROOT_ID_COMMAND_ID, "u", rootId);
-
-/** @brief Command description for ReadFileRequest
- *
- * Command: ReadFileRequest
- * @param fileIndex INT16U
- * @param writeOptions BITMAP8
- * @param fileStartPositionAndRequestedOctetCount INT8U []
- * @param fileStartPositionAndRequestedOctetCountLen int
- * @param fileSize INT8U []
- * @param fileSizeLen int
- */
-#define emberAfFillCommandData \
- SharingClusterReadFileRequest(fileIndex, writeOptions, fileStartPositionAndRequestedOctetCount, \
- fileStartPositionAndRequestedOctetCountLen, fileSize, fileSizeLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_READ_FILE_REQUEST_COMMAND_ID, "uubb", fileIndex, writeOptions, \
- fileStartPositionAndRequestedOctetCount, fileStartPositionAndRequestedOctetCountLen, fileSize, \
- fileSizeLen);
-
-/** @brief Command description for ReadRecordRequest
- *
- * Command: ReadRecordRequest
- * @param fileIndex INT16U
- * @param fileIndex INT16U
- * @param fileStartRecordAndRequestedRecordCount INT8U []
- * @param fileStartRecordAndRequestedRecordCountLen int
- * @param fileStartPosition INT32U
- * @param octetCount INT32U
- */
-#define emberAfFillCommandData \
- SharingClusterReadRecordRequest(fileIndex, fileIndex, fileStartRecordAndRequestedRecordCount, \
- fileStartRecordAndRequestedRecordCountLen, fileStartPosition, octetCount) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_READ_RECORD_REQUEST_COMMAND_ID, "uubuu", fileIndex, fileIndex, \
- fileStartRecordAndRequestedRecordCount, fileStartRecordAndRequestedRecordCountLen, \
- fileStartPosition, octetCount);
-
-/** @brief Command description for WriteFileResponse
- *
- * Command: WriteFileResponse
- * @param status ENUM8
- * @param fileIndex INT16U
- * @param fileIndex INT8U []
- * @param fileIndexLen int
- * @param fileStartRecord INT16U
- * @param recordCount INT16U
- */
-#define emberAfFillCommandData \
- SharingClusterWriteFileResponse(status, fileIndex, fileIndex, fileIndexLen, fileStartRecord, recordCount) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_WRITE_FILE_RESPONSE_COMMAND_ID, "uubuu", status, fileIndex, fileIndex, fileIndexLen, \
- fileStartRecord, recordCount);
-
-/** @brief Command description for FileTransmission
- *
- * Command: FileTransmission
- * @param transmitOptions BITMAP8
- * @param buffer INT8U []
- * @param bufferLen int
- */
-#define emberAfFillCommandData \
- SharingClusterFileTransmission(transmitOptions, buffer, bufferLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_FILE_TRANSMISSION_COMMAND_ID, "ub", transmitOptions, buffer, bufferLen);
-
-/** @brief Command description for RecordTransmission
- *
- * Command: RecordTransmission
- * @param transmitOptions BITMAP8
- * @param buffer INT8U []
- * @param bufferLen int
- */
-#define emberAfFillCommandData \
- SharingClusterRecordTransmission(transmitOptions, buffer, bufferLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RECORD_TRANSMISSION_COMMAND_ID, "ub", transmitOptions, buffer, bufferLen);
-
-/** @brief Command description for SearchGame
- *
- * Command: SearchGame
- * @param specificGame ENUM8
- * @param gameId INT16U
- * @param gameId INT16U
- * @param gameMaster BOOLEAN
- * @param listOfGame CHAR_STRING
- */
-#define emberAfFillCommandGamingClusterSearchGame(specificGame, gameId, gameId, gameMaster, listOfGame) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SEARCH_GAME_COMMAND_ID, "uuuuu", specificGame, gameId, gameId, gameMaster, listOfGame);
-
-/** @brief Command description for JoinGame
- *
- * Command: JoinGame
- * @param gameId INT16U
- * @param commandId INT8U
- * @param joinAsMaster BOOLEAN
- * @param status BITMAP8
- * @param nameOfGame CHAR_STRING
- * @param message CHAR_STRING
- */
-#define emberAfFillCommandGamingClusterJoinGame(gameId, commandId, joinAsMaster, status, nameOfGame, message) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_JOIN_GAME_COMMAND_ID, "uuuuuu", gameId, commandId, joinAsMaster, status, nameOfGame, message);
-
-/** @brief Command description for StartGame
- *
- * Command: StartGame
- */
-#define emberAfFillCommandGamingClusterStartGame() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_START_GAME_COMMAND_ID, "", );
-
-/** @brief Command description for PauseGame
- *
- * Command: PauseGame
- */
-#define emberAfFillCommandGamingClusterPauseGame() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PAUSE_GAME_COMMAND_ID, "", );
-
-/** @brief Command description for ResumeGame
- *
- * Command: ResumeGame
- */
-#define emberAfFillCommandGamingClusterResumeGame() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESUME_GAME_COMMAND_ID, "", );
-
-/** @brief Command description for QuitGame
- *
- * Command: QuitGame
- */
-#define emberAfFillCommandGamingClusterQuitGame() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_QUIT_GAME_COMMAND_ID, "", );
-
-/** @brief Command description for EndGame
- *
- * Command: EndGame
- */
-#define emberAfFillCommandGamingClusterEndGame() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_END_GAME_COMMAND_ID, "", );
-
-/** @brief Command description for StartOver
- *
- * Command: StartOver
- */
-#define emberAfFillCommandGamingClusterStartOver() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_START_OVER_COMMAND_ID, "", );
-
-/** @brief Command description for ActionControl
- *
- * Command: ActionControl
- * @param actions BITMAP32
- */
-#define emberAfFillCommandGamingClusterActionControl(actions) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ACTION_CONTROL_COMMAND_ID, "u", actions);
-
-/** @brief Command description for DownloadGame
- *
- * Command: DownloadGame
- */
-#define emberAfFillCommandGamingClusterDownloadGame() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DOWNLOAD_GAME_COMMAND_ID, "", );
-
-/** @brief Command description for PathCreation
- *
- * Command: PathCreation
- * @param originatorAddress DATA16
- * @param originatorAddress DATA16
- * @param destinationAddress DATA16
- * @param destinationAddress DATA16
- * @param dataRate INT8U
- * @param dataRate INT8U
- */
-#define emberAfFillCommandData \
- Rate ControlClusterPathCreation(originatorAddress, originatorAddress, destinationAddress, destinationAddress, dataRate, \
- dataRate) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PATH_CREATION_COMMAND_ID, "uuuuuu", originatorAddress, originatorAddress, \
- destinationAddress, destinationAddress, dataRate, dataRate);
-
-/** @brief Command description for DataRateNotification
- *
- * Command: DataRateNotification
- * @param originatorAddress DATA16
- * @param destinationAddress DATA16
- * @param dataRate INT8U
- */
-#define emberAfFillCommandData \
- Rate ControlClusterDataRateNotification(originatorAddress, destinationAddress, dataRate) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DATA_RATE_NOTIFICATION_COMMAND_ID, "uuu", originatorAddress, destinationAddress, dataRate);
-
-/** @brief Command description for PathDeletion
- *
- * Command: PathDeletion
- * @param originatorAddress DATA16
- * @param destinationAddress DATA16
- */
-#define emberAfFillCommandData \
- Rate ControlClusterPathDeletion(originatorAddress, destinationAddress) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PATH_DELETION_COMMAND_ID, "uu", originatorAddress, destinationAddress);
-
-/** @brief Command description for EstablishmentRequest
- *
- * Command: EstablishmentRequest
- * @param flag BITMAP8
- * @param ackNack ENUM8
- * @param codecType ENUM8
- * @param codecType ENUM8
- * @param sampFreq ENUM8
- * @param codecRate ENUM8
- * @param serviceType ENUM8
- * @param buffer INT8U []
- * @param bufferLen int
- */
-#define emberAfFillCommandVoice \
- over ZigBeeClusterEstablishmentRequest(flag, ackNack, codecType, codecType, sampFreq, codecRate, serviceType, buffer, \
- bufferLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ESTABLISHMENT_REQUEST_COMMAND_ID, "uuuuuuub", flag, ackNack, codecType, codecType, sampFreq, \
- codecRate, serviceType, buffer, bufferLen);
-
-/** @brief Command description for VoiceTransmission
- *
- * Command: VoiceTransmission
- * @param voiceData INT8U []
- * @param voiceDataLen int
- * @param sequenceNumber INT8U
- * @param errorFlag ENUM8
- */
-#define emberAfFillCommandVoice \
- over ZigBeeClusterVoiceTransmission(voiceData, voiceDataLen, sequenceNumber, errorFlag) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_VOICE_TRANSMISSION_COMMAND_ID, "buu", voiceData, voiceDataLen, sequenceNumber, errorFlag);
-
-/** @brief Command description for VoiceTransmissionCompletion
- *
- * Command: VoiceTransmissionCompletion
- * @param controlType ENUM8
- */
-#define emberAfFillCommandVoice \
- over ZigBeeClusterVoiceTransmissionCompletion(controlType) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_VOICE_TRANSMISSION_COMPLETION_COMMAND_ID, "u", controlType);
-
-/** @brief Command description for ControlResponse
- *
- * Command: ControlResponse
- * @param ackNack ENUM8
- */
-#define emberAfFillCommandVoice \
- over ZigBeeClusterControlResponse(ackNack) emberAfFillExternalBuffer(mask, \
- \
- ZCL_CONTROL_RESPONSE_COMMAND_ID, "u", ackNack);
-
-/** @brief Command description for JoinChatRequest
- *
- * Command: JoinChatRequest
- * @param uid INT16U
- * @param status ENUM8
- * @param nickname CHAR_STRING
- * @param cid INT16U
- * @param cid INT16U
- */
-#define emberAfFillCommandChattingClusterJoinChatRequest(uid, status, nickname, cid, cid) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_JOIN_CHAT_REQUEST_COMMAND_ID, "uuuuu", uid, status, nickname, cid, cid);
-
-/** @brief Command description for LeaveChatRequest
- *
- * Command: LeaveChatRequest
- * @param cid INT16U
- * @param status ENUM8
- * @param uid INT16U
- * @param cid INT16U
- * @param chatParticipantList ChatParticipant []
- * @param chatParticipantListLen int
- */
-#define emberAfFillCommandChattingClusterLeaveChatRequest(cid, status, uid, cid, chatParticipantList, chatParticipantListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LEAVE_CHAT_REQUEST_COMMAND_ID, "uuuub", cid, status, uid, cid, chatParticipantList, \
- chatParticipantListLen);
-
-/** @brief Command description for SearchChatRequest
- *
- * Command: SearchChatRequest
- * @param cid INT16U
- * @param uid INT16U
- * @param nickname CHAR_STRING
- */
-#define emberAfFillCommandChattingClusterSearchChatRequest(cid, uid, nickname) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SEARCH_CHAT_REQUEST_COMMAND_ID, "uuu", cid, uid, nickname);
-
-/** @brief Command description for SwitchChairmanResponse
- *
- * Command: SwitchChairmanResponse
- * @param cid INT16U
- * @param cid INT16U
- * @param uid INT16U
- * @param uid INT16U
- * @param nickname CHAR_STRING
- */
-#define emberAfFillCommandChattingClusterSwitchChairmanResponse(cid, cid, uid, uid, nickname) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SWITCH_CHAIRMAN_RESPONSE_COMMAND_ID, "uuuuu", cid, cid, uid, uid, nickname);
-
-/** @brief Command description for StartChatRequest
- *
- * Command: StartChatRequest
- * @param name CHAR_STRING
- * @param options BITMAP8
- * @param uid INT16U
- * @param chatRoomList ChatRoom []
- * @param chatRoomListLen int
- * @param nickname CHAR_STRING
- */
-#define emberAfFillCommandChattingClusterStartChatRequest(name, options, uid, chatRoomList, chatRoomListLen, nickname) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_START_CHAT_REQUEST_COMMAND_ID, "uuubu", name, options, uid, chatRoomList, chatRoomListLen, \
- nickname);
-
-/** @brief Command description for ChatMessage
- *
- * Command: ChatMessage
- * @param destinationUid INT16U
- * @param cid INT16U
- * @param sourceUid INT16U
- * @param cid INT16U
- * @param nickname CHAR_STRING
- * @param message CHAR_STRING
- */
-#define emberAfFillCommandChattingClusterChatMessage(destinationUid, cid, sourceUid, cid, nickname, message) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_CHAT_MESSAGE_COMMAND_ID, "uuuuuu", destinationUid, cid, sourceUid, cid, nickname, message);
-
-/** @brief Command description for GetNodeInformationRequest
- *
- * Command: GetNodeInformationRequest
- * @param cid INT16U
- * @param cid INT16U
- * @param uid INT16U
- * @param nodeInformationList NodeInformation []
- * @param nodeInformationListLen int
- */
-#define emberAfFillCommandChattingClusterGetNodeInformationRequest(cid, cid, uid, nodeInformationList, nodeInformationListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_NODE_INFORMATION_REQUEST_COMMAND_ID, "uuub", cid, cid, uid, nodeInformationList, \
- nodeInformationListLen);
-
-/** @brief Command description for SwitchChairmanNotification
- *
- * Command: SwitchChairmanNotification
- * @param cid INT16U
- * @param uid INT16U
- * @param address DATA16
- * @param endpoint INT8U
- */
-#define emberAfFillCommandChattingClusterSwitchChairmanNotification(cid, uid, address, endpoint) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SWITCH_CHAIRMAN_NOTIFICATION_COMMAND_ID, "uuuu", cid, uid, address, endpoint);
-
-/** @brief Command description for GetNodeInformationResponse
- *
- * Command: GetNodeInformationResponse
- * @param status ENUM8
- * @param cid INT16U
- * @param uid INT16U
- * @param addressEndpointAndNickname INT8U []
- * @param addressEndpointAndNicknameLen int
- */
-#define emberAfFillCommandChattingClusterGetNodeInformationResponse(status, cid, uid, addressEndpointAndNickname, \
- addressEndpointAndNicknameLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_NODE_INFORMATION_RESPONSE_COMMAND_ID, "uuub", status, cid, uid, addressEndpointAndNickname, \
- addressEndpointAndNicknameLen);
-
-/** @brief Command description for BuyRequest
- *
- * Command: BuyRequest
- * @param userId OCTET_STRING
- * @param serialNumber OCTET_STRING
- * @param userType INT16U
- * @param currency INT32U
- * @param serviceId INT16U
- * @param priceTrailingDigit INT8U
- * @param goodId OCTET_STRING
- * @param price INT32U
- * @param timestamp OCTET_STRING
- * @param transId INT16U
- * @param transStatus ENUM8
- */
-#define emberAfFillCommandPaymentClusterBuyRequest(userId, serialNumber, userType, currency, serviceId, priceTrailingDigit, \
- goodId, price, timestamp, transId, transStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_BUY_REQUEST_COMMAND_ID, "uuuuuuuuuuu", userId, serialNumber, userType, currency, serviceId, \
- priceTrailingDigit, goodId, price, timestamp, transId, transStatus);
-
-/** @brief Command description for AcceptPayment
- *
- * Command: AcceptPayment
- * @param userId OCTET_STRING
- * @param serialNumber OCTET_STRING
- * @param userType INT16U
- * @param currency INT32U
- * @param serviceId INT16U
- * @param priceTrailingDigit INT8U
- * @param goodId OCTET_STRING
- * @param price INT32U
- * @param timestamp OCTET_STRING
- */
-#define emberAfFillCommandPaymentClusterAcceptPayment(userId, serialNumber, userType, currency, serviceId, priceTrailingDigit, \
- goodId, price, timestamp) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ACCEPT_PAYMENT_COMMAND_ID, "uuuuuuuuu", userId, serialNumber, userType, currency, serviceId, \
- priceTrailingDigit, goodId, price, timestamp);
-
-/** @brief Command description for PaymentConfirm
- *
- * Command: PaymentConfirm
- * @param serialNumber OCTET_STRING
- * @param serialNumber OCTET_STRING
- * @param transId INT16U
- * @param status ENUM8
- * @param transStatus ENUM8
- */
-#define emberAfFillCommandPaymentClusterPaymentConfirm(serialNumber, serialNumber, transId, status, transStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_PAYMENT_CONFIRM_COMMAND_ID, "uuuuu", serialNumber, serialNumber, transId, status, transStatus);
-
-/** @brief Command description for Subscribe
- *
- * Command: Subscribe
- * @param userId OCTET_STRING
- * @param userId OCTET_STRING
- * @param serviceId INT16U
- * @param serviceId INT16U
- * @param serviceProviderId INT16U
- * @param serviceProviderId INT16U
- */
-#define emberAfFillCommandBillingClusterSubscribe(userId, userId, serviceId, serviceId, serviceProviderId, serviceProviderId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SUBSCRIBE_COMMAND_ID, "uuuuuu", userId, userId, serviceId, serviceId, serviceProviderId, \
- serviceProviderId);
-
-/** @brief Command description for Unsubscribe
- *
- * Command: Unsubscribe
- * @param userId OCTET_STRING
- * @param userId OCTET_STRING
- * @param serviceId INT16U
- * @param serviceId INT16U
- * @param serviceProviderId INT16U
- * @param serviceProviderId INT16U
- * @param timestamp OCTET_STRING
- * @param duration INT16U
- */
-#define emberAfFillCommandBillingClusterUnsubscribe(userId, userId, serviceId, serviceId, serviceProviderId, serviceProviderId, \
- timestamp, duration) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UNSUBSCRIBE_COMMAND_ID, "uuuuuuuu", userId, userId, serviceId, serviceId, serviceProviderId, \
- serviceProviderId, timestamp, duration);
-
-/** @brief Command description for StartBillingSession
- *
- * Command: StartBillingSession
- * @param userId OCTET_STRING
- * @param serviceId INT16U
- * @param serviceProviderId INT16U
- */
-#define emberAfFillCommandBillingClusterStartBillingSession(userId, serviceId, serviceProviderId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_START_BILLING_SESSION_COMMAND_ID, "uuu", userId, serviceId, serviceProviderId);
-
-/** @brief Command description for StopBillingSession
- *
- * Command: StopBillingSession
- * @param userId OCTET_STRING
- * @param serviceId INT16U
- * @param serviceProviderId INT16U
- */
-#define emberAfFillCommandBillingClusterStopBillingSession(userId, serviceId, serviceProviderId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STOP_BILLING_SESSION_COMMAND_ID, "uuu", userId, serviceId, serviceProviderId);
-
-/** @brief Command description for BillStatusNotification
- *
- * Command: BillStatusNotification
- * @param userId OCTET_STRING
- * @param status ENUM8
- */
-#define emberAfFillCommandBillingClusterBillStatusNotification(userId, status) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_BILL_STATUS_NOTIFICATION_COMMAND_ID, "uu", userId, status);
-
-/** @brief Command description for SessionKeepAlive
- *
- * Command: SessionKeepAlive
- * @param userId OCTET_STRING
- * @param serviceId INT16U
- * @param serviceProviderId INT16U
- */
-#define emberAfFillCommandBillingClusterSessionKeepAlive(userId, serviceId, serviceProviderId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SESSION_KEEP_ALIVE_COMMAND_ID, "uuu", userId, serviceId, serviceProviderId);
-
-/** @brief Command description for GetAlerts
- *
- * Command: GetAlerts
- * @param alertsCount AlertCount
- * @param alertStructures AlertStructure []
- * @param alertStructuresLen int
- */
-#define emberAfFillCommandAppliance \
- Events and AlertClusterGetAlerts(alertsCount, alertStructures, alertStructuresLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_ALERTS_COMMAND_ID, "ub", alertsCount, alertStructures, alertStructuresLen);
-
-/** @brief Command description for AlertsNotification
- *
- * Command: AlertsNotification
- * @param alertsCount AlertCount
- * @param alertStructures AlertStructure []
- * @param alertStructuresLen int
- */
-#define emberAfFillCommandAppliance \
- Events and AlertClusterAlertsNotification(alertsCount, alertStructures, alertStructuresLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ALERTS_NOTIFICATION_COMMAND_ID, "ub", alertsCount, alertStructures, alertStructuresLen);
-
-/** @brief Command description for EventsNotification
- *
- * Command: EventsNotification
- * @param eventHeader INT8U
- * @param eventId EventIdentification
- */
-#define emberAfFillCommandAppliance \
- Events and AlertClusterEventsNotification(eventHeader, eventId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_EVENTS_NOTIFICATION_COMMAND_ID, "uu", eventHeader, eventId);
-
-/** @brief Command description for LogNotification
- *
- * Command: LogNotification
- * @param timeStamp TIME_OF_DAY
- * @param logId INT32U
- * @param logId INT32U
- * @param logLength INT32U
- * @param logPayload INT8U []
- * @param logPayloadLen int
- */
-#define emberAfFillCommandAppliance \
- StatisticsClusterLogNotification(timeStamp, logId, logId, logLength, logPayload, logPayloadLen) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_LOG_NOTIFICATION_COMMAND_ID, "uuuub", timeStamp, logId, logId, logLength, logPayload, logPayloadLen);
-
-/** @brief Command description for LogQueueRequest
- *
- * Command: LogQueueRequest
- * @param timeStamp TIME_OF_DAY
- * @param logId INT32U
- * @param logLength INT32U
- * @param logPayload INT8U []
- * @param logPayloadLen int
- */
-#define emberAfFillCommandAppliance \
- StatisticsClusterLogQueueRequest(timeStamp, logId, logLength, logPayload, logPayloadLen) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_LOG_QUEUE_REQUEST_COMMAND_ID, "uuub", timeStamp, logId, logLength, logPayload, logPayloadLen);
-
-/** @brief Command description for LogQueueResponse
- *
- * Command: LogQueueResponse
- * @param logQueueSize INT8U
- * @param logIds INT32U []
- * @param logIdsLen int
- */
-#define emberAfFillCommandAppliance \
- StatisticsClusterLogQueueResponse(logQueueSize, logIds, logIdsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_LOG_QUEUE_RESPONSE_COMMAND_ID, "ub", logQueueSize, logIds, logIdsLen);
-
-/** @brief Command description for StatisticsAvailable
- *
- * Command: StatisticsAvailable
- * @param logQueueSize INT8U
- * @param logIds INT32U []
- * @param logIdsLen int
- */
-#define emberAfFillCommandAppliance \
- StatisticsClusterStatisticsAvailable(logQueueSize, logIds, logIdsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_STATISTICS_AVAILABLE_COMMAND_ID, "ub", logQueueSize, logIds, logIdsLen);
-
-/** @brief Command description for GetProfileInfoCommand
- *
- * Command: GetProfileInfoCommand
- * @param profileCount INT8U
- * @param profileIntervalPeriod ENUM8
- * @param maxNumberOfIntervals INT8U
- * @param listOfAttributes INT16U []
- * @param listOfAttributesLen int
- */
-#define emberAfFillCommandElectrical \
- MeasurementClusterGetProfileInfoCommand(profileCount, profileIntervalPeriod, maxNumberOfIntervals, listOfAttributes, \
- listOfAttributesLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_PROFILE_INFO_COMMAND_COMMAND_ID, "uuub", profileCount, profileIntervalPeriod, \
- maxNumberOfIntervals, listOfAttributes, listOfAttributesLen);
-
-/** @brief Command description for GetMeasurementProfileResponseCommand
- *
- * Command: GetMeasurementProfileResponseCommand
- * @param startTime INT32U
- * @param attributeId INT16U
- * @param status ENUM8
- * @param startTime INT32U
- * @param profileIntervalPeriod ENUM8
- * @param numberOfIntervals ENUM8
- * @param numberOfIntervalsDelivered INT8U
- * @param attributeId INT16U
- * @param intervals INT8U []
- * @param intervalsLen int
- */
-#define emberAfFillCommandElectrical \
- MeasurementClusterGetMeasurementProfileResponseCommand(startTime, attributeId, status, startTime, profileIntervalPeriod, \
- numberOfIntervals, numberOfIntervalsDelivered, attributeId, intervals, \
- intervalsLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_MEASUREMENT_PROFILE_RESPONSE_COMMAND_COMMAND_ID, "uuuuuuuub", startTime, attributeId, \
- status, startTime, profileIntervalPeriod, numberOfIntervals, numberOfIntervalsDelivered, \
- attributeId, intervals, intervalsLen);
-
-/** @brief Command description for ScanRequest
- *
- * Command: ScanRequest
- * @param transaction INT32U
- * @param zigbeeInformation ZigbeeInformation
- * @param zllInformation ZllInformation
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterScanRequest(transaction, zigbeeInformation, zllInformation) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SCAN_REQUEST_COMMAND_ID, "uuu", transaction, zigbeeInformation, zllInformation);
-
-/** @brief Command description for ScanResponse
- *
- * Command: ScanResponse
- * @param transaction INT32U
- * @param rssiCorrection INT8U
- * @param zigbeeInformation ZigbeeInformation
- * @param zllInformation ZllInformation
- * @param keyBitmask KeyBitmask
- * @param responseId INT32U
- * @param extendedPanId IEEE_ADDRESS
- * @param networkUpdateId INT8U
- * @param logicalChannel INT8U
- * @param panId INT16U
- * @param networkAddress INT16U
- * @param numberOfSubDevices INT8U
- * @param totalGroupIds INT8U
- * @param endpointId INT8U
- * @param profileId INT16U
- * @param deviceId INT16U
- * @param version INT8U
- * @param groupIdCount INT8U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterScanResponse(transaction, rssiCorrection, zigbeeInformation, zllInformation, keyBitmask, responseId, \
- extendedPanId, networkUpdateId, logicalChannel, panId, networkAddress, numberOfSubDevices, \
- totalGroupIds, endpointId, profileId, deviceId, version, groupIdCount) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SCAN_RESPONSE_COMMAND_ID, "uuuuuuuuuuuuuuuuuu", transaction, rssiCorrection, \
- zigbeeInformation, zllInformation, keyBitmask, responseId, extendedPanId, networkUpdateId, \
- logicalChannel, panId, networkAddress, numberOfSubDevices, totalGroupIds, endpointId, profileId, \
- deviceId, version, groupIdCount);
-
-/** @brief Command description for DeviceInformationRequest
- *
- * Command: DeviceInformationRequest
- * @param transaction INT32U
- * @param startIndex INT8U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterDeviceInformationRequest(transaction, startIndex) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DEVICE_INFORMATION_REQUEST_COMMAND_ID, "uu", transaction, startIndex);
-
-/** @brief Command description for DeviceInformationResponse
- *
- * Command: DeviceInformationResponse
- * @param transaction INT32U
- * @param numberOfSubDevices INT8U
- * @param startIndex INT8U
- * @param deviceInformationRecordCount INT8U
- * @param deviceInformationRecordList DeviceInformationRecord []
- * @param deviceInformationRecordListLen int
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterDeviceInformationResponse(transaction, numberOfSubDevices, startIndex, deviceInformationRecordCount, \
- deviceInformationRecordList, deviceInformationRecordListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DEVICE_INFORMATION_RESPONSE_COMMAND_ID, "uuuub", transaction, numberOfSubDevices, \
- startIndex, deviceInformationRecordCount, deviceInformationRecordList, \
- deviceInformationRecordListLen);
-
-/** @brief Command description for IdentifyRequest
- *
- * Command: IdentifyRequest
- * @param transaction INT32U
- * @param identifyDuration INT16U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterIdentifyRequest(transaction, identifyDuration) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_IDENTIFY_REQUEST_COMMAND_ID, "uu", transaction, identifyDuration);
-
-/** @brief Command description for ResetToFactoryNewRequest
- *
- * Command: ResetToFactoryNewRequest
- * @param transaction INT32U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterResetToFactoryNewRequest(transaction) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_RESET_TO_FACTORY_NEW_REQUEST_COMMAND_ID, "u", transaction);
-
-/** @brief Command description for NetworkStartRequest
- *
- * Command: NetworkStartRequest
- * @param transaction INT32U
- * @param extendedPanId IEEE_ADDRESS
- * @param keyIndex KeyIndex
- * @param encryptedNetworkKey SECURITY_KEY
- * @param logicalChannel INT8U
- * @param panId INT16U
- * @param networkAddress INT16U
- * @param groupIdentifiersBegin INT16U
- * @param groupIdentifiersEnd INT16U
- * @param freeNetworkAddressRangeBegin INT16U
- * @param freeNetworkAddressRangeEnd INT16U
- * @param freeGroupIdentifierRangeBegin INT16U
- * @param freeGroupIdentifierRangeEnd INT16U
- * @param initiatorIeeeAddress IEEE_ADDRESS
- * @param initiatorNetworkAddress INT16U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterNetworkStartRequest( \
- transaction, extendedPanId, keyIndex, encryptedNetworkKey, logicalChannel, panId, networkAddress, groupIdentifiersBegin, \
- groupIdentifiersEnd, freeNetworkAddressRangeBegin, freeNetworkAddressRangeEnd, freeGroupIdentifierRangeBegin, \
- freeGroupIdentifierRangeEnd, initiatorIeeeAddress, initiatorNetworkAddress) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NETWORK_START_REQUEST_COMMAND_ID, "uuuuuuuuuuuuuuu", transaction, extendedPanId, keyIndex, \
- encryptedNetworkKey, logicalChannel, panId, networkAddress, groupIdentifiersBegin, \
- groupIdentifiersEnd, freeNetworkAddressRangeBegin, freeNetworkAddressRangeEnd, \
- freeGroupIdentifierRangeBegin, freeGroupIdentifierRangeEnd, initiatorIeeeAddress, \
- initiatorNetworkAddress);
-
-/** @brief Command description for NetworkStartResponse
- *
- * Command: NetworkStartResponse
- * @param transaction INT32U
- * @param status ZllStatus
- * @param extendedPanId IEEE_ADDRESS
- * @param networkUpdateId INT8U
- * @param logicalChannel INT8U
- * @param panId INT16U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterNetworkStartResponse(transaction, status, extendedPanId, networkUpdateId, logicalChannel, panId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NETWORK_START_RESPONSE_COMMAND_ID, "uuuuuu", transaction, status, extendedPanId, \
- networkUpdateId, logicalChannel, panId);
-
-/** @brief Command description for NetworkJoinRouterRequest
- *
- * Command: NetworkJoinRouterRequest
- * @param transaction INT32U
- * @param extendedPanId IEEE_ADDRESS
- * @param keyIndex KeyIndex
- * @param encryptedNetworkKey SECURITY_KEY
- * @param networkUpdateId INT8U
- * @param logicalChannel INT8U
- * @param panId INT16U
- * @param networkAddress INT16U
- * @param groupIdentifiersBegin INT16U
- * @param groupIdentifiersEnd INT16U
- * @param freeNetworkAddressRangeBegin INT16U
- * @param freeNetworkAddressRangeEnd INT16U
- * @param freeGroupIdentifierRangeBegin INT16U
- * @param freeGroupIdentifierRangeEnd INT16U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterNetworkJoinRouterRequest(transaction, extendedPanId, keyIndex, encryptedNetworkKey, networkUpdateId, \
- logicalChannel, panId, networkAddress, groupIdentifiersBegin, \
- groupIdentifiersEnd, freeNetworkAddressRangeBegin, freeNetworkAddressRangeEnd, \
- freeGroupIdentifierRangeBegin, freeGroupIdentifierRangeEnd) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NETWORK_JOIN_ROUTER_REQUEST_COMMAND_ID, "uuuuuuuuuuuuuu", transaction, extendedPanId, \
- keyIndex, encryptedNetworkKey, networkUpdateId, logicalChannel, panId, networkAddress, \
- groupIdentifiersBegin, groupIdentifiersEnd, freeNetworkAddressRangeBegin, \
- freeNetworkAddressRangeEnd, freeGroupIdentifierRangeBegin, freeGroupIdentifierRangeEnd);
-
-/** @brief Command description for NetworkJoinRouterResponse
- *
- * Command: NetworkJoinRouterResponse
- * @param transaction INT32U
- * @param status ZllStatus
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterNetworkJoinRouterResponse(transaction, status) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NETWORK_JOIN_ROUTER_RESPONSE_COMMAND_ID, "uu", transaction, status);
-
-/** @brief Command description for NetworkJoinEndDeviceRequest
- *
- * Command: NetworkJoinEndDeviceRequest
- * @param transaction INT32U
- * @param extendedPanId IEEE_ADDRESS
- * @param keyIndex KeyIndex
- * @param encryptedNetworkKey SECURITY_KEY
- * @param networkUpdateId INT8U
- * @param logicalChannel INT8U
- * @param panId INT16U
- * @param networkAddress INT16U
- * @param groupIdentifiersBegin INT16U
- * @param groupIdentifiersEnd INT16U
- * @param freeNetworkAddressRangeBegin INT16U
- * @param freeNetworkAddressRangeEnd INT16U
- * @param freeGroupIdentifierRangeBegin INT16U
- * @param freeGroupIdentifierRangeEnd INT16U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterNetworkJoinEndDeviceRequest(transaction, extendedPanId, keyIndex, encryptedNetworkKey, networkUpdateId, \
- logicalChannel, panId, networkAddress, groupIdentifiersBegin, \
- groupIdentifiersEnd, freeNetworkAddressRangeBegin, freeNetworkAddressRangeEnd, \
- freeGroupIdentifierRangeBegin, freeGroupIdentifierRangeEnd) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NETWORK_JOIN_END_DEVICE_REQUEST_COMMAND_ID, "uuuuuuuuuuuuuu", transaction, extendedPanId, \
- keyIndex, encryptedNetworkKey, networkUpdateId, logicalChannel, panId, networkAddress, \
- groupIdentifiersBegin, groupIdentifiersEnd, freeNetworkAddressRangeBegin, \
- freeNetworkAddressRangeEnd, freeGroupIdentifierRangeBegin, freeGroupIdentifierRangeEnd);
-
-/** @brief Command description for NetworkJoinEndDeviceResponse
- *
- * Command: NetworkJoinEndDeviceResponse
- * @param transaction INT32U
- * @param status ZllStatus
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterNetworkJoinEndDeviceResponse(transaction, status) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NETWORK_JOIN_END_DEVICE_RESPONSE_COMMAND_ID, "uu", transaction, status);
-
-/** @brief Command description for NetworkUpdateRequest
- *
- * Command: NetworkUpdateRequest
- * @param transaction INT32U
- * @param extendedPanId IEEE_ADDRESS
- * @param networkUpdateId INT8U
- * @param logicalChannel INT8U
- * @param panId INT16U
- * @param networkAddress INT16U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterNetworkUpdateRequest(transaction, extendedPanId, networkUpdateId, logicalChannel, panId, networkAddress) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_NETWORK_UPDATE_REQUEST_COMMAND_ID, "uuuuuu", transaction, extendedPanId, networkUpdateId, \
- logicalChannel, panId, networkAddress);
-
-/** @brief Command description for EndpointInformation
- *
- * Command: EndpointInformation
- * @param ieeeAddress IEEE_ADDRESS
- * @param networkAddress INT16U
- * @param endpointId INT8U
- * @param profileId INT16U
- * @param deviceId INT16U
- * @param version INT8U
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterEndpointInformation(ieeeAddress, networkAddress, endpointId, profileId, deviceId, version) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENDPOINT_INFORMATION_COMMAND_ID, "uuuuuu", ieeeAddress, networkAddress, endpointId, \
- profileId, deviceId, version);
-
-/** @brief Command description for GetGroupIdentifiersRequest
- *
- * Command: GetGroupIdentifiersRequest
- * @param startIndex INT8U
- * @param total INT8U
- * @param startIndex INT8U
- * @param count INT8U
- * @param groupInformationRecordList GroupInformationRecord []
- * @param groupInformationRecordListLen int
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterGetGroupIdentifiersRequest(startIndex, total, startIndex, count, groupInformationRecordList, \
- groupInformationRecordListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_GROUP_IDENTIFIERS_REQUEST_COMMAND_ID, "uuuub", startIndex, total, startIndex, count, \
- groupInformationRecordList, groupInformationRecordListLen);
-
-/** @brief Command description for GetEndpointListRequest
- *
- * Command: GetEndpointListRequest
- * @param startIndex INT8U
- * @param total INT8U
- * @param startIndex INT8U
- * @param count INT8U
- * @param endpointInformationRecordList EndpointInformationRecord []
- * @param endpointInformationRecordListLen int
- */
-#define emberAfFillCommandZLL \
- CommissioningClusterGetEndpointListRequest(startIndex, total, startIndex, count, endpointInformationRecordList, \
- endpointInformationRecordListLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_GET_ENDPOINT_LIST_REQUEST_COMMAND_ID, "uuuub", startIndex, total, startIndex, count, \
- endpointInformationRecordList, endpointInformationRecordListLen);
-
-/** @brief Command description for Bind
- *
- * Command: Bind
- * @param nodeId NODE_ID
- * @param groupId GROUP_ID
- * @param endpointId ENDPOINT_ID
- * @param clusterId CLUSTER_ID
- */
-#define emberAfFillCommandBindingClusterBind(nodeId, groupId, endpointId, clusterId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_BIND_COMMAND_ID, "uuuu", nodeId, groupId, endpointId, clusterId);
-
-/** @brief Command description for Unbind
- *
- * Command: Unbind
- * @param nodeId NODE_ID
- * @param groupId GROUP_ID
- * @param endpointId ENDPOINT_ID
- * @param clusterId CLUSTER_ID
- */
-#define emberAfFillCommandBindingClusterUnbind(nodeId, groupId, endpointId, clusterId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_UNBIND_COMMAND_ID, "uuuu", nodeId, groupId, endpointId, clusterId);
-
-/** @brief Command description for CommandOne
- *
- * Command: CommandOne
- * @param argOne INT8U
- * @param argOne INT8U
- */
-#define emberAfFillCommandSample \
- Mfg Specific ClusterClusterCommandOne(argOne, argOne) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_COMMAND_ONE_COMMAND_ID, "uu", argOne, argOne);
-
-/** @brief Command description for SetToken
- *
- * Command: SetToken
- * @param token INT16U
- * @param token INT16U
- * @param data OCTET_STRING
- * @param data OCTET_STRING
- */
-#define emberAfFillCommandConfiguration \
- ClusterClusterSetToken(token, token, data, data) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_TOKEN_COMMAND_ID, "uuuu", token, token, data, data);
-
-/** @brief Command description for LockTokens
- *
- * Command: LockTokens
- */
-#define emberAfFillCommandConfiguration \
- ClusterClusterLockTokens() emberAfFillExternalBuffer(mask, \
- \
- ZCL_LOCK_TOKENS_COMMAND_ID, "", );
-
-/** @brief Command description for ReadTokens
- *
- * Command: ReadTokens
- * @param token INT16U
- */
-#define emberAfFillCommandConfiguration \
- ClusterClusterReadTokens(token) emberAfFillExternalBuffer(mask, \
- \
- ZCL_READ_TOKENS_COMMAND_ID, "u", token);
-
-/** @brief Command description for UnlockTokens
- *
- * Command: UnlockTokens
- * @param data OCTET_STRING
- */
-#define emberAfFillCommandConfiguration \
- ClusterClusterUnlockTokens(data) emberAfFillExternalBuffer(mask, \
- \
- ZCL_UNLOCK_TOKENS_COMMAND_ID, "u", data);
-
-/** @brief Command description for stream
- *
- * Command: stream
- * @param channel INT8U
- * @param power INT8S
- * @param time INT16U
- */
-#define emberAfFillCommandMFGLIB \
- ClusterClusterstream(channel, power, time) emberAfFillExternalBuffer(mask, \
- \
- ZCL_STREAM_COMMAND_ID, "uuu", channel, power, time);
-
-/** @brief Command description for tone
- *
- * Command: tone
- * @param channel INT8U
- * @param power INT8S
- * @param time INT16U
- */
-#define emberAfFillCommandMFGLIB \
- ClusterClustertone(channel, power, time) emberAfFillExternalBuffer(mask, \
- \
- ZCL_TONE_COMMAND_ID, "uuu", channel, power, time);
-
-/** @brief Command description for rxMode
- *
- * Command: rxMode
- * @param channel INT8U
- * @param power INT8S
- * @param time INT16U
- */
-#define emberAfFillCommandMFGLIB \
- ClusterClusterrxMode(channel, power, time) emberAfFillExternalBuffer(mask, \
- \
- ZCL_RX_MODE_COMMAND_ID, "uuu", channel, power, time);
-
-/** @brief Command description for EnableApsLinkKeyAuthorization
- *
- * Command: EnableApsLinkKeyAuthorization
- * @param numberExemptClusters INT8U
- * @param clusterId CLUSTER_ID
- * @param clusterId CLUSTER_ID []
- * @param clusterIdLen int
- * @param apsLinkKeyAuthStatus BOOLEAN
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnableApsLinkKeyAuthorization(numberExemptClusters, clusterId, clusterId, clusterIdLen, \
- apsLinkKeyAuthStatus) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_APS_LINK_KEY_AUTHORIZATION_COMMAND_ID, "uubu", numberExemptClusters, clusterId, \
- clusterId, clusterIdLen, apsLinkKeyAuthStatus);
-
-/** @brief Command description for DisableApsLinkKeyAuthorization
- *
- * Command: DisableApsLinkKeyAuthorization
- * @param numberExemptClusters INT8U
- * @param powerNotificationReason WwahPowerNotificationReason
- * @param clusterId CLUSTER_ID []
- * @param clusterIdLen int
- * @param manufacturerId INT16U
- * @param manufacturerReasonLength INT8U
- * @param manufacturerReason INT8U []
- * @param manufacturerReasonLen int
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableApsLinkKeyAuthorization(numberExemptClusters, powerNotificationReason, clusterId, \
- clusterIdLen, manufacturerId, manufacturerReasonLength, \
- manufacturerReason, manufacturerReasonLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_APS_LINK_KEY_AUTHORIZATION_COMMAND_ID, "uubuub", numberExemptClusters, \
- powerNotificationReason, clusterId, clusterIdLen, manufacturerId, manufacturerReasonLength, \
- manufacturerReason, manufacturerReasonLen);
-
-/** @brief Command description for ApsLinkKeyAuthorizationQuery
- *
- * Command: ApsLinkKeyAuthorizationQuery
- * @param clusterId CLUSTER_ID
- * @param powerNotificationReason WwahPowerNotificationReason
- * @param manufacturerId INT16U
- * @param manufacturerReasonLength INT8U
- * @param manufacturerReason INT8U []
- * @param manufacturerReasonLen int
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterApsLinkKeyAuthorizationQuery(clusterId, powerNotificationReason, manufacturerId, \
- manufacturerReasonLength, manufacturerReason, manufacturerReasonLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_APS_LINK_KEY_AUTHORIZATION_QUERY_COMMAND_ID, "uuuub", clusterId, powerNotificationReason, \
- manufacturerId, manufacturerReasonLength, manufacturerReason, manufacturerReasonLen);
-
-/** @brief Command description for RequestNewApsLinkKey
- *
- * Command: RequestNewApsLinkKey
- * @param deviceEui64 IEEE_ADDRESS
- * @param deviceShort INT16U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterRequestNewApsLinkKey(deviceEui64, deviceShort) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_NEW_APS_LINK_KEY_COMMAND_ID, "uu", deviceEui64, deviceShort);
-
-/** @brief Command description for EnableWwahAppEventRetryAlgorithm
- *
- * Command: EnableWwahAppEventRetryAlgorithm
- * @param firstBackoffTimeSeconds INT8U
- * @param numberExemptClusters INT8U
- * @param backoffSeqCommonRatio INT8U
- * @param clusterId CLUSTER_ID []
- * @param clusterIdLen int
- * @param maxBackoffTimeSeconds INT32U
- * @param maxRedeliveryAttempts INT8U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnableWwahAppEventRetryAlgorithm( \
- firstBackoffTimeSeconds, numberExemptClusters, backoffSeqCommonRatio, clusterId, clusterIdLen, maxBackoffTimeSeconds, \
- maxRedeliveryAttempts) emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_WWAH_APP_EVENT_RETRY_ALGORITHM_COMMAND_ID, "uuubuu", \
- firstBackoffTimeSeconds, numberExemptClusters, backoffSeqCommonRatio, \
- clusterId, clusterIdLen, maxBackoffTimeSeconds, maxRedeliveryAttempts);
-
-/** @brief Command description for DisableWwahAppEventRetryAlgorithm
- *
- * Command: DisableWwahAppEventRetryAlgorithm
- * @param currentPowerMode INT32U
- * @param availablePowerSources INT32U
- * @param currentPowerSource INT32U
- * @param currentPowerSourceLevel INT32U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableWwahAppEventRetryAlgorithm(currentPowerMode, availablePowerSources, currentPowerSource, \
- currentPowerSourceLevel) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_WWAH_APP_EVENT_RETRY_ALGORITHM_COMMAND_ID, "uuuu", currentPowerMode, \
- availablePowerSources, currentPowerSource, currentPowerSourceLevel);
-
-/** @brief Command description for RequestTime
- *
- * Command: RequestTime
- * @param debugReportId INT8U
- * @param debugReportSize INT32U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterRequestTime(debugReportId, debugReportSize) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REQUEST_TIME_COMMAND_ID, "uu", debugReportId, debugReportSize);
-
-/** @brief Command description for EnableWwahRejoinAlgorithm
- *
- * Command: EnableWwahRejoinAlgorithm
- * @param fastRejoinTimeoutSeconds INT16U
- * @param debugReportId INT8U
- * @param durationBetweenRejoinsSeconds INT16U
- * @param debugReportData INT8U []
- * @param debugReportDataLen int
- * @param fastRejoinFirstBackoffSeconds INT16U
- * @param maxBackoffTimeSeconds INT16U
- * @param maxBackoffIterations INT16U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnableWwahRejoinAlgorithm(fastRejoinTimeoutSeconds, debugReportId, durationBetweenRejoinsSeconds, \
- debugReportData, debugReportDataLen, fastRejoinFirstBackoffSeconds, \
- maxBackoffTimeSeconds, maxBackoffIterations) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_WWAH_REJOIN_ALGORITHM_COMMAND_ID, "uuubuuu", fastRejoinTimeoutSeconds, debugReportId, \
- durationBetweenRejoinsSeconds, debugReportData, debugReportDataLen, \
- fastRejoinFirstBackoffSeconds, maxBackoffTimeSeconds, maxBackoffIterations);
-
-/** @brief Command description for DisableWwahRejoinAlgorithm
- *
- * Command: DisableWwahRejoinAlgorithm
- * @param numberOfClusters INT8U
- * @param clusterId CLUSTER_ID []
- * @param clusterIdLen int
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableWwahRejoinAlgorithm(numberOfClusters, clusterId, clusterIdLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_WWAH_REJOIN_ALGORITHM_COMMAND_ID, "ub", numberOfClusters, clusterId, clusterIdLen);
-
-/** @brief Command description for SetIasZoneEnrollmentMethod
- *
- * Command: SetIasZoneEnrollmentMethod
- * @param enrollmentMode WwahIasZoneEnrollmentMode
- * @param numberOfBeacons INT8U
- * @param beacon WwahBeaconSurvey []
- * @param beaconLen int
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterSetIasZoneEnrollmentMethod(enrollmentMode, numberOfBeacons, beacon, beaconLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_IAS_ZONE_ENROLLMENT_METHOD_COMMAND_ID, "uub", enrollmentMode, numberOfBeacons, beacon, \
- beaconLen);
-
-/** @brief Command description for ClearBindingTable
- *
- * Command: ClearBindingTable
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterClearBindingTable() emberAfFillExternalBuffer(mask, \
- \
- ZCL_CLEAR_BINDING_TABLE_COMMAND_ID, "", );
-
-/** @brief Command description for EnablePeriodicRouterCheckIns
- *
- * Command: EnablePeriodicRouterCheckIns
- * @param checkInInterval INT16U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnablePeriodicRouterCheckIns(checkInInterval) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_PERIODIC_ROUTER_CHECK_INS_COMMAND_ID, "u", checkInInterval);
-
-/** @brief Command description for DisablePeriodicRouterCheckIns
- *
- * Command: DisablePeriodicRouterCheckIns
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisablePeriodicRouterCheckIns() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_PERIODIC_ROUTER_CHECK_INS_COMMAND_ID, "", );
-
-/** @brief Command description for SetMacPollFailureWaitTime
- *
- * Command: SetMacPollFailureWaitTime
- * @param waitTime INT8U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterSetMacPollFailureWaitTime(waitTime) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_MAC_POLL_FAILURE_WAIT_TIME_COMMAND_ID, "u", waitTime);
-
-/** @brief Command description for SetPendingNetworkUpdate
- *
- * Command: SetPendingNetworkUpdate
- * @param channel INT8U
- * @param panId INT16U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterSetPendingNetworkUpdate(channel, panId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SET_PENDING_NETWORK_UPDATE_COMMAND_ID, "uu", channel, panId);
-
-/** @brief Command description for RequireApsAcksOnUnicasts
- *
- * Command: RequireApsAcksOnUnicasts
- * @param numberExemptClusters INT8U
- * @param clusterId CLUSTER_ID []
- * @param clusterIdLen int
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterRequireApsAcksOnUnicasts(numberExemptClusters, clusterId, clusterIdLen) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_REQUIRE_APS_ACKS_ON_UNICASTS_COMMAND_ID, "ub", numberExemptClusters, clusterId, clusterIdLen);
-
-/** @brief Command description for RemoveApsAcksOnUnicastsRequirement
- *
- * Command: RemoveApsAcksOnUnicastsRequirement
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterRemoveApsAcksOnUnicastsRequirement() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_REMOVE_APS_ACKS_ON_UNICASTS_REQUIREMENT_COMMAND_ID, "", );
-
-/** @brief Command description for ApsAckRequirementQuery
- *
- * Command: ApsAckRequirementQuery
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterApsAckRequirementQuery() emberAfFillExternalBuffer(mask, \
- \
- ZCL_APS_ACK_REQUIREMENT_QUERY_COMMAND_ID, "", );
-
-/** @brief Command description for DebugReportQuery
- *
- * Command: DebugReportQuery
- * @param debugReportId INT8U
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDebugReportQuery(debugReportId) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DEBUG_REPORT_QUERY_COMMAND_ID, "u", debugReportId);
-
-/** @brief Command description for SurveyBeacons
- *
- * Command: SurveyBeacons
- * @param standardBeacons BOOLEAN
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterSurveyBeacons(standardBeacons) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_SURVEY_BEACONS_COMMAND_ID, "u", standardBeacons);
-
-/** @brief Command description for DisableOtaDowngrades
- *
- * Command: DisableOtaDowngrades
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableOtaDowngrades() emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_OTA_DOWNGRADES_COMMAND_ID, "", );
-
-/** @brief Command description for DisableMgmtLeaveWithoutRejoin
- *
- * Command: DisableMgmtLeaveWithoutRejoin
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableMgmtLeaveWithoutRejoin() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_MGMT_LEAVE_WITHOUT_REJOIN_COMMAND_ID, "", );
-
-/** @brief Command description for DisableTouchlinkInterpanMessageSupport
- *
- * Command: DisableTouchlinkInterpanMessageSupport
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableTouchlinkInterpanMessageSupport() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_TOUCHLINK_INTERPAN_MESSAGE_SUPPORT_COMMAND_ID, "", );
-
-/** @brief Command description for EnableWwahParentClassification
- *
- * Command: EnableWwahParentClassification
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnableWwahParentClassification() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_WWAH_PARENT_CLASSIFICATION_COMMAND_ID, "", );
-
-/** @brief Command description for DisableWwahParentClassification
- *
- * Command: DisableWwahParentClassification
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableWwahParentClassification() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_WWAH_PARENT_CLASSIFICATION_COMMAND_ID, "", );
-
-/** @brief Command description for EnableTcSecurityOnNtwkKeyRotation
- *
- * Command: EnableTcSecurityOnNtwkKeyRotation
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnableTcSecurityOnNtwkKeyRotation() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_TC_SECURITY_ON_NTWK_KEY_ROTATION_COMMAND_ID, "", );
-
-/** @brief Command description for EnableWwahBadParentRecovery
- *
- * Command: EnableWwahBadParentRecovery
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnableWwahBadParentRecovery() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_WWAH_BAD_PARENT_RECOVERY_COMMAND_ID, "", );
-
-/** @brief Command description for DisableWwahBadParentRecovery
- *
- * Command: DisableWwahBadParentRecovery
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableWwahBadParentRecovery() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_WWAH_BAD_PARENT_RECOVERY_COMMAND_ID, "", );
-
-/** @brief Command description for EnableConfigurationMode
- *
- * Command: EnableConfigurationMode
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterEnableConfigurationMode() emberAfFillExternalBuffer(mask, \
- \
- ZCL_ENABLE_CONFIGURATION_MODE_COMMAND_ID, "", );
-
-/** @brief Command description for DisableConfigurationMode
- *
- * Command: DisableConfigurationMode
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterDisableConfigurationMode() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_DISABLE_CONFIGURATION_MODE_COMMAND_ID, "", );
-
-/** @brief Command description for UseTrustCenterForClusterServer
- *
- * Command: UseTrustCenterForClusterServer
- * @param numberOfClusters INT8U
- * @param clusterId CLUSTER_ID []
- * @param clusterIdLen int
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterUseTrustCenterForClusterServer(numberOfClusters, clusterId, clusterIdLen) emberAfFillExternalBuffer( \
- mask, \
- \
- ZCL_USE_TRUST_CENTER_FOR_CLUSTER_SERVER_COMMAND_ID, "ub", numberOfClusters, clusterId, clusterIdLen);
-
-/** @brief Command description for TrustCenterForClusterServerQuery
- *
- * Command: TrustCenterForClusterServerQuery
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterTrustCenterForClusterServerQuery() \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_TRUST_CENTER_FOR_CLUSTER_SERVER_QUERY_COMMAND_ID, "", );
-
-/** @brief Command description for UseTrustCenterForClusterServerResponse
- *
- * Command: UseTrustCenterForClusterServerResponse
- * @param status Status
- * @param clusterStatusLength INT8U
- * @param clusterStatus WwahClusterStatusToUseTC []
- * @param clusterStatusLen int
- */
-#define emberAfFillCommandSL \
- Works With All HubsClusterUseTrustCenterForClusterServerResponse(status, clusterStatusLength, clusterStatus, clusterStatusLen) \
- emberAfFillExternalBuffer(mask, \
- \
- ZCL_USE_TRUST_CENTER_FOR_CLUSTER_SERVER_RESPONSE_COMMAND_ID, "uub", status, clusterStatusLength, \
- clusterStatus, clusterStatusLen);
diff --git a/examples/chip-tool/gen/cluster-id.h b/examples/chip-tool/gen/cluster-id.h
deleted file mode 100644
index c51dafe..0000000
--- a/examples/chip-tool/gen/cluster-id.h
+++ /dev/null
@@ -1,429 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// Definitions for cluster: Power Configuration
-#define ZCL_POWER_CONFIG_CLUSTER_ID (0x0001)
-
-// Definitions for cluster: Device Temperature Configuration
-#define ZCL_DEVICE_TEMP_CLUSTER_ID (0x0002)
-
-// Definitions for cluster: Identify
-#define ZCL_IDENTIFY_CLUSTER_ID (0x0003)
-
-// Definitions for cluster: Groups
-#define ZCL_GROUPS_CLUSTER_ID (0x0004)
-
-// Definitions for cluster: Scenes
-#define ZCL_SCENES_CLUSTER_ID (0x0005)
-
-// Definitions for cluster: On/off
-#define ZCL_ON_OFF_CLUSTER_ID (0x0006)
-
-// Definitions for cluster: On/off Switch Configuration
-#define ZCL_ON_OFF_SWITCH_CONFIG_CLUSTER_ID (0x0007)
-
-// Definitions for cluster: Level Control
-#define ZCL_LEVEL_CONTROL_CLUSTER_ID (0x0008)
-
-// Definitions for cluster: Alarms
-#define ZCL_ALARM_CLUSTER_ID (0x0009)
-
-// Definitions for cluster: Time
-#define ZCL_TIME_CLUSTER_ID (0x000A)
-
-// Definitions for cluster: RSSI Location
-#define ZCL_RSSI_LOCATION_CLUSTER_ID (0x000B)
-
-// Definitions for cluster: Binary Input (Basic)
-#define ZCL_BINARY_INPUT_BASIC_CLUSTER_ID (0x000F)
-
-// Definitions for cluster: Commissioning
-#define ZCL_COMMISSIONING_CLUSTER_ID (0x0015)
-
-// Definitions for cluster: Partition
-#define ZCL_PARTITION_CLUSTER_ID (0x0016)
-
-// Definitions for cluster: Over the Air Bootloading
-#define ZCL_OTA_BOOTLOAD_CLUSTER_ID (0x0019)
-
-// Definitions for cluster: Power Profile
-#define ZCL_POWER_PROFILE_CLUSTER_ID (0x001A)
-
-// Definitions for cluster: Appliance Control
-#define ZCL_APPLIANCE_CONTROL_CLUSTER_ID (0x001B)
-
-// Definitions for cluster: Descriptor
-#define ZCL_DESCRIPTOR_CLUSTER_ID (0x001D)
-
-// Definitions for cluster: Poll Control
-#define ZCL_POLL_CONTROL_CLUSTER_ID (0x0020)
-
-// Definitions for cluster: Green Power
-#define ZCL_GREEN_POWER_CLUSTER_ID (0x0021)
-
-// Definitions for cluster: Keep-Alive
-#define ZCL_KEEPALIVE_CLUSTER_ID (0x0025)
-
-// Definitions for cluster: Basic
-#define ZCL_BASIC_CLUSTER_ID (0x0028)
-
-// Definitions for cluster: OTA Software Update Server
-#define ZCL_OTA_SERVER_CLUSTER_ID (0x0029)
-
-// Definitions for cluster: OTA Software Update Client
-#define ZCL_OTA_CLIENT_CLUSTER_ID (0x002A)
-
-// Definitions for cluster: General Commissioning
-#define ZCL_GENERAL_COMMISSIONING_CLUSTER_ID (0x0030)
-
-// Definitions for cluster: Network Commissioning
-#define ZCL_NETWORK_COMMISSIONING_CLUSTER_ID (0x0031)
-
-// Definitions for cluster: General Diagnostics
-#define ZCL_GENERAL_DIAGNOSTICS_CLUSTER_ID (0x0033)
-
-// Definitions for cluster: Thread Network Diagnostics
-#define ZCL_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_ID (0x0035)
-
-// Definitions for cluster: WiFi Network Diagnostics
-#define ZCL_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_ID (0x0036)
-
-// Definitions for cluster: Ethernet Network Diagnostics
-#define ZCL_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_ID (0x0037)
-
-// Definitions for cluster: Switch
-#define ZCL_SWITCH_CLUSTER_ID (0x003B)
-
-// Definitions for cluster: Operational Credentials
-#define ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID (0x003E)
-
-// Definitions for cluster: Trusted Root Certificates
-#define ZCL_TRUSTED_ROOT_CERTIFICATES_CLUSTER_ID (0x003F)
-
-// Definitions for cluster: Shade Configuration
-#define ZCL_SHADE_CONFIG_CLUSTER_ID (0x0100)
-
-// Definitions for cluster: Door Lock
-#define ZCL_DOOR_LOCK_CLUSTER_ID (0x0101)
-
-// Definitions for cluster: Window Covering
-#define ZCL_WINDOW_COVERING_CLUSTER_ID (0x0102)
-
-// Definitions for cluster: Barrier Control
-#define ZCL_BARRIER_CONTROL_CLUSTER_ID (0x0103)
-
-// Definitions for cluster: Pump Configuration and Control
-#define ZCL_PUMP_CONFIG_CONTROL_CLUSTER_ID (0x0200)
-
-// Definitions for cluster: Thermostat
-#define ZCL_THERMOSTAT_CLUSTER_ID (0x0201)
-
-// Definitions for cluster: Fan Control
-#define ZCL_FAN_CONTROL_CLUSTER_ID (0x0202)
-
-// Definitions for cluster: Dehumidification Control
-#define ZCL_DEHUMID_CONTROL_CLUSTER_ID (0x0203)
-
-// Definitions for cluster: Thermostat User Interface Configuration
-#define ZCL_THERMOSTAT_UI_CONFIG_CLUSTER_ID (0x0204)
-
-// Definitions for cluster: Color Control
-#define ZCL_COLOR_CONTROL_CLUSTER_ID (0x0300)
-
-// Definitions for cluster: Ballast Configuration
-#define ZCL_BALLAST_CONFIGURATION_CLUSTER_ID (0x0301)
-
-// Definitions for cluster: Illuminance Measurement
-#define ZCL_ILLUM_MEASUREMENT_CLUSTER_ID (0x0400)
-
-// Definitions for cluster: Illuminance Level Sensing
-#define ZCL_ILLUM_LEVEL_SENSING_CLUSTER_ID (0x0401)
-
-// Definitions for cluster: Temperature Measurement
-#define ZCL_TEMP_MEASUREMENT_CLUSTER_ID (0x0402)
-
-// Definitions for cluster: Pressure Measurement
-#define ZCL_PRESSURE_MEASUREMENT_CLUSTER_ID (0x0403)
-
-// Definitions for cluster: Flow Measurement
-#define ZCL_FLOW_MEASUREMENT_CLUSTER_ID (0x0404)
-
-// Definitions for cluster: Relative Humidity Measurement
-#define ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID (0x0405)
-
-// Definitions for cluster: Occupancy Sensing
-#define ZCL_OCCUPANCY_SENSING_CLUSTER_ID (0x0406)
-
-// Definitions for cluster: Carbon Monoxide Concentration Measurement
-#define ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x040C)
-
-// Definitions for cluster: Carbon Dioxide Concentration Measurement
-#define ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x040D)
-
-// Definitions for cluster: Ethylene Concentration Measurement
-#define ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x040E)
-
-// Definitions for cluster: Ethylene Oxide Concentration Measurement
-#define ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x040F)
-
-// Definitions for cluster: Hydrogen Concentration Measurement
-#define ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0410)
-
-// Definitions for cluster: Hydrogen Sulphide Concentration Measurement
-#define ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0411)
-
-// Definitions for cluster: Nitric Oxide Concentration Measurement
-#define ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0412)
-
-// Definitions for cluster: Nitrogen Dioxide Concentration Measurement
-#define ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0413)
-
-// Definitions for cluster: Oxygen Concentration Measurement
-#define ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0414)
-
-// Definitions for cluster: Ozone Concentration Measurement
-#define ZCL_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0415)
-
-// Definitions for cluster: Sulfur Dioxide Concentration Measurement
-#define ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0416)
-
-// Definitions for cluster: Dissolved Oxygen Concentration Measurement
-#define ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0417)
-
-// Definitions for cluster: Bromate Concentration Measurement
-#define ZCL_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0418)
-
-// Definitions for cluster: Chloramines Concentration Measurement
-#define ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0419)
-
-// Definitions for cluster: Chlorine Concentration Measurement
-#define ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x041A)
-
-// Definitions for cluster: Fecal coliform and E. Coli Concentration Measurement
-#define ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x041B)
-
-// Definitions for cluster: Fluoride Concentration Measurement
-#define ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x041C)
-
-// Definitions for cluster: Haloacetic Acids Concentration Measurement
-#define ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x041D)
-
-// Definitions for cluster: Total Trihalomethanes Concentration Measurement
-#define ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x041E)
-
-// Definitions for cluster: Total Coliform Bacteria Concentration Measurement
-#define ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x041F)
-
-// Definitions for cluster: Turbidity Concentration Measurement
-#define ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0420)
-
-// Definitions for cluster: Copper Concentration Measurement
-#define ZCL_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0421)
-
-// Definitions for cluster: Lead Concentration Measurement
-#define ZCL_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0422)
-
-// Definitions for cluster: Manganese Concentration Measurement
-#define ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0423)
-
-// Definitions for cluster: Sulfate Concentration Measurement
-#define ZCL_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0424)
-
-// Definitions for cluster: Bromodichloromethane Concentration Measurement
-#define ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0425)
-
-// Definitions for cluster: Bromoform Concentration Measurement
-#define ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0426)
-
-// Definitions for cluster: Chlorodibromomethane Concentration Measurement
-#define ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0427)
-
-// Definitions for cluster: Chloroform Concentration Measurement
-#define ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0428)
-
-// Definitions for cluster: Sodium Concentration Measurement
-#define ZCL_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_ID (0x0429)
-
-// Definitions for cluster: IAS Zone
-#define ZCL_IAS_ZONE_CLUSTER_ID (0x0500)
-
-// Definitions for cluster: IAS ACE
-#define ZCL_IAS_ACE_CLUSTER_ID (0x0501)
-
-// Definitions for cluster: IAS WD
-#define ZCL_IAS_WD_CLUSTER_ID (0x0502)
-
-// Definitions for cluster: Wake on LAN
-#define ZCL_WAKE_ON_LAN_CLUSTER_ID (0x0503)
-
-// Definitions for cluster: TV Channel
-#define ZCL_TV_CHANNEL_CLUSTER_ID (0x0504)
-
-// Definitions for cluster: Target Navigator
-#define ZCL_TARGET_NAVIGATOR_CLUSTER_ID (0x0505)
-
-// Definitions for cluster: Media Playback
-#define ZCL_MEDIA_PLAYBACK_CLUSTER_ID (0x0506)
-
-// Definitions for cluster: Media Input
-#define ZCL_MEDIA_INPUT_CLUSTER_ID (0x0507)
-
-// Definitions for cluster: Low Power
-#define ZCL_LOW_POWER_CLUSTER_ID (0x0508)
-
-// Definitions for cluster: Keypad Input
-#define ZCL_KEYPAD_INPUT_CLUSTER_ID (0x0509)
-
-// Definitions for cluster: Content Launch
-#define ZCL_CONTENT_LAUNCH_CLUSTER_ID (0x050A)
-
-// Definitions for cluster: Audio Output
-#define ZCL_AUDIO_OUTPUT_CLUSTER_ID (0x050B)
-
-// Definitions for cluster: Application Launcher
-#define ZCL_APPLICATION_LAUNCHER_CLUSTER_ID (0x050C)
-
-// Definitions for cluster: Application Basic
-#define ZCL_APPLICATION_BASIC_CLUSTER_ID (0x050D)
-
-// Definitions for cluster: Account Login
-#define ZCL_ACCOUNT_LOGIN_CLUSTER_ID (0x050E)
-
-// Definitions for cluster: Test Cluster
-#define ZCL_TEST_CLUSTER_ID (0x050F)
-
-// Definitions for cluster: Generic Tunnel
-#define ZCL_GENERIC_TUNNEL_CLUSTER_ID (0x0600)
-
-// Definitions for cluster: BACnet Protocol Tunnel
-#define ZCL_BACNET_PROTOCOL_TUNNEL_CLUSTER_ID (0x0601)
-
-// Definitions for cluster: 11073 Protocol Tunnel
-#define ZCL_11073_PROTOCOL_TUNNEL_CLUSTER_ID (0x0614)
-
-// Definitions for cluster: ISO 7816 Protocol Tunnel
-#define ZCL_ISO7816_PROTOCOL_TUNNEL_CLUSTER_ID (0x0615)
-
-// Definitions for cluster: Price
-#define ZCL_PRICE_CLUSTER_ID (0x0700)
-
-// Definitions for cluster: Demand Response and Load Control
-#define ZCL_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER_ID (0x0701)
-
-// Definitions for cluster: Simple Metering
-#define ZCL_SIMPLE_METERING_CLUSTER_ID (0x0702)
-
-// Definitions for cluster: Messaging
-#define ZCL_MESSAGING_CLUSTER_ID (0x0703)
-
-// Definitions for cluster: Tunneling
-#define ZCL_TUNNELING_CLUSTER_ID (0x0704)
-
-// Definitions for cluster: Prepayment
-#define ZCL_PREPAYMENT_CLUSTER_ID (0x0705)
-
-// Definitions for cluster: Energy Management
-#define ZCL_ENERGY_MANAGEMENT_CLUSTER_ID (0x0706)
-
-// Definitions for cluster: Calendar
-#define ZCL_CALENDAR_CLUSTER_ID (0x0707)
-
-// Definitions for cluster: Device Management
-#define ZCL_DEVICE_MANAGEMENT_CLUSTER_ID (0x0708)
-
-// Definitions for cluster: Events
-#define ZCL_EVENTS_CLUSTER_ID (0x0709)
-
-// Definitions for cluster: MDU Pairing
-#define ZCL_MDU_PAIRING_CLUSTER_ID (0x070A)
-
-// Definitions for cluster: Sub-GHz
-#define ZCL_SUB_GHZ_CLUSTER_ID (0x070B)
-
-// Definitions for cluster: Key Establishment
-#define ZCL_KEY_ESTABLISHMENT_CLUSTER_ID (0x0800)
-
-// Definitions for cluster: Information
-#define ZCL_INFORMATION_CLUSTER_ID (0x0900)
-
-// Definitions for cluster: Data Sharing
-#define ZCL_DATA_SHARING_CLUSTER_ID (0x0901)
-
-// Definitions for cluster: Gaming
-#define ZCL_GAMING_CLUSTER_ID (0x0902)
-
-// Definitions for cluster: Data Rate Control
-#define ZCL_DATA_RATE_CONTROL_CLUSTER_ID (0x0903)
-
-// Definitions for cluster: Voice over ZigBee
-#define ZCL_VOICE_OVER_ZIGBEE_CLUSTER_ID (0x0904)
-
-// Definitions for cluster: Chatting
-#define ZCL_CHATTING_CLUSTER_ID (0x0905)
-
-// Definitions for cluster: Payment
-#define ZCL_PAYMENT_CLUSTER_ID (0x0A01)
-
-// Definitions for cluster: Billing
-#define ZCL_BILLING_CLUSTER_ID (0x0A02)
-
-// Definitions for cluster: Appliance Identification
-#define ZCL_APPLIANCE_IDENTIFICATION_CLUSTER_ID (0x0B00)
-
-// Definitions for cluster: Meter Identification
-#define ZCL_METER_IDENTIFICATION_CLUSTER_ID (0x0B01)
-
-// Definitions for cluster: Appliance Events and Alert
-#define ZCL_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_ID (0x0B02)
-
-// Definitions for cluster: Appliance Statistics
-#define ZCL_APPLIANCE_STATISTICS_CLUSTER_ID (0x0B03)
-
-// Definitions for cluster: Electrical Measurement
-#define ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID (0x0B04)
-
-// Definitions for cluster: Diagnostics
-#define ZCL_DIAGNOSTICS_CLUSTER_ID (0x0B05)
-
-// Definitions for cluster: ZLL Commissioning
-#define ZCL_ZLL_COMMISSIONING_CLUSTER_ID (0x1000)
-
-// Definitions for cluster: Binding
-#define ZCL_BINDING_CLUSTER_ID (0xF000)
-
-// Definitions for cluster: Group Key Management
-#define ZCL_GROUP_KEY_MANAGEMENT_CLUSTER_ID (0xF004)
-
-// Definitions for cluster: Sample Mfg Specific Cluster
-#define ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_ID (0xFC00)
-
-// Definitions for cluster: Sample Mfg Specific Cluster 2
-#define ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_2_ID (0xFC00)
-
-// Definitions for cluster: Configuration Cluster
-#define ZCL_OTA_CONFIGURATION_CLUSTER_ID (0xFC01)
-
-// Definitions for cluster: MFGLIB Cluster
-#define ZCL_MFGLIB_CLUSTER_ID (0xFC02)
-
-// Definitions for cluster: SL Works With All Hubs
-#define ZCL_SL_WWAH_CLUSTER_ID (0xFC57)
diff --git a/examples/chip-tool/gen/command-id.h b/examples/chip-tool/gen/command-id.h
deleted file mode 100644
index 44115fd..0000000
--- a/examples/chip-tool/gen/command-id.h
+++ /dev/null
@@ -1,888 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// Global, non-cluster-specific commands
-#define ZCL_READ_ATTRIBUTES_COMMAND_ID (0x00)
-#define ZCL_READ_ATTRIBUTES_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_WRITE_ATTRIBUTES_COMMAND_ID (0x02)
-#define ZCL_WRITE_ATTRIBUTES_UNDIVIDED_COMMAND_ID (0x03)
-#define ZCL_WRITE_ATTRIBUTES_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_WRITE_ATTRIBUTES_NO_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_CONFIGURE_REPORTING_COMMAND_ID (0x06)
-#define ZCL_CONFIGURE_REPORTING_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_READ_REPORTING_CONFIGURATION_COMMAND_ID (0x08)
-#define ZCL_READ_REPORTING_CONFIGURATION_RESPONSE_COMMAND_ID (0x09)
-#define ZCL_REPORT_ATTRIBUTES_COMMAND_ID (0x0A)
-#define ZCL_DEFAULT_RESPONSE_COMMAND_ID (0x0B)
-#define ZCL_DISCOVER_ATTRIBUTES_COMMAND_ID (0x0C)
-#define ZCL_DISCOVER_ATTRIBUTES_RESPONSE_COMMAND_ID (0x0D)
-#define ZCL_READ_ATTRIBUTES_STRUCTURED_COMMAND_ID (0x0E)
-#define ZCL_WRITE_ATTRIBUTES_STRUCTURED_COMMAND_ID (0x0F)
-#define ZCL_WRITE_ATTRIBUTES_STRUCTURED_RESPONSE_COMMAND_ID (0x10)
-#define ZCL_DISCOVER_COMMANDS_RECEIVED_COMMAND_ID (0x11)
-#define ZCL_DISCOVER_COMMANDS_RECEIVED_RESPONSE_COMMAND_ID (0x12)
-#define ZCL_DISCOVER_COMMANDS_GENERATED_COMMAND_ID (0x13)
-#define ZCL_DISCOVER_COMMANDS_GENERATED_RESPONSE_COMMAND_ID (0x14)
-#define ZCL_DISCOVER_ATTRIBUTES_EXTENDED_COMMAND_ID (0x15)
-#define ZCL_DISCOVER_ATTRIBUTES_EXTENDED_RESPONSE_COMMAND_ID (0x16)
-
-// Commands for cluster: Identify
-#define ZCL_IDENTIFY_COMMAND_ID (0x00)
-#define ZCL_IDENTIFY_QUERY_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_IDENTIFY_QUERY_COMMAND_ID (0x01)
-#define ZCL_EZ_MODE_INVOKE_COMMAND_ID (0x02)
-#define ZCL_UPDATE_COMMISSION_STATE_COMMAND_ID (0x03)
-#define ZCL_TRIGGER_EFFECT_COMMAND_ID (0x40)
-
-// Commands for cluster: Groups
-#define ZCL_ADD_GROUP_COMMAND_ID (0x00)
-#define ZCL_ADD_GROUP_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_VIEW_GROUP_COMMAND_ID (0x01)
-#define ZCL_VIEW_GROUP_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_GET_GROUP_MEMBERSHIP_COMMAND_ID (0x02)
-#define ZCL_GET_GROUP_MEMBERSHIP_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_REMOVE_GROUP_COMMAND_ID (0x03)
-#define ZCL_REMOVE_GROUP_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_REMOVE_ALL_GROUPS_COMMAND_ID (0x04)
-#define ZCL_ADD_GROUP_IF_IDENTIFYING_COMMAND_ID (0x05)
-
-// Commands for cluster: Scenes
-#define ZCL_ADD_SCENE_COMMAND_ID (0x00)
-#define ZCL_ADD_SCENE_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_VIEW_SCENE_COMMAND_ID (0x01)
-#define ZCL_VIEW_SCENE_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_REMOVE_SCENE_COMMAND_ID (0x02)
-#define ZCL_REMOVE_SCENE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_REMOVE_ALL_SCENES_COMMAND_ID (0x03)
-#define ZCL_REMOVE_ALL_SCENES_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_STORE_SCENE_COMMAND_ID (0x04)
-#define ZCL_STORE_SCENE_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_RECALL_SCENE_COMMAND_ID (0x05)
-#define ZCL_GET_SCENE_MEMBERSHIP_COMMAND_ID (0x06)
-#define ZCL_GET_SCENE_MEMBERSHIP_RESPONSE_COMMAND_ID (0x06)
-#define ZCL_ENHANCED_ADD_SCENE_COMMAND_ID (0x40)
-#define ZCL_ENHANCED_ADD_SCENE_RESPONSE_COMMAND_ID (0x40)
-#define ZCL_ENHANCED_VIEW_SCENE_COMMAND_ID (0x41)
-#define ZCL_ENHANCED_VIEW_SCENE_RESPONSE_COMMAND_ID (0x41)
-#define ZCL_COPY_SCENE_COMMAND_ID (0x42)
-#define ZCL_COPY_SCENE_RESPONSE_COMMAND_ID (0x42)
-
-// Commands for cluster: On/off
-#define ZCL_OFF_COMMAND_ID (0x00)
-#define ZCL_SAMPLE_MFG_SPECIFIC_OFF_WITH_TRANSITION_COMMAND_ID (0x00)
-#define ZCL_ON_COMMAND_ID (0x01)
-#define ZCL_SAMPLE_MFG_SPECIFIC_ON_WITH_TRANSITION_COMMAND_ID (0x01)
-#define ZCL_SAMPLE_MFG_SPECIFIC_ON_WITH_TRANSITION2_COMMAND_ID (0x01)
-#define ZCL_TOGGLE_COMMAND_ID (0x02)
-#define ZCL_SAMPLE_MFG_SPECIFIC_TOGGLE_WITH_TRANSITION_COMMAND_ID (0x02)
-#define ZCL_SAMPLE_MFG_SPECIFIC_TOGGLE_WITH_TRANSITION2_COMMAND_ID (0x02)
-#define ZCL_OFF_WITH_EFFECT_COMMAND_ID (0x40)
-#define ZCL_ON_WITH_RECALL_GLOBAL_SCENE_COMMAND_ID (0x41)
-#define ZCL_ON_WITH_TIMED_OFF_COMMAND_ID (0x42)
-
-// Commands for cluster: Level Control
-#define ZCL_MOVE_TO_LEVEL_COMMAND_ID (0x00)
-#define ZCL_MOVE_COMMAND_ID (0x01)
-#define ZCL_STEP_COMMAND_ID (0x02)
-#define ZCL_STOP_COMMAND_ID (0x03)
-#define ZCL_MOVE_TO_LEVEL_WITH_ON_OFF_COMMAND_ID (0x04)
-#define ZCL_MOVE_WITH_ON_OFF_COMMAND_ID (0x05)
-#define ZCL_STEP_WITH_ON_OFF_COMMAND_ID (0x06)
-#define ZCL_STOP_WITH_ON_OFF_COMMAND_ID (0x07)
-
-// Commands for cluster: Alarms
-#define ZCL_RESET_ALARM_COMMAND_ID (0x00)
-#define ZCL_ALARM_COMMAND_ID (0x00)
-#define ZCL_RESET_ALL_ALARMS_COMMAND_ID (0x01)
-#define ZCL_GET_ALARM_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_GET_ALARM_COMMAND_ID (0x02)
-#define ZCL_RESET_ALARM_LOG_COMMAND_ID (0x03)
-
-// Commands for cluster: RSSI Location
-#define ZCL_SET_ABSOLUTE_LOCATION_COMMAND_ID (0x00)
-#define ZCL_DEVICE_CONFIGURATION_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_SET_DEVICE_CONFIGURATION_COMMAND_ID (0x01)
-#define ZCL_LOCATION_DATA_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_GET_DEVICE_CONFIGURATION_COMMAND_ID (0x02)
-#define ZCL_LOCATION_DATA_NOTIFICATION_COMMAND_ID (0x02)
-#define ZCL_GET_LOCATION_DATA_COMMAND_ID (0x03)
-#define ZCL_COMPACT_LOCATION_DATA_NOTIFICATION_COMMAND_ID (0x03)
-#define ZCL_RSSI_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_RSSI_PING_COMMAND_ID (0x04)
-#define ZCL_SEND_PINGS_COMMAND_ID (0x05)
-#define ZCL_RSSI_REQUEST_COMMAND_ID (0x05)
-#define ZCL_ANCHOR_NODE_ANNOUNCE_COMMAND_ID (0x06)
-#define ZCL_REPORT_RSSI_MEASUREMENTS_COMMAND_ID (0x06)
-#define ZCL_REQUEST_OWN_LOCATION_COMMAND_ID (0x07)
-
-// Commands for cluster: Commissioning
-#define ZCL_RESTART_DEVICE_COMMAND_ID (0x00)
-#define ZCL_RESTART_DEVICE_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_SAVE_STARTUP_PARAMETERS_COMMAND_ID (0x01)
-#define ZCL_SAVE_STARTUP_PARAMETERS_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_RESTORE_STARTUP_PARAMETERS_COMMAND_ID (0x02)
-#define ZCL_RESTORE_STARTUP_PARAMETERS_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_RESET_STARTUP_PARAMETERS_COMMAND_ID (0x03)
-#define ZCL_RESET_STARTUP_PARAMETERS_RESPONSE_COMMAND_ID (0x03)
-
-// Commands for cluster: Partition
-#define ZCL_TRANSFER_PARTITIONED_FRAME_COMMAND_ID (0x00)
-#define ZCL_MULTIPLE_ACK_COMMAND_ID (0x00)
-#define ZCL_READ_HANDSHAKE_PARAM_COMMAND_ID (0x01)
-#define ZCL_READ_HANDSHAKE_PARAM_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_WRITE_HANDSHAKE_PARAM_COMMAND_ID (0x02)
-
-// Commands for cluster: Over the Air Bootloading
-#define ZCL_IMAGE_NOTIFY_COMMAND_ID (0x00)
-#define ZCL_QUERY_NEXT_IMAGE_REQUEST_COMMAND_ID (0x01)
-#define ZCL_QUERY_NEXT_IMAGE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_IMAGE_BLOCK_REQUEST_COMMAND_ID (0x03)
-#define ZCL_IMAGE_PAGE_REQUEST_COMMAND_ID (0x04)
-#define ZCL_IMAGE_BLOCK_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_UPGRADE_END_REQUEST_COMMAND_ID (0x06)
-#define ZCL_UPGRADE_END_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_QUERY_SPECIFIC_FILE_REQUEST_COMMAND_ID (0x08)
-#define ZCL_QUERY_SPECIFIC_FILE_RESPONSE_COMMAND_ID (0x09)
-
-// Commands for cluster: Power Profile
-#define ZCL_POWER_PROFILE_REQUEST_COMMAND_ID (0x00)
-#define ZCL_POWER_PROFILE_NOTIFICATION_COMMAND_ID (0x00)
-#define ZCL_POWER_PROFILE_STATE_REQUEST_COMMAND_ID (0x01)
-#define ZCL_POWER_PROFILE_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_GET_POWER_PROFILE_PRICE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_POWER_PROFILE_STATE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_GET_OVERALL_SCHEDULE_PRICE_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_GET_POWER_PROFILE_PRICE_COMMAND_ID (0x03)
-#define ZCL_ENERGY_PHASES_SCHEDULE_NOTIFICATION_COMMAND_ID (0x04)
-#define ZCL_POWER_PROFILES_STATE_NOTIFICATION_COMMAND_ID (0x04)
-#define ZCL_ENERGY_PHASES_SCHEDULE_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_GET_OVERALL_SCHEDULE_PRICE_COMMAND_ID (0x05)
-#define ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_REQUEST_COMMAND_ID (0x06)
-#define ZCL_ENERGY_PHASES_SCHEDULE_REQUEST_COMMAND_ID (0x06)
-#define ZCL_ENERGY_PHASES_SCHEDULE_STATE_REQUEST_COMMAND_ID (0x07)
-#define ZCL_ENERGY_PHASES_SCHEDULE_STATE_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_GET_POWER_PROFILE_PRICE_EXTENDED_RESPONSE_COMMAND_ID (0x08)
-#define ZCL_ENERGY_PHASES_SCHEDULE_STATE_NOTIFICATION_COMMAND_ID (0x08)
-#define ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_NOTIFICATION_COMMAND_ID (0x09)
-#define ZCL_POWER_PROFILE_SCHEDULE_CONSTRAINTS_RESPONSE_COMMAND_ID (0x0A)
-#define ZCL_GET_POWER_PROFILE_PRICE_EXTENDED_COMMAND_ID (0x0B)
-
-// Commands for cluster: Appliance Control
-#define ZCL_EXECUTION_OF_A_COMMAND_COMMAND_ID (0x00)
-#define ZCL_SIGNAL_STATE_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_SIGNAL_STATE_COMMAND_ID (0x01)
-#define ZCL_SIGNAL_STATE_NOTIFICATION_COMMAND_ID (0x01)
-#define ZCL_WRITE_FUNCTIONS_COMMAND_ID (0x02)
-#define ZCL_OVERLOAD_PAUSE_RESUME_COMMAND_ID (0x03)
-#define ZCL_OVERLOAD_PAUSE_COMMAND_ID (0x04)
-#define ZCL_OVERLOAD_WARNING_COMMAND_ID (0x05)
-
-// Commands for cluster: Poll Control
-#define ZCL_CHECK_IN_COMMAND_ID (0x00)
-#define ZCL_CHECK_IN_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_FAST_POLL_STOP_COMMAND_ID (0x01)
-#define ZCL_SET_LONG_POLL_INTERVAL_COMMAND_ID (0x02)
-#define ZCL_SET_SHORT_POLL_INTERVAL_COMMAND_ID (0x03)
-
-// Commands for cluster: Green Power
-#define ZCL_GP_NOTIFICATION_COMMAND_ID (0x00)
-#define ZCL_GP_NOTIFICATION_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_GP_PAIRING_SEARCH_COMMAND_ID (0x01)
-#define ZCL_GP_PAIRING_COMMAND_ID (0x01)
-#define ZCL_GP_PROXY_COMMISSIONING_MODE_COMMAND_ID (0x02)
-#define ZCL_GP_TUNNELING_STOP_COMMAND_ID (0x03)
-#define ZCL_GP_COMMISSIONING_NOTIFICATION_COMMAND_ID (0x04)
-#define ZCL_GP_SINK_COMMISSIONING_MODE_COMMAND_ID (0x05)
-#define ZCL_GP_RESPONSE_COMMAND_ID (0x06)
-#define ZCL_GP_TRANSLATION_TABLE_UPDATE_COMMAND_ID (0x07)
-#define ZCL_GP_TRANSLATION_TABLE_REQUEST_COMMAND_ID (0x08)
-#define ZCL_GP_TRANSLATION_TABLE_RESPONSE_COMMAND_ID (0x08)
-#define ZCL_GP_PAIRING_CONFIGURATION_COMMAND_ID (0x09)
-#define ZCL_GP_SINK_TABLE_REQUEST_COMMAND_ID (0x0A)
-#define ZCL_GP_SINK_TABLE_RESPONSE_COMMAND_ID (0x0A)
-#define ZCL_GP_PROXY_TABLE_RESPONSE_COMMAND_ID (0x0B)
-#define ZCL_GP_PROXY_TABLE_REQUEST_COMMAND_ID (0x0B)
-
-// Commands for cluster: Basic
-#define ZCL_START_UP_COMMAND_ID (0x00)
-#define ZCL_MFG_SPECIFIC_PING_COMMAND_ID (0x00)
-#define ZCL_SHUT_DOWN_COMMAND_ID (0x01)
-#define ZCL_LEAVE_COMMAND_ID (0x02)
-
-// Commands for cluster: OTA Software Update Server
-#define ZCL_QUERY_IMAGE_COMMAND_ID (0x00)
-#define ZCL_APPLY_UPDATE_REQUEST_COMMAND_ID (0x01)
-#define ZCL_NOTIFY_UPDATE_APPLIED_COMMAND_ID (0x02)
-#define ZCL_QUERY_IMAGE_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_APPLY_UPDATE_REQUEST_RESPONSE_COMMAND_ID (0x04)
-
-// Commands for cluster: OTA Software Update Client
-#define ZCL_ANNOUNCE_OTA_SERVER_COMMAND_ID (0x00)
-
-// Commands for cluster: General Commissioning
-#define ZCL_ARM_FAIL_SAFE_COMMAND_ID (0x00)
-#define ZCL_ARM_FAIL_SAFE_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_SET_REGULATORY_CONFIG_COMMAND_ID (0x02)
-#define ZCL_SET_REGULATORY_CONFIG_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_COMMISSIONING_COMPLETE_COMMAND_ID (0x04)
-#define ZCL_COMMISSIONING_COMPLETE_RESPONSE_COMMAND_ID (0x05)
-
-// Commands for cluster: Network Commissioning
-#define ZCL_SCAN_NETWORKS_COMMAND_ID (0x00)
-#define ZCL_SCAN_NETWORKS_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_ADD_WI_FI_NETWORK_COMMAND_ID (0x02)
-#define ZCL_ADD_WI_FI_NETWORK_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_UPDATE_WI_FI_NETWORK_COMMAND_ID (0x04)
-#define ZCL_UPDATE_WI_FI_NETWORK_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_ADD_THREAD_NETWORK_COMMAND_ID (0x06)
-#define ZCL_ADD_THREAD_NETWORK_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_UPDATE_THREAD_NETWORK_COMMAND_ID (0x08)
-#define ZCL_UPDATE_THREAD_NETWORK_RESPONSE_COMMAND_ID (0x09)
-#define ZCL_REMOVE_NETWORK_COMMAND_ID (0x0A)
-#define ZCL_REMOVE_NETWORK_RESPONSE_COMMAND_ID (0x0B)
-#define ZCL_ENABLE_NETWORK_COMMAND_ID (0x0C)
-#define ZCL_ENABLE_NETWORK_RESPONSE_COMMAND_ID (0x0D)
-#define ZCL_DISABLE_NETWORK_COMMAND_ID (0x0E)
-#define ZCL_DISABLE_NETWORK_RESPONSE_COMMAND_ID (0x0F)
-#define ZCL_GET_LAST_NETWORK_COMMISSIONING_RESULT_COMMAND_ID (0x10)
-
-// Commands for cluster: Thread Network Diagnostics
-#define ZCL_RESET_COUNTS_COMMAND_ID (0x00)
-
-// Commands for cluster: WiFi Network Diagnostics
-#define ZCL_RESET_COUNTS_COMMAND_ID (0x00)
-
-// Commands for cluster: Ethernet Network Diagnostics
-#define ZCL_RESET_COUNTS_COMMAND_ID (0x00)
-
-// Commands for cluster: Operational Credentials
-#define ZCL_SET_FABRIC_COMMAND_ID (0x00)
-#define ZCL_SET_FABRIC_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_OP_CSR_REQUEST_COMMAND_ID (0x04)
-#define ZCL_OP_CSR_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_ADD_OP_CERT_COMMAND_ID (0x06)
-#define ZCL_OP_CERT_RESPONSE_COMMAND_ID (0x08)
-#define ZCL_UPDATE_FABRIC_LABEL_COMMAND_ID (0x09)
-#define ZCL_REMOVE_FABRIC_COMMAND_ID (0x0A)
-#define ZCL_REMOVE_ALL_FABRICS_COMMAND_ID (0x0B)
-
-// Commands for cluster: Trusted Root Certificates
-#define ZCL_ADD_TRUSTED_ROOT_CERTIFICATE_COMMAND_ID (0x00)
-#define ZCL_REMOVE_TRUSTED_ROOT_CERTIFICATE_COMMAND_ID (0x01)
-
-// Commands for cluster: Door Lock
-#define ZCL_LOCK_DOOR_COMMAND_ID (0x00)
-#define ZCL_LOCK_DOOR_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_UNLOCK_DOOR_COMMAND_ID (0x01)
-#define ZCL_UNLOCK_DOOR_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_TOGGLE_COMMAND_ID (0x02)
-#define ZCL_TOGGLE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_UNLOCK_WITH_TIMEOUT_COMMAND_ID (0x03)
-#define ZCL_UNLOCK_WITH_TIMEOUT_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_GET_LOG_RECORD_COMMAND_ID (0x04)
-#define ZCL_GET_LOG_RECORD_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_SET_PIN_COMMAND_ID (0x05)
-#define ZCL_SET_PIN_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_GET_PIN_COMMAND_ID (0x06)
-#define ZCL_GET_PIN_RESPONSE_COMMAND_ID (0x06)
-#define ZCL_CLEAR_PIN_COMMAND_ID (0x07)
-#define ZCL_CLEAR_PIN_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_CLEAR_ALL_PINS_COMMAND_ID (0x08)
-#define ZCL_CLEAR_ALL_PINS_RESPONSE_COMMAND_ID (0x08)
-#define ZCL_SET_USER_STATUS_COMMAND_ID (0x09)
-#define ZCL_SET_USER_STATUS_RESPONSE_COMMAND_ID (0x09)
-#define ZCL_GET_USER_STATUS_COMMAND_ID (0x0A)
-#define ZCL_GET_USER_STATUS_RESPONSE_COMMAND_ID (0x0A)
-#define ZCL_SET_WEEKDAY_SCHEDULE_COMMAND_ID (0x0B)
-#define ZCL_SET_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x0B)
-#define ZCL_GET_WEEKDAY_SCHEDULE_COMMAND_ID (0x0C)
-#define ZCL_GET_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x0C)
-#define ZCL_CLEAR_WEEKDAY_SCHEDULE_COMMAND_ID (0x0D)
-#define ZCL_CLEAR_WEEKDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x0D)
-#define ZCL_SET_YEARDAY_SCHEDULE_COMMAND_ID (0x0E)
-#define ZCL_SET_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x0E)
-#define ZCL_GET_YEARDAY_SCHEDULE_COMMAND_ID (0x0F)
-#define ZCL_GET_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x0F)
-#define ZCL_CLEAR_YEARDAY_SCHEDULE_COMMAND_ID (0x10)
-#define ZCL_CLEAR_YEARDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x10)
-#define ZCL_SET_HOLIDAY_SCHEDULE_COMMAND_ID (0x11)
-#define ZCL_SET_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x11)
-#define ZCL_GET_HOLIDAY_SCHEDULE_COMMAND_ID (0x12)
-#define ZCL_GET_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x12)
-#define ZCL_CLEAR_HOLIDAY_SCHEDULE_COMMAND_ID (0x13)
-#define ZCL_CLEAR_HOLIDAY_SCHEDULE_RESPONSE_COMMAND_ID (0x13)
-#define ZCL_SET_USER_TYPE_COMMAND_ID (0x14)
-#define ZCL_SET_USER_TYPE_RESPONSE_COMMAND_ID (0x14)
-#define ZCL_GET_USER_TYPE_COMMAND_ID (0x15)
-#define ZCL_GET_USER_TYPE_RESPONSE_COMMAND_ID (0x15)
-#define ZCL_SET_RFID_COMMAND_ID (0x16)
-#define ZCL_SET_RFID_RESPONSE_COMMAND_ID (0x16)
-#define ZCL_GET_RFID_COMMAND_ID (0x17)
-#define ZCL_GET_RFID_RESPONSE_COMMAND_ID (0x17)
-#define ZCL_CLEAR_RFID_COMMAND_ID (0x18)
-#define ZCL_CLEAR_RFID_RESPONSE_COMMAND_ID (0x18)
-#define ZCL_CLEAR_ALL_RFIDS_COMMAND_ID (0x19)
-#define ZCL_CLEAR_ALL_RFIDS_RESPONSE_COMMAND_ID (0x19)
-#define ZCL_OPERATION_EVENT_NOTIFICATION_COMMAND_ID (0x20)
-#define ZCL_PROGRAMMING_EVENT_NOTIFICATION_COMMAND_ID (0x21)
-
-// Commands for cluster: Window Covering
-#define ZCL_WINDOW_COVERING_UP_OPEN_COMMAND_ID (0x00)
-#define ZCL_WINDOW_COVERING_DOWN_CLOSE_COMMAND_ID (0x01)
-#define ZCL_WINDOW_COVERING_STOP_COMMAND_ID (0x02)
-#define ZCL_WINDOW_COVERING_GO_TO_LIFT_VALUE_COMMAND_ID (0x04)
-#define ZCL_WINDOW_COVERING_GO_TO_LIFT_PERCENTAGE_COMMAND_ID (0x05)
-#define ZCL_WINDOW_COVERING_GO_TO_TILT_VALUE_COMMAND_ID (0x07)
-#define ZCL_WINDOW_COVERING_GO_TO_TILT_PERCENTAGE_COMMAND_ID (0x08)
-
-// Commands for cluster: Barrier Control
-#define ZCL_BARRIER_CONTROL_GO_TO_PERCENT_COMMAND_ID (0x00)
-#define ZCL_BARRIER_CONTROL_STOP_COMMAND_ID (0x01)
-
-// Commands for cluster: Thermostat
-#define ZCL_SETPOINT_RAISE_LOWER_COMMAND_ID (0x00)
-#define ZCL_CURRENT_WEEKLY_SCHEDULE_COMMAND_ID (0x00)
-#define ZCL_SET_WEEKLY_SCHEDULE_COMMAND_ID (0x01)
-#define ZCL_RELAY_STATUS_LOG_COMMAND_ID (0x01)
-#define ZCL_GET_WEEKLY_SCHEDULE_COMMAND_ID (0x02)
-#define ZCL_CLEAR_WEEKLY_SCHEDULE_COMMAND_ID (0x03)
-#define ZCL_GET_RELAY_STATUS_LOG_COMMAND_ID (0x04)
-
-// Commands for cluster: Color Control
-#define ZCL_MOVE_TO_HUE_COMMAND_ID (0x00)
-#define ZCL_MOVE_HUE_COMMAND_ID (0x01)
-#define ZCL_STEP_HUE_COMMAND_ID (0x02)
-#define ZCL_MOVE_TO_SATURATION_COMMAND_ID (0x03)
-#define ZCL_MOVE_SATURATION_COMMAND_ID (0x04)
-#define ZCL_STEP_SATURATION_COMMAND_ID (0x05)
-#define ZCL_MOVE_TO_HUE_AND_SATURATION_COMMAND_ID (0x06)
-#define ZCL_MOVE_TO_COLOR_COMMAND_ID (0x07)
-#define ZCL_MOVE_COLOR_COMMAND_ID (0x08)
-#define ZCL_STEP_COLOR_COMMAND_ID (0x09)
-#define ZCL_MOVE_TO_COLOR_TEMPERATURE_COMMAND_ID (0x0A)
-#define ZCL_ENHANCED_MOVE_TO_HUE_COMMAND_ID (0x40)
-#define ZCL_ENHANCED_MOVE_HUE_COMMAND_ID (0x41)
-#define ZCL_ENHANCED_STEP_HUE_COMMAND_ID (0x42)
-#define ZCL_ENHANCED_MOVE_TO_HUE_AND_SATURATION_COMMAND_ID (0x43)
-#define ZCL_COLOR_LOOP_SET_COMMAND_ID (0x44)
-#define ZCL_STOP_MOVE_STEP_COMMAND_ID (0x47)
-#define ZCL_MOVE_COLOR_TEMPERATURE_COMMAND_ID (0x4B)
-#define ZCL_STEP_COLOR_TEMPERATURE_COMMAND_ID (0x4C)
-
-// Commands for cluster: IAS Zone
-#define ZCL_ZONE_ENROLL_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_ZONE_STATUS_CHANGE_NOTIFICATION_COMMAND_ID (0x00)
-#define ZCL_INITIATE_NORMAL_OPERATION_MODE_COMMAND_ID (0x01)
-#define ZCL_ZONE_ENROLL_REQUEST_COMMAND_ID (0x01)
-#define ZCL_INITIATE_TEST_MODE_COMMAND_ID (0x02)
-#define ZCL_INITIATE_NORMAL_OPERATION_MODE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_INITIATE_TEST_MODE_RESPONSE_COMMAND_ID (0x03)
-
-// Commands for cluster: IAS ACE
-#define ZCL_ARM_COMMAND_ID (0x00)
-#define ZCL_ARM_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_BYPASS_COMMAND_ID (0x01)
-#define ZCL_GET_ZONE_ID_MAP_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_EMERGENCY_COMMAND_ID (0x02)
-#define ZCL_GET_ZONE_INFORMATION_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_FIRE_COMMAND_ID (0x03)
-#define ZCL_ZONE_STATUS_CHANGED_COMMAND_ID (0x03)
-#define ZCL_PANIC_COMMAND_ID (0x04)
-#define ZCL_PANEL_STATUS_CHANGED_COMMAND_ID (0x04)
-#define ZCL_GET_ZONE_ID_MAP_COMMAND_ID (0x05)
-#define ZCL_GET_PANEL_STATUS_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_GET_ZONE_INFORMATION_COMMAND_ID (0x06)
-#define ZCL_SET_BYPASSED_ZONE_LIST_COMMAND_ID (0x06)
-#define ZCL_GET_PANEL_STATUS_COMMAND_ID (0x07)
-#define ZCL_BYPASS_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_GET_BYPASSED_ZONE_LIST_COMMAND_ID (0x08)
-#define ZCL_GET_ZONE_STATUS_RESPONSE_COMMAND_ID (0x08)
-#define ZCL_GET_ZONE_STATUS_COMMAND_ID (0x09)
-
-// Commands for cluster: IAS WD
-#define ZCL_START_WARNING_COMMAND_ID (0x00)
-#define ZCL_SQUAWK_COMMAND_ID (0x01)
-
-// Commands for cluster: TV Channel
-#define ZCL_CHANGE_CHANNEL_COMMAND_ID (0x00)
-#define ZCL_CHANGE_CHANNEL_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_CHANGE_CHANNEL_BY_NUMBER_COMMAND_ID (0x01)
-#define ZCL_SKIP_CHANNEL_COMMAND_ID (0x02)
-
-// Commands for cluster: Target Navigator
-#define ZCL_NAVIGATE_TARGET_COMMAND_ID (0x00)
-#define ZCL_NAVIGATE_TARGET_RESPONSE_COMMAND_ID (0x00)
-
-// Commands for cluster: Media Playback
-#define ZCL_MEDIA_PLAY_COMMAND_ID (0x00)
-#define ZCL_MEDIA_PLAY_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_MEDIA_PAUSE_COMMAND_ID (0x01)
-#define ZCL_MEDIA_PAUSE_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_MEDIA_STOP_COMMAND_ID (0x02)
-#define ZCL_MEDIA_STOP_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_MEDIA_START_OVER_COMMAND_ID (0x03)
-#define ZCL_MEDIA_START_OVER_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_MEDIA_PREVIOUS_COMMAND_ID (0x04)
-#define ZCL_MEDIA_PREVIOUS_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_MEDIA_NEXT_COMMAND_ID (0x05)
-#define ZCL_MEDIA_NEXT_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_MEDIA_REWIND_COMMAND_ID (0x06)
-#define ZCL_MEDIA_REWIND_RESPONSE_COMMAND_ID (0x06)
-#define ZCL_MEDIA_FAST_FORWARD_COMMAND_ID (0x07)
-#define ZCL_MEDIA_FAST_FORWARD_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_MEDIA_SKIP_FORWARD_COMMAND_ID (0x08)
-#define ZCL_MEDIA_SKIP_FORWARD_RESPONSE_COMMAND_ID (0x08)
-#define ZCL_MEDIA_SKIP_BACKWARD_COMMAND_ID (0x09)
-#define ZCL_MEDIA_SKIP_BACKWARD_RESPONSE_COMMAND_ID (0x09)
-#define ZCL_MEDIA_SKIP_SEEK_COMMAND_ID (0x0A)
-#define ZCL_MEDIA_SKIP_SEEK_RESPONSE_COMMAND_ID (0x0A)
-
-// Commands for cluster: Media Input
-#define ZCL_SELECT_INPUT_COMMAND_ID (0x00)
-#define ZCL_SHOW_INPUT_STATUS_COMMAND_ID (0x01)
-#define ZCL_HIDE_INPUT_STATUS_COMMAND_ID (0x02)
-#define ZCL_RENAME_INPUT_COMMAND_ID (0x03)
-
-// Commands for cluster: Low Power
-#define ZCL_SLEEP_COMMAND_ID (0x00)
-
-// Commands for cluster: Keypad Input
-#define ZCL_SEND_KEY_COMMAND_ID (0x00)
-#define ZCL_SEND_KEY_RESPONSE_COMMAND_ID (0x00)
-
-// Commands for cluster: Content Launch
-#define ZCL_LAUNCH_CONTENT_COMMAND_ID (0x00)
-#define ZCL_LAUNCH_CONTENT_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_LAUNCH_URL_COMMAND_ID (0x01)
-#define ZCL_LAUNCH_URL_RESPONSE_COMMAND_ID (0x01)
-
-// Commands for cluster: Audio Output
-#define ZCL_SELECT_OUTPUT_COMMAND_ID (0x00)
-#define ZCL_RENAME_OUTPUT_COMMAND_ID (0x01)
-
-// Commands for cluster: Application Launcher
-#define ZCL_LAUNCH_APP_COMMAND_ID (0x00)
-#define ZCL_LAUNCH_APP_RESPONSE_COMMAND_ID (0x00)
-
-// Commands for cluster: Account Login
-#define ZCL_GET_SETUP_PIN_COMMAND_ID (0x00)
-#define ZCL_GET_SETUP_PIN_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_LOGIN_COMMAND_ID (0x01)
-
-// Commands for cluster: Test Cluster
-#define ZCL_TEST_COMMAND_ID (0x00)
-#define ZCL_TEST_SPECIFIC_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_TEST_NOT_HANDLED_COMMAND_ID (0x01)
-#define ZCL_TEST_SPECIFIC_COMMAND_ID (0x02)
-
-// Commands for cluster: Generic Tunnel
-#define ZCL_MATCH_PROTOCOL_ADDRESS_COMMAND_ID (0x00)
-#define ZCL_MATCH_PROTOCOL_ADDRESS_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_ADVERTISE_PROTOCOL_ADDRESS_COMMAND_ID (0x01)
-
-// Commands for cluster: BACnet Protocol Tunnel
-#define ZCL_TRANSFER_NPDU_COMMAND_ID (0x00)
-
-// Commands for cluster: 11073 Protocol Tunnel
-#define ZCL_TRANSFER_APDU_COMMAND_ID (0x00)
-#define ZCL_CONNECT_REQUEST_COMMAND_ID (0x01)
-#define ZCL_DISCONNECT_REQUEST_COMMAND_ID (0x02)
-#define ZCL_CONNECT_STATUS_NOTIFICATION_COMMAND_ID (0x03)
-
-// Commands for cluster: ISO 7816 Protocol Tunnel
-#define ZCL_TRANSFER_APDU_COMMAND_ID (0x00)
-#define ZCL_INSERT_SMART_CARD_COMMAND_ID (0x01)
-#define ZCL_EXTRACT_SMART_CARD_COMMAND_ID (0x02)
-
-// Commands for cluster: Price
-#define ZCL_PUBLISH_PRICE_COMMAND_ID (0x00)
-#define ZCL_GET_CURRENT_PRICE_COMMAND_ID (0x00)
-#define ZCL_PUBLISH_BLOCK_PERIOD_COMMAND_ID (0x01)
-#define ZCL_GET_SCHEDULED_PRICES_COMMAND_ID (0x01)
-#define ZCL_PUBLISH_CONVERSION_FACTOR_COMMAND_ID (0x02)
-#define ZCL_PRICE_ACKNOWLEDGEMENT_COMMAND_ID (0x02)
-#define ZCL_PUBLISH_CALORIFIC_VALUE_COMMAND_ID (0x03)
-#define ZCL_GET_BLOCK_PERIODS_COMMAND_ID (0x03)
-#define ZCL_PUBLISH_TARIFF_INFORMATION_COMMAND_ID (0x04)
-#define ZCL_GET_CONVERSION_FACTOR_COMMAND_ID (0x04)
-#define ZCL_PUBLISH_PRICE_MATRIX_COMMAND_ID (0x05)
-#define ZCL_GET_CALORIFIC_VALUE_COMMAND_ID (0x05)
-#define ZCL_PUBLISH_BLOCK_THRESHOLDS_COMMAND_ID (0x06)
-#define ZCL_GET_TARIFF_INFORMATION_COMMAND_ID (0x06)
-#define ZCL_PUBLISH_CO2_VALUE_COMMAND_ID (0x07)
-#define ZCL_GET_PRICE_MATRIX_COMMAND_ID (0x07)
-#define ZCL_PUBLISH_TIER_LABELS_COMMAND_ID (0x08)
-#define ZCL_GET_BLOCK_THRESHOLDS_COMMAND_ID (0x08)
-#define ZCL_PUBLISH_BILLING_PERIOD_COMMAND_ID (0x09)
-#define ZCL_GET_CO2_VALUE_COMMAND_ID (0x09)
-#define ZCL_PUBLISH_CONSOLIDATED_BILL_COMMAND_ID (0x0A)
-#define ZCL_GET_TIER_LABELS_COMMAND_ID (0x0A)
-#define ZCL_PUBLISH_CPP_EVENT_COMMAND_ID (0x0B)
-#define ZCL_GET_BILLING_PERIOD_COMMAND_ID (0x0B)
-#define ZCL_PUBLISH_CREDIT_PAYMENT_COMMAND_ID (0x0C)
-#define ZCL_GET_CONSOLIDATED_BILL_COMMAND_ID (0x0C)
-#define ZCL_PUBLISH_CURRENCY_CONVERSION_COMMAND_ID (0x0D)
-#define ZCL_CPP_EVENT_RESPONSE_COMMAND_ID (0x0D)
-#define ZCL_CANCEL_TARIFF_COMMAND_ID (0x0E)
-#define ZCL_GET_CREDIT_PAYMENT_COMMAND_ID (0x0E)
-#define ZCL_GET_CURRENCY_CONVERSION_COMMAND_COMMAND_ID (0x0F)
-#define ZCL_GET_TARIFF_CANCELLATION_COMMAND_ID (0x10)
-
-// Commands for cluster: Demand Response and Load Control
-#define ZCL_LOAD_CONTROL_EVENT_COMMAND_ID (0x00)
-#define ZCL_REPORT_EVENT_STATUS_COMMAND_ID (0x00)
-#define ZCL_CANCEL_LOAD_CONTROL_EVENT_COMMAND_ID (0x01)
-#define ZCL_GET_SCHEDULED_EVENTS_COMMAND_ID (0x01)
-#define ZCL_CANCEL_ALL_LOAD_CONTROL_EVENTS_COMMAND_ID (0x02)
-
-// Commands for cluster: Simple Metering
-#define ZCL_GET_PROFILE_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_GET_PROFILE_COMMAND_ID (0x00)
-#define ZCL_REQUEST_MIRROR_COMMAND_ID (0x01)
-#define ZCL_REQUEST_MIRROR_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_REMOVE_MIRROR_COMMAND_ID (0x02)
-#define ZCL_MIRROR_REMOVED_COMMAND_ID (0x02)
-#define ZCL_REQUEST_FAST_POLL_MODE_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_REQUEST_FAST_POLL_MODE_COMMAND_ID (0x03)
-#define ZCL_SCHEDULE_SNAPSHOT_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_SCHEDULE_SNAPSHOT_COMMAND_ID (0x04)
-#define ZCL_TAKE_SNAPSHOT_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_TAKE_SNAPSHOT_COMMAND_ID (0x05)
-#define ZCL_PUBLISH_SNAPSHOT_COMMAND_ID (0x06)
-#define ZCL_GET_SNAPSHOT_COMMAND_ID (0x06)
-#define ZCL_GET_SAMPLED_DATA_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_START_SAMPLING_COMMAND_ID (0x07)
-#define ZCL_CONFIGURE_MIRROR_COMMAND_ID (0x08)
-#define ZCL_GET_SAMPLED_DATA_COMMAND_ID (0x08)
-#define ZCL_CONFIGURE_NOTIFICATION_SCHEME_COMMAND_ID (0x09)
-#define ZCL_MIRROR_REPORT_ATTRIBUTE_RESPONSE_COMMAND_ID (0x09)
-#define ZCL_CONFIGURE_NOTIFICATION_FLAGS_COMMAND_ID (0x0A)
-#define ZCL_RESET_LOAD_LIMIT_COUNTER_COMMAND_ID (0x0A)
-#define ZCL_GET_NOTIFIED_MESSAGE_COMMAND_ID (0x0B)
-#define ZCL_CHANGE_SUPPLY_COMMAND_ID (0x0B)
-#define ZCL_SUPPLY_STATUS_RESPONSE_COMMAND_ID (0x0C)
-#define ZCL_LOCAL_CHANGE_SUPPLY_COMMAND_ID (0x0C)
-#define ZCL_START_SAMPLING_RESPONSE_COMMAND_ID (0x0D)
-#define ZCL_SET_SUPPLY_STATUS_COMMAND_ID (0x0D)
-#define ZCL_SET_UNCONTROLLED_FLOW_THRESHOLD_COMMAND_ID (0x0E)
-
-// Commands for cluster: Messaging
-#define ZCL_DISPLAY_MESSAGE_COMMAND_ID (0x00)
-#define ZCL_GET_LAST_MESSAGE_COMMAND_ID (0x00)
-#define ZCL_CANCEL_MESSAGE_COMMAND_ID (0x01)
-#define ZCL_MESSAGE_CONFIRMATION_COMMAND_ID (0x01)
-#define ZCL_DISPLAY_PROTECTED_MESSAGE_COMMAND_ID (0x02)
-#define ZCL_GET_MESSAGE_CANCELLATION_COMMAND_ID (0x02)
-#define ZCL_CANCEL_ALL_MESSAGES_COMMAND_ID (0x03)
-
-// Commands for cluster: Tunneling
-#define ZCL_REQUEST_TUNNEL_COMMAND_ID (0x00)
-#define ZCL_REQUEST_TUNNEL_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_CLOSE_TUNNEL_COMMAND_ID (0x01)
-#define ZCL_TRANSFER_DATA_SERVER_TO_CLIENT_COMMAND_ID (0x01)
-#define ZCL_TRANSFER_DATA_CLIENT_TO_SERVER_COMMAND_ID (0x02)
-#define ZCL_TRANSFER_DATA_ERROR_SERVER_TO_CLIENT_COMMAND_ID (0x02)
-#define ZCL_TRANSFER_DATA_ERROR_CLIENT_TO_SERVER_COMMAND_ID (0x03)
-#define ZCL_ACK_TRANSFER_DATA_SERVER_TO_CLIENT_COMMAND_ID (0x03)
-#define ZCL_ACK_TRANSFER_DATA_CLIENT_TO_SERVER_COMMAND_ID (0x04)
-#define ZCL_READY_DATA_SERVER_TO_CLIENT_COMMAND_ID (0x04)
-#define ZCL_READY_DATA_CLIENT_TO_SERVER_COMMAND_ID (0x05)
-#define ZCL_SUPPORTED_TUNNEL_PROTOCOLS_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_GET_SUPPORTED_TUNNEL_PROTOCOLS_COMMAND_ID (0x06)
-#define ZCL_TUNNEL_CLOSURE_NOTIFICATION_COMMAND_ID (0x06)
-
-// Commands for cluster: Prepayment
-#define ZCL_SELECT_AVAILABLE_EMERGENCY_CREDIT_COMMAND_ID (0x00)
-#define ZCL_PUBLISH_PREPAY_SNAPSHOT_COMMAND_ID (0x01)
-#define ZCL_CHANGE_DEBT_COMMAND_ID (0x02)
-#define ZCL_CHANGE_PAYMENT_MODE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_EMERGENCY_CREDIT_SETUP_COMMAND_ID (0x03)
-#define ZCL_CONSUMER_TOP_UP_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_CONSUMER_TOP_UP_COMMAND_ID (0x04)
-#define ZCL_CREDIT_ADJUSTMENT_COMMAND_ID (0x05)
-#define ZCL_PUBLISH_TOP_UP_LOG_COMMAND_ID (0x05)
-#define ZCL_CHANGE_PAYMENT_MODE_COMMAND_ID (0x06)
-#define ZCL_PUBLISH_DEBT_LOG_COMMAND_ID (0x06)
-#define ZCL_GET_PREPAY_SNAPSHOT_COMMAND_ID (0x07)
-#define ZCL_GET_TOP_UP_LOG_COMMAND_ID (0x08)
-#define ZCL_SET_LOW_CREDIT_WARNING_LEVEL_COMMAND_ID (0x09)
-#define ZCL_GET_DEBT_REPAYMENT_LOG_COMMAND_ID (0x0A)
-#define ZCL_SET_MAXIMUM_CREDIT_LIMIT_COMMAND_ID (0x0B)
-#define ZCL_SET_OVERALL_DEBT_CAP_COMMAND_ID (0x0C)
-
-// Commands for cluster: Energy Management
-#define ZCL_REPORT_EVENT_STATUS_COMMAND_ID (0x00)
-#define ZCL_MANAGE_EVENT_COMMAND_ID (0x00)
-
-// Commands for cluster: Calendar
-#define ZCL_PUBLISH_CALENDAR_COMMAND_ID (0x00)
-#define ZCL_GET_CALENDAR_COMMAND_ID (0x00)
-#define ZCL_PUBLISH_DAY_PROFILE_COMMAND_ID (0x01)
-#define ZCL_GET_DAY_PROFILES_COMMAND_ID (0x01)
-#define ZCL_PUBLISH_WEEK_PROFILE_COMMAND_ID (0x02)
-#define ZCL_GET_WEEK_PROFILES_COMMAND_ID (0x02)
-#define ZCL_PUBLISH_SEASONS_COMMAND_ID (0x03)
-#define ZCL_GET_SEASONS_COMMAND_ID (0x03)
-#define ZCL_PUBLISH_SPECIAL_DAYS_COMMAND_ID (0x04)
-#define ZCL_GET_SPECIAL_DAYS_COMMAND_ID (0x04)
-#define ZCL_CANCEL_CALENDAR_COMMAND_ID (0x05)
-#define ZCL_GET_CALENDAR_CANCELLATION_COMMAND_ID (0x05)
-
-// Commands for cluster: Device Management
-#define ZCL_GET_CHANGE_OF_TENANCY_COMMAND_ID (0x00)
-#define ZCL_PUBLISH_CHANGE_OF_TENANCY_COMMAND_ID (0x00)
-#define ZCL_GET_CHANGE_OF_SUPPLIER_COMMAND_ID (0x01)
-#define ZCL_PUBLISH_CHANGE_OF_SUPPLIER_COMMAND_ID (0x01)
-#define ZCL_REQUEST_NEW_PASSWORD_COMMAND_ID (0x02)
-#define ZCL_REQUEST_NEW_PASSWORD_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_GET_SITE_ID_COMMAND_ID (0x03)
-#define ZCL_UPDATE_SITE_ID_COMMAND_ID (0x03)
-#define ZCL_REPORT_EVENT_CONFIGURATION_COMMAND_ID (0x04)
-#define ZCL_SET_EVENT_CONFIGURATION_COMMAND_ID (0x04)
-#define ZCL_GET_CIN_COMMAND_ID (0x05)
-#define ZCL_GET_EVENT_CONFIGURATION_COMMAND_ID (0x05)
-#define ZCL_UPDATE_CIN_COMMAND_ID (0x06)
-
-// Commands for cluster: Events
-#define ZCL_GET_EVENT_LOG_COMMAND_ID (0x00)
-#define ZCL_PUBLISH_EVENT_COMMAND_ID (0x00)
-#define ZCL_CLEAR_EVENT_LOG_REQUEST_COMMAND_ID (0x01)
-#define ZCL_PUBLISH_EVENT_LOG_COMMAND_ID (0x01)
-#define ZCL_CLEAR_EVENT_LOG_RESPONSE_COMMAND_ID (0x02)
-
-// Commands for cluster: MDU Pairing
-#define ZCL_PAIRING_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_PAIRING_REQUEST_COMMAND_ID (0x00)
-
-// Commands for cluster: Sub-GHz
-#define ZCL_SUSPEND_ZCL_MESSAGES_COMMAND_ID (0x00)
-#define ZCL_GET_SUSPEND_ZCL_MESSAGES_STATUS_COMMAND_ID (0x00)
-
-// Commands for cluster: Key Establishment
-#define ZCL_INITIATE_KEY_ESTABLISHMENT_REQUEST_COMMAND_ID (0x00)
-#define ZCL_INITIATE_KEY_ESTABLISHMENT_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_EPHEMERAL_DATA_REQUEST_COMMAND_ID (0x01)
-#define ZCL_EPHEMERAL_DATA_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_CONFIRM_KEY_DATA_REQUEST_COMMAND_ID (0x02)
-#define ZCL_CONFIRM_KEY_DATA_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_TERMINATE_KEY_ESTABLISHMENT_COMMAND_ID (0x03)
-
-// Commands for cluster: Information
-#define ZCL_REQUEST_INFORMATION_COMMAND_ID (0x00)
-#define ZCL_REQUEST_INFORMATION_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_PUSH_INFORMATION_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_PUSH_INFORMATION_COMMAND_ID (0x01)
-#define ZCL_SEND_PREFERENCE_COMMAND_ID (0x02)
-#define ZCL_SEND_PREFERENCE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_REQUEST_PREFERENCE_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_SERVER_REQUEST_PREFERENCE_COMMAND_ID (0x03)
-#define ZCL_UPDATE_COMMAND_ID (0x04)
-#define ZCL_REQUEST_PREFERENCE_CONFIRMATION_COMMAND_ID (0x04)
-#define ZCL_DELETE_COMMAND_ID (0x05)
-#define ZCL_UPDATE_RESPONSE_COMMAND_ID (0x05)
-#define ZCL_CONFIGURE_NODE_DESCRIPTION_COMMAND_ID (0x06)
-#define ZCL_DELETE_RESPONSE_COMMAND_ID (0x06)
-#define ZCL_CONFIGURE_DELIVERY_ENABLE_COMMAND_ID (0x07)
-#define ZCL_CONFIGURE_PUSH_INFORMATION_TIMER_COMMAND_ID (0x08)
-#define ZCL_CONFIGURE_SET_ROOT_ID_COMMAND_ID (0x09)
-
-// Commands for cluster: Data Sharing
-#define ZCL_READ_FILE_REQUEST_COMMAND_ID (0x00)
-#define ZCL_WRITE_FILE_REQUEST_COMMAND_ID (0x00)
-#define ZCL_READ_RECORD_REQUEST_COMMAND_ID (0x01)
-#define ZCL_MODIFY_FILE_REQUEST_COMMAND_ID (0x01)
-#define ZCL_WRITE_FILE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_MODIFY_RECORD_REQUEST_COMMAND_ID (0x02)
-#define ZCL_FILE_TRANSMISSION_COMMAND_ID (0x03)
-#define ZCL_RECORD_TRANSMISSION_COMMAND_ID (0x04)
-
-// Commands for cluster: Gaming
-#define ZCL_SEARCH_GAME_COMMAND_ID (0x00)
-#define ZCL_GAME_ANNOUNCEMENT_COMMAND_ID (0x00)
-#define ZCL_JOIN_GAME_COMMAND_ID (0x01)
-#define ZCL_GENERAL_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_START_GAME_COMMAND_ID (0x02)
-#define ZCL_PAUSE_GAME_COMMAND_ID (0x03)
-#define ZCL_RESUME_GAME_COMMAND_ID (0x04)
-#define ZCL_QUIT_GAME_COMMAND_ID (0x05)
-#define ZCL_END_GAME_COMMAND_ID (0x06)
-#define ZCL_START_OVER_COMMAND_ID (0x07)
-#define ZCL_ACTION_CONTROL_COMMAND_ID (0x08)
-#define ZCL_DOWNLOAD_GAME_COMMAND_ID (0x09)
-
-// Commands for cluster: Data Rate Control
-#define ZCL_PATH_CREATION_COMMAND_ID (0x00)
-#define ZCL_DATA_RATE_CONTROL_COMMAND_ID (0x00)
-#define ZCL_DATA_RATE_NOTIFICATION_COMMAND_ID (0x01)
-#define ZCL_PATH_DELETION_COMMAND_ID (0x02)
-
-// Commands for cluster: Voice over ZigBee
-#define ZCL_ESTABLISHMENT_REQUEST_COMMAND_ID (0x00)
-#define ZCL_ESTABLISHMENT_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_VOICE_TRANSMISSION_COMMAND_ID (0x01)
-#define ZCL_VOICE_TRANSMISSION_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_VOICE_TRANSMISSION_COMPLETION_COMMAND_ID (0x02)
-#define ZCL_CONTROL_COMMAND_ID (0x02)
-#define ZCL_CONTROL_RESPONSE_COMMAND_ID (0x03)
-
-// Commands for cluster: Chatting
-#define ZCL_JOIN_CHAT_REQUEST_COMMAND_ID (0x00)
-#define ZCL_START_CHAT_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_LEAVE_CHAT_REQUEST_COMMAND_ID (0x01)
-#define ZCL_JOIN_CHAT_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_SEARCH_CHAT_REQUEST_COMMAND_ID (0x02)
-#define ZCL_USER_LEFT_COMMAND_ID (0x02)
-#define ZCL_SWITCH_CHAIRMAN_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_USER_JOINED_COMMAND_ID (0x03)
-#define ZCL_START_CHAT_REQUEST_COMMAND_ID (0x04)
-#define ZCL_SEARCH_CHAT_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_CHAT_MESSAGE_COMMAND_ID (0x05)
-#define ZCL_SWITCH_CHAIRMAN_REQUEST_COMMAND_ID (0x05)
-#define ZCL_GET_NODE_INFORMATION_REQUEST_COMMAND_ID (0x06)
-#define ZCL_SWITCH_CHAIRMAN_CONFIRM_COMMAND_ID (0x06)
-#define ZCL_SWITCH_CHAIRMAN_NOTIFICATION_COMMAND_ID (0x07)
-#define ZCL_GET_NODE_INFORMATION_RESPONSE_COMMAND_ID (0x08)
-
-// Commands for cluster: Payment
-#define ZCL_BUY_REQUEST_COMMAND_ID (0x00)
-#define ZCL_BUY_CONFIRM_COMMAND_ID (0x00)
-#define ZCL_ACCEPT_PAYMENT_COMMAND_ID (0x01)
-#define ZCL_RECEIPT_DELIVERY_COMMAND_ID (0x01)
-#define ZCL_PAYMENT_CONFIRM_COMMAND_ID (0x02)
-#define ZCL_TRANSACTION_END_COMMAND_ID (0x02)
-
-// Commands for cluster: Billing
-#define ZCL_SUBSCRIBE_COMMAND_ID (0x00)
-#define ZCL_CHECK_BILL_STATUS_COMMAND_ID (0x00)
-#define ZCL_UNSUBSCRIBE_COMMAND_ID (0x01)
-#define ZCL_SEND_BILL_RECORD_COMMAND_ID (0x01)
-#define ZCL_START_BILLING_SESSION_COMMAND_ID (0x02)
-#define ZCL_STOP_BILLING_SESSION_COMMAND_ID (0x03)
-#define ZCL_BILL_STATUS_NOTIFICATION_COMMAND_ID (0x04)
-#define ZCL_SESSION_KEEP_ALIVE_COMMAND_ID (0x05)
-
-// Commands for cluster: Appliance Events and Alert
-#define ZCL_GET_ALERTS_COMMAND_ID (0x00)
-#define ZCL_GET_ALERTS_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_ALERTS_NOTIFICATION_COMMAND_ID (0x01)
-#define ZCL_EVENTS_NOTIFICATION_COMMAND_ID (0x02)
-
-// Commands for cluster: Appliance Statistics
-#define ZCL_LOG_NOTIFICATION_COMMAND_ID (0x00)
-#define ZCL_LOG_REQUEST_COMMAND_ID (0x00)
-#define ZCL_LOG_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_LOG_QUEUE_REQUEST_COMMAND_ID (0x01)
-#define ZCL_LOG_QUEUE_RESPONSE_COMMAND_ID (0x02)
-#define ZCL_STATISTICS_AVAILABLE_COMMAND_ID (0x03)
-
-// Commands for cluster: Electrical Measurement
-#define ZCL_GET_PROFILE_INFO_RESPONSE_COMMAND_COMMAND_ID (0x00)
-#define ZCL_GET_PROFILE_INFO_COMMAND_COMMAND_ID (0x00)
-#define ZCL_GET_MEASUREMENT_PROFILE_RESPONSE_COMMAND_COMMAND_ID (0x01)
-#define ZCL_GET_MEASUREMENT_PROFILE_COMMAND_COMMAND_ID (0x01)
-
-// Commands for cluster: ZLL Commissioning
-#define ZCL_SCAN_REQUEST_COMMAND_ID (0x00)
-#define ZCL_SCAN_RESPONSE_COMMAND_ID (0x01)
-#define ZCL_DEVICE_INFORMATION_REQUEST_COMMAND_ID (0x02)
-#define ZCL_DEVICE_INFORMATION_RESPONSE_COMMAND_ID (0x03)
-#define ZCL_IDENTIFY_REQUEST_COMMAND_ID (0x06)
-#define ZCL_RESET_TO_FACTORY_NEW_REQUEST_COMMAND_ID (0x07)
-#define ZCL_NETWORK_START_REQUEST_COMMAND_ID (0x10)
-#define ZCL_NETWORK_START_RESPONSE_COMMAND_ID (0x11)
-#define ZCL_NETWORK_JOIN_ROUTER_REQUEST_COMMAND_ID (0x12)
-#define ZCL_NETWORK_JOIN_ROUTER_RESPONSE_COMMAND_ID (0x13)
-#define ZCL_NETWORK_JOIN_END_DEVICE_REQUEST_COMMAND_ID (0x14)
-#define ZCL_NETWORK_JOIN_END_DEVICE_RESPONSE_COMMAND_ID (0x15)
-#define ZCL_NETWORK_UPDATE_REQUEST_COMMAND_ID (0x16)
-#define ZCL_ENDPOINT_INFORMATION_COMMAND_ID (0x40)
-#define ZCL_GET_GROUP_IDENTIFIERS_REQUEST_COMMAND_ID (0x41)
-#define ZCL_GET_GROUP_IDENTIFIERS_RESPONSE_COMMAND_ID (0x41)
-#define ZCL_GET_ENDPOINT_LIST_REQUEST_COMMAND_ID (0x42)
-#define ZCL_GET_ENDPOINT_LIST_RESPONSE_COMMAND_ID (0x42)
-
-// Commands for cluster: Binding
-#define ZCL_BIND_COMMAND_ID (0x00)
-#define ZCL_UNBIND_COMMAND_ID (0x01)
-
-// Commands for cluster: Sample Mfg Specific Cluster
-#define ZCL_COMMAND_ONE_COMMAND_ID (0x00)
-
-// Commands for cluster: Sample Mfg Specific Cluster 2
-#define ZCL_COMMAND_TWO_COMMAND_ID (0x00)
-
-// Commands for cluster: Configuration Cluster
-#define ZCL_SET_TOKEN_COMMAND_ID (0x00)
-#define ZCL_RETURN_TOKEN_COMMAND_ID (0x00)
-#define ZCL_LOCK_TOKENS_COMMAND_ID (0x01)
-#define ZCL_READ_TOKENS_COMMAND_ID (0x02)
-#define ZCL_UNLOCK_TOKENS_COMMAND_ID (0x03)
-
-// Commands for cluster: MFGLIB Cluster
-#define ZCL_STREAM_COMMAND_ID (0x00)
-#define ZCL_TONE_COMMAND_ID (0x01)
-#define ZCL_RX_MODE_COMMAND_ID (0x02)
-
-// Commands for cluster: SL Works With All Hubs
-#define ZCL_ENABLE_APS_LINK_KEY_AUTHORIZATION_COMMAND_ID (0x00)
-#define ZCL_APS_LINK_KEY_AUTHORIZATION_QUERY_RESPONSE_COMMAND_ID (0x00)
-#define ZCL_DISABLE_APS_LINK_KEY_AUTHORIZATION_COMMAND_ID (0x01)
-#define ZCL_POWERING_OFF_NOTIFICATION_COMMAND_ID (0x01)
-#define ZCL_APS_LINK_KEY_AUTHORIZATION_QUERY_COMMAND_ID (0x02)
-#define ZCL_POWERING_ON_NOTIFICATION_COMMAND_ID (0x02)
-#define ZCL_REQUEST_NEW_APS_LINK_KEY_COMMAND_ID (0x03)
-#define ZCL_SHORT_ADDRESS_CHANGE_COMMAND_ID (0x03)
-#define ZCL_ENABLE_WWAH_APP_EVENT_RETRY_ALGORITHM_COMMAND_ID (0x04)
-#define ZCL_APS_ACK_ENABLEMENT_QUERY_RESPONSE_COMMAND_ID (0x04)
-#define ZCL_DISABLE_WWAH_APP_EVENT_RETRY_ALGORITHM_COMMAND_ID (0x05)
-#define ZCL_POWER_DESCRIPTOR_CHANGE_COMMAND_ID (0x05)
-#define ZCL_REQUEST_TIME_COMMAND_ID (0x06)
-#define ZCL_NEW_DEBUG_REPORT_NOTIFICATION_COMMAND_ID (0x06)
-#define ZCL_ENABLE_WWAH_REJOIN_ALGORITHM_COMMAND_ID (0x07)
-#define ZCL_DEBUG_REPORT_QUERY_RESPONSE_COMMAND_ID (0x07)
-#define ZCL_DISABLE_WWAH_REJOIN_ALGORITHM_COMMAND_ID (0x08)
-#define ZCL_TRUST_CENTER_FOR_CLUSTER_SERVER_QUERY_RESPONSE_COMMAND_ID (0x08)
-#define ZCL_SET_IAS_ZONE_ENROLLMENT_METHOD_COMMAND_ID (0x09)
-#define ZCL_SURVEY_BEACONS_RESPONSE_COMMAND_ID (0x09)
-#define ZCL_CLEAR_BINDING_TABLE_COMMAND_ID (0x0A)
-#define ZCL_ENABLE_PERIODIC_ROUTER_CHECK_INS_COMMAND_ID (0x0B)
-#define ZCL_DISABLE_PERIODIC_ROUTER_CHECK_INS_COMMAND_ID (0x0C)
-#define ZCL_SET_MAC_POLL_FAILURE_WAIT_TIME_COMMAND_ID (0x0D)
-#define ZCL_SET_PENDING_NETWORK_UPDATE_COMMAND_ID (0x0E)
-#define ZCL_REQUIRE_APS_ACKS_ON_UNICASTS_COMMAND_ID (0x0F)
-#define ZCL_REMOVE_APS_ACKS_ON_UNICASTS_REQUIREMENT_COMMAND_ID (0x10)
-#define ZCL_APS_ACK_REQUIREMENT_QUERY_COMMAND_ID (0x11)
-#define ZCL_DEBUG_REPORT_QUERY_COMMAND_ID (0x12)
-#define ZCL_SURVEY_BEACONS_COMMAND_ID (0x13)
-#define ZCL_DISABLE_OTA_DOWNGRADES_COMMAND_ID (0x14)
-#define ZCL_DISABLE_MGMT_LEAVE_WITHOUT_REJOIN_COMMAND_ID (0x15)
-#define ZCL_DISABLE_TOUCHLINK_INTERPAN_MESSAGE_SUPPORT_COMMAND_ID (0x16)
-#define ZCL_ENABLE_WWAH_PARENT_CLASSIFICATION_COMMAND_ID (0x17)
-#define ZCL_DISABLE_WWAH_PARENT_CLASSIFICATION_COMMAND_ID (0x18)
-#define ZCL_ENABLE_TC_SECURITY_ON_NTWK_KEY_ROTATION_COMMAND_ID (0x19)
-#define ZCL_ENABLE_WWAH_BAD_PARENT_RECOVERY_COMMAND_ID (0x1A)
-#define ZCL_DISABLE_WWAH_BAD_PARENT_RECOVERY_COMMAND_ID (0x1B)
-#define ZCL_ENABLE_CONFIGURATION_MODE_COMMAND_ID (0x1C)
-#define ZCL_DISABLE_CONFIGURATION_MODE_COMMAND_ID (0x1D)
-#define ZCL_USE_TRUST_CENTER_FOR_CLUSTER_SERVER_COMMAND_ID (0x1E)
-#define ZCL_TRUST_CENTER_FOR_CLUSTER_SERVER_QUERY_COMMAND_ID (0x1F)
-#define ZCL_USE_TRUST_CENTER_FOR_CLUSTER_SERVER_RESPONSE_COMMAND_ID (0x9E)
diff --git a/examples/chip-tool/gen/endpoint_config.h b/examples/chip-tool/gen/endpoint_config.h
deleted file mode 100644
index 2740e43..0000000
--- a/examples/chip-tool/gen/endpoint_config.h
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// Default values for the attributes longer than a pointer,
-// in a form of a binary blob
-// Separate block is generated for big-endian and little-endian cases.
-#if BIGENDIAN_CPU
-#define GENERATED_DEFAULTS \
- { \
- }
-
-#else // !BIGENDIAN_CPU
-#define GENERATED_DEFAULTS \
- { \
- }
-
-#endif // BIGENDIAN_CPU
-
-#define GENERATED_DEFAULTS_COUNT (0)
-
-#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
-#define ZAP_LONG_DEFAULTS_INDEX(index) \
- { \
- (uint8_t *) (&generatedDefaults[index]) \
- }
-#define ZAP_MIN_MAX_DEFAULTS_INDEX(index) \
- { \
- (uint8_t *) (&minMaxDefault[index]) \
- }
-#define ZAP_EMPTY_DEFAULT() \
- { \
- (uint16_t) 0 \
- }
-#define ZAP_SIMPLE_DEFAULT(x) \
- { \
- (uint16_t) x \
- }
-
-// This is an array of EmberAfAttributeMinMaxValue structures.
-#define GENERATED_MIN_MAX_DEFAULT_COUNT 0
-#define GENERATED_MIN_MAX_DEFAULTS \
- { \
- }
-
-#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
-// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 34
-#define GENERATED_ATTRIBUTES \
- { \
- \
- /* Endpoint: 1, Cluster: Identify (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(2) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Groups (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Scenes (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: On/off (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(2) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Level Control (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Descriptor (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Basic (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
- ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: General Commissioning (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Network Commissioning (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: General Diagnostics (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Ethernet Network Diagnostics (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Switch (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Operational Credentials (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Door Lock (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Barrier Control (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Pump Configuration and Control (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Thermostat (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Color Control (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Wake on LAN (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: TV Channel (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Target Navigator (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Media Playback (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Media Input (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Low Power (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Keypad Input (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Content Launch (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Audio Output (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Application Launcher (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Application Basic (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Account Login (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Test Cluster (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Binding (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- \
- /* Endpoint: 1, Cluster: Group Key Management (client) */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
- }
-
-// This is an array of EmberAfCluster structures.
-#define ZAP_ATTRIBUTE_INDEX(index) ((EmberAfAttributeMetadata *) (&generatedAttributes[index]))
-
-// Cluster function static arrays
-#define GENERATED_FUNCTION_ARRAYS
-
-#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 34
-#define GENERATED_CLUSTERS \
- { \
- { 0x0003, ZAP_ATTRIBUTE_INDEX(0), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Identify (client) */ \
- { 0x0004, ZAP_ATTRIBUTE_INDEX(1), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Groups (client) */ \
- { 0x0005, ZAP_ATTRIBUTE_INDEX(2), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Scenes (client) */ \
- { 0x0006, ZAP_ATTRIBUTE_INDEX(3), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: On/off (client) */ \
- { \
- 0x0008, ZAP_ATTRIBUTE_INDEX(4), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Level Control (client) */ \
- { \
- 0x001D, ZAP_ATTRIBUTE_INDEX(5), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Descriptor (client) */ \
- { 0x0028, ZAP_ATTRIBUTE_INDEX(6), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Basic (client) */ \
- { \
- 0x0030, ZAP_ATTRIBUTE_INDEX(7), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: General Commissioning (client) */ \
- { \
- 0x0031, ZAP_ATTRIBUTE_INDEX(8), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Network Commissioning (client) */ \
- { \
- 0x0033, ZAP_ATTRIBUTE_INDEX(9), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: General Diagnostics (client) */ \
- { \
- 0x0037, ZAP_ATTRIBUTE_INDEX(10), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Ethernet Network Diagnostics (client) */ \
- { 0x003B, ZAP_ATTRIBUTE_INDEX(11), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Switch (client) */ \
- { \
- 0x003E, ZAP_ATTRIBUTE_INDEX(12), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Operational Credentials (client) */ \
- { \
- 0x0101, ZAP_ATTRIBUTE_INDEX(13), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Door Lock (client) */ \
- { \
- 0x0103, ZAP_ATTRIBUTE_INDEX(14), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Barrier Control (client) */ \
- { \
- 0x0200, ZAP_ATTRIBUTE_INDEX(15), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Pump Configuration and Control (client) */ \
- { \
- 0x0201, ZAP_ATTRIBUTE_INDEX(16), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Thermostat (client) */ \
- { \
- 0x0300, ZAP_ATTRIBUTE_INDEX(17), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Color Control (client) */ \
- { \
- 0x0402, ZAP_ATTRIBUTE_INDEX(18), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Temperature Measurement (client) */ \
- { \
- 0x0503, ZAP_ATTRIBUTE_INDEX(19), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Wake on LAN (client) */ \
- { \
- 0x0504, ZAP_ATTRIBUTE_INDEX(20), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: TV Channel (client) */ \
- { \
- 0x0505, ZAP_ATTRIBUTE_INDEX(21), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Target Navigator (client) */ \
- { \
- 0x0506, ZAP_ATTRIBUTE_INDEX(22), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Media Playback (client) */ \
- { \
- 0x0507, ZAP_ATTRIBUTE_INDEX(23), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Media Input (client) */ \
- { \
- 0x0508, ZAP_ATTRIBUTE_INDEX(24), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Low Power (client) */ \
- { \
- 0x0509, ZAP_ATTRIBUTE_INDEX(25), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Keypad Input (client) */ \
- { \
- 0x050A, ZAP_ATTRIBUTE_INDEX(26), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Content Launch (client) */ \
- { \
- 0x050B, ZAP_ATTRIBUTE_INDEX(27), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Audio Output (client) */ \
- { \
- 0x050C, ZAP_ATTRIBUTE_INDEX(28), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Application Launcher (client) */ \
- { \
- 0x050D, ZAP_ATTRIBUTE_INDEX(29), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Application Basic (client) */ \
- { \
- 0x050E, ZAP_ATTRIBUTE_INDEX(30), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Account Login (client) */ \
- { \
- 0x050F, ZAP_ATTRIBUTE_INDEX(31), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Test Cluster (client) */ \
- { \
- 0xF000, ZAP_ATTRIBUTE_INDEX(32), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Binding (client) */ \
- { \
- 0xF004, ZAP_ATTRIBUTE_INDEX(33), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
- }, /* Endpoint: 1, Cluster: Group Key Management (client) */ \
- }
-
-#define ZAP_CLUSTER_INDEX(index) ((EmberAfCluster *) (&generatedClusters[index]))
-
-// This is an array of EmberAfEndpointType structures.
-#define GENERATED_ENDPOINT_TYPES \
- { \
- { ZAP_CLUSTER_INDEX(0), 34, 68 }, \
- }
-
-// Largest attribute size is needed for various buffers
-#define ATTRIBUTE_LARGEST (3)
-
-// Total size of singleton attributes
-#define ATTRIBUTE_SINGLETONS_SIZE (2)
-
-// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (68)
-
-// Number of fixed endpoints
-#define FIXED_ENDPOINT_COUNT (1)
-
-// Array of endpoints that are supported, the data inside
-// the array is the endpoint number.
-#define FIXED_ENDPOINT_ARRAY \
- { \
- 0x0001 \
- }
-
-// Array of profile ids
-#define FIXED_PROFILE_IDS \
- { \
- 0x0103 \
- }
-
-// Array of device ids
-#define FIXED_DEVICE_IDS \
- { \
- 0 \
- }
-
-// Array of device versions
-#define FIXED_DEVICE_VERSIONS \
- { \
- 1 \
- }
-
-// Array of endpoint types supported on each endpoint
-#define FIXED_ENDPOINT_TYPES \
- { \
- 0 \
- }
-
-// Array of networks supported on each endpoint
-#define FIXED_NETWORKS \
- { \
- 0 \
- }
-
-// Array of EmberAfCommandMetadata structs.
-#define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
-#define EMBER_AF_GENERATED_COMMAND_COUNT (197)
-#define GENERATED_COMMANDS \
- { \
- \
- /* Endpoint: 1, Cluster: Identify (client) */ \
- { 0x0003, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Identify */ \
- { 0x0003, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* IdentifyQueryResponse */ \
- { 0x0003, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* IdentifyQuery */ \
- \
- /* Endpoint: 1, Cluster: Groups (client) */ \
- { 0x0004, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddGroup */ \
- { 0x0004, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* AddGroupResponse */ \
- { 0x0004, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ViewGroup */ \
- { 0x0004, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ViewGroupResponse */ \
- { 0x0004, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetGroupMembership */ \
- { 0x0004, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* GetGroupMembershipResponse */ \
- { 0x0004, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveGroup */ \
- { 0x0004, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* RemoveGroupResponse */ \
- { 0x0004, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveAllGroups */ \
- { 0x0004, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddGroupIfIdentifying */ \
- \
- /* Endpoint: 1, Cluster: Scenes (client) */ \
- { 0x0005, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddScene */ \
- { 0x0005, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* AddSceneResponse */ \
- { 0x0005, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ViewScene */ \
- { 0x0005, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ViewSceneResponse */ \
- { 0x0005, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveScene */ \
- { 0x0005, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* RemoveSceneResponse */ \
- { 0x0005, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveAllScenes */ \
- { 0x0005, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* RemoveAllScenesResponse */ \
- { 0x0005, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* StoreScene */ \
- { 0x0005, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* StoreSceneResponse */ \
- { 0x0005, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RecallScene */ \
- { 0x0005, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetSceneMembership */ \
- { 0x0005, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* GetSceneMembershipResponse */ \
- \
- /* Endpoint: 1, Cluster: On/off (client) */ \
- { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Off */ \
- { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On */ \
- { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Toggle */ \
- \
- /* Endpoint: 1, Cluster: Level Control (client) */ \
- { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MoveToLevel */ \
- { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Move */ \
- { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Step */ \
- { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Stop */ \
- { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MoveToLevelWithOnOff */ \
- { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MoveWithOnOff */ \
- { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* StepWithOnOff */ \
- { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* StopWithOnOff */ \
- \
- /* Endpoint: 1, Cluster: Basic (client) */ \
- { 0x0028, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* StartUp */ \
- { 0x0028, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ShutDown */ \
- { 0x0028, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Leave */ \
- { 0x0028, 0x00, ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MfgSpecificPing */ \
- \
- /* Endpoint: 1, Cluster: General Commissioning (client) */ \
- { 0x0030, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ArmFailSafe */ \
- { 0x0030, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ArmFailSafeResponse */ \
- { 0x0030, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetRegulatoryConfig */ \
- { 0x0030, 0x03, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetRegulatoryConfigResponse */ \
- { 0x0030, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* CommissioningComplete */ \
- { 0x0030, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* CommissioningCompleteResponse */ \
- \
- /* Endpoint: 1, Cluster: Network Commissioning (client) */ \
- { 0x0031, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ScanNetworks */ \
- { 0x0031, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ScanNetworksResponse */ \
- { 0x0031, 0x02, ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* AddWiFiNetwork */ \
- { 0x0031, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* AddWiFiNetworkResponse */ \
- { 0x0031, 0x04, ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* UpdateWiFiNetwork */ \
- { 0x0031, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* UpdateWiFiNetworkResponse */ \
- { 0x0031, 0x06, ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* AddThreadNetwork */ \
- { 0x0031, 0x07, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* AddThreadNetworkResponse */ \
- { 0x0031, 0x08, ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* UpdateThreadNetwork */ \
- { 0x0031, 0x09, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* UpdateThreadNetworkResponse */ \
- { 0x0031, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveNetwork */ \
- { 0x0031, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* RemoveNetworkResponse */ \
- { 0x0031, 0x0C, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* EnableNetwork */ \
- { 0x0031, 0x0D, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* EnableNetworkResponse */ \
- { 0x0031, 0x0E, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* DisableNetwork */ \
- { 0x0031, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* DisableNetworkResponse */ \
- { 0x0031, 0x10, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetLastNetworkCommissioningResult */ \
- \
- /* Endpoint: 1, Cluster: Ethernet Network Diagnostics (client) */ \
- { 0x0037, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ResetCounts */ \
- \
- /* Endpoint: 1, Cluster: Operational Credentials (client) */ \
- { 0x003E, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SetFabric */ \
- { 0x003E, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* SetFabricResponse */ \
- { 0x003E, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* OpCSRRequest */ \
- { 0x003E, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* OpCSRResponse */ \
- { 0x003E, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddOpCert */ \
- { 0x003E, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* OpCertResponse */ \
- { 0x003E, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* UpdateFabricLabel */ \
- { 0x003E, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveFabric */ \
- { 0x003E, 0x0B, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveAllFabrics */ \
- \
- /* Endpoint: 1, Cluster: Door Lock (client) */ \
- { 0x0101, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* LockDoor */ \
- { 0x0101, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* LockDoorResponse */ \
- { 0x0101, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* UnlockDoor */ \
- { 0x0101, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* UnlockDoorResponse */ \
- { 0x0101, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* UnlockWithTimeout */ \
- { 0x0101, 0x03, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* UnlockWithTimeoutResponse */ \
- { 0x0101, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetLogRecord */ \
- { 0x0101, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetLogRecordResponse */ \
- { 0x0101, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetPin */ \
- { 0x0101, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetPinResponse */ \
- { 0x0101, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetPin */ \
- { 0x0101, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetPinResponse */ \
- { 0x0101, 0x07, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearPin */ \
- { 0x0101, 0x07, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearPinResponse */ \
- { 0x0101, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearAllPins */ \
- { 0x0101, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearAllPinsResponse */ \
- { 0x0101, 0x09, 0 }, /* SetUserStatusResponse */ \
- { 0x0101, 0x0A, 0 }, /* GetUserStatusResponse */ \
- { 0x0101, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetWeekdaySchedule */ \
- { 0x0101, 0x0B, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetWeekdayScheduleResponse */ \
- { 0x0101, 0x0C, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetWeekdaySchedule */ \
- { 0x0101, 0x0C, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetWeekdayScheduleResponse */ \
- { 0x0101, 0x0D, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearWeekdaySchedule */ \
- { 0x0101, 0x0D, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearWeekdayScheduleResponse */ \
- { 0x0101, 0x0E, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetYeardaySchedule */ \
- { 0x0101, 0x0E, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetYeardayScheduleResponse */ \
- { 0x0101, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetYeardaySchedule */ \
- { 0x0101, 0x0F, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetYeardayScheduleResponse */ \
- { 0x0101, 0x10, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearYeardaySchedule */ \
- { 0x0101, 0x10, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearYeardayScheduleResponse */ \
- { 0x0101, 0x11, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetHolidaySchedule */ \
- { 0x0101, 0x11, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetHolidayScheduleResponse */ \
- { 0x0101, 0x12, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetHolidaySchedule */ \
- { 0x0101, 0x12, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetHolidayScheduleResponse */ \
- { 0x0101, 0x13, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearHolidaySchedule */ \
- { 0x0101, 0x13, \
- ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearHolidayScheduleResponse */ \
- { 0x0101, 0x14, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetUserType */ \
- { 0x0101, 0x14, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetUserTypeResponse */ \
- { 0x0101, 0x15, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetUserType */ \
- { 0x0101, 0x15, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetUserTypeResponse */ \
- { 0x0101, 0x16, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetRfid */ \
- { 0x0101, 0x16, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* SetRfidResponse */ \
- { 0x0101, 0x17, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetRfid */ \
- { 0x0101, 0x17, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* GetRfidResponse */ \
- { 0x0101, 0x18, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearRfid */ \
- { 0x0101, 0x18, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearRfidResponse */ \
- { 0x0101, 0x19, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearAllRfids */ \
- { 0x0101, 0x19, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* ClearAllRfidsResponse */ \
- \
- /* Endpoint: 1, Cluster: Barrier Control (client) */ \
- { 0x0103, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* BarrierControlGoToPercent */ \
- { 0x0103, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* BarrierControlStop */ \
- \
- /* Endpoint: 1, Cluster: Thermostat (client) */ \
- { 0x0201, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SetpointRaiseLower */ \
- { 0x0201, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* CurrentWeeklySchedule */ \
- { 0x0201, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SetWeeklySchedule */ \
- { 0x0201, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* RelayStatusLog */ \
- { 0x0201, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetWeeklySchedule */ \
- { 0x0201, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ClearWeeklySchedule */ \
- { 0x0201, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetRelayStatusLog */ \
- \
- /* Endpoint: 1, Cluster: Color Control (client) */ \
- { 0x0300, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MoveToHue */ \
- { 0x0300, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MoveHue */ \
- { 0x0300, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* StepHue */ \
- { 0x0300, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MoveToSaturation */ \
- { 0x0300, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MoveSaturation */ \
- { 0x0300, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* StepSaturation */ \
- { 0x0300, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MoveToHueAndSaturation */ \
- { 0x0300, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MoveToColor */ \
- { 0x0300, 0x08, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MoveColor */ \
- { 0x0300, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* StepColor */ \
- { 0x0300, 0x0A, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MoveToColorTemperature */ \
- { 0x0300, 0x47, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* StopMoveStep */ \
- { 0x0300, 0x4B, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* MoveColorTemperature */ \
- { 0x0300, 0x4C, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* StepColorTemperature */ \
- \
- /* Endpoint: 1, Cluster: TV Channel (client) */ \
- { 0x0504, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ChangeChannel */ \
- { 0x0504, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* ChangeChannelResponse */ \
- { 0x0504, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ChangeChannelByNumber */ \
- { 0x0504, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SkipChannel */ \
- \
- /* Endpoint: 1, Cluster: Target Navigator (client) */ \
- { 0x0505, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* NavigateTarget */ \
- { 0x0505, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* NavigateTargetResponse */ \
- \
- /* Endpoint: 1, Cluster: Media Playback (client) */ \
- { 0x0506, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaPlay */ \
- { 0x0506, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaPlayResponse */ \
- { 0x0506, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaPause */ \
- { 0x0506, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaPauseResponse */ \
- { 0x0506, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaStop */ \
- { 0x0506, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaStopResponse */ \
- { 0x0506, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaStartOver */ \
- { 0x0506, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaStartOverResponse */ \
- { 0x0506, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaPrevious */ \
- { 0x0506, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaPreviousResponse */ \
- { 0x0506, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaNext */ \
- { 0x0506, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaNextResponse */ \
- { 0x0506, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaRewind */ \
- { 0x0506, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaRewindResponse */ \
- { 0x0506, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaFastForward */ \
- { 0x0506, 0x07, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaFastForwardResponse */ \
- { 0x0506, 0x08, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipForward */ \
- { 0x0506, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipForwardResponse */ \
- { 0x0506, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipBackward */ \
- { 0x0506, 0x09, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipBackwardResponse */ \
- { 0x0506, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* MediaSkipSeek */ \
- { 0x0506, 0x0A, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* MediaSkipSeekResponse */ \
- \
- /* Endpoint: 1, Cluster: Media Input (client) */ \
- { 0x0507, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SelectInput */ \
- { 0x0507, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ShowInputStatus */ \
- { 0x0507, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* HideInputStatus */ \
- { 0x0507, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RenameInput */ \
- \
- /* Endpoint: 1, Cluster: Low Power (client) */ \
- { 0x0508, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Sleep */ \
- \
- /* Endpoint: 1, Cluster: Keypad Input (client) */ \
- { 0x0509, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SendKey */ \
- { 0x0509, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* SendKeyResponse */ \
- \
- /* Endpoint: 1, Cluster: Content Launch (client) */ \
- { 0x050A, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* LaunchContent */ \
- { 0x050A, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* LaunchContentResponse */ \
- { 0x050A, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* LaunchURL */ \
- { 0x050A, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* LaunchURLResponse */ \
- \
- /* Endpoint: 1, Cluster: Audio Output (client) */ \
- { 0x050B, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SelectOutput */ \
- { 0x050B, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RenameOutput */ \
- \
- /* Endpoint: 1, Cluster: Application Launcher (client) */ \
- { 0x050C, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* LaunchApp */ \
- { 0x050C, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* LaunchAppResponse */ \
- \
- /* Endpoint: 1, Cluster: Account Login (client) */ \
- { 0x050E, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetSetupPIN */ \
- { 0x050E, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* GetSetupPINResponse */ \
- { 0x050E, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Login */ \
- \
- /* Endpoint: 1, Cluster: Test Cluster (client) */ \
- { 0x050F, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Test */ \
- { 0x050F, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* TestSpecificResponse */ \
- { 0x050F, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* TestNotHandled */ \
- { 0x050F, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* TestSpecific */ \
- \
- /* Endpoint: 1, Cluster: Binding (client) */ \
- { 0xF000, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Bind */ \
- { 0xF000, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Unbind */ \
- }
-
-// Array of EmberAfManufacturerCodeEntry structures for commands.
-#define GENERATED_COMMAND_MANUFACTURER_CODE_COUNT (1)
-#define GENERATED_COMMAND_MANUFACTURER_CODES \
- { \
- { 40, 4098 }, \
- }
-
-// This is an array of EmberAfManufacturerCodeEntry structures for clusters.
-#define GENERATED_CLUSTER_MANUFACTURER_CODE_COUNT (0)
-#define GENERATED_CLUSTER_MANUFACTURER_CODES \
- { \
- { \
- 0x00, 0x00 \
- } \
- }
-
-// This is an array of EmberAfManufacturerCodeEntry structures for attributes.
-#define GENERATED_ATTRIBUTE_MANUFACTURER_CODE_COUNT (0)
-#define GENERATED_ATTRIBUTE_MANUFACTURER_CODES \
- { \
- { \
- 0x00, 0x00 \
- } \
- }
-
-// Array of EmberAfPluginReportingEntry structures.
-#define ZRD(x) EMBER_ZCL_REPORTING_DIRECTION_##x
-#define ZAP_REPORT_DIRECTION(x) ZRD(x)
-
-// User options for plugin Reporting
-#define EMBER_AF_PLUGIN_REPORTING_TABLE_SIZE (0)
-#define EMBER_AF_PLUGIN_REPORTING_ENABLE_GROUP_BOUND_REPORTS
-
-#define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS_TABLE_SIZE (0)
-#define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS \
- { \
- }
diff --git a/examples/chip-tool/gen/enums.h b/examples/chip-tool/gen/enums.h
deleted file mode 100644
index f962d4b..0000000
--- a/examples/chip-tool/gen/enums.h
+++ /dev/null
@@ -1,4444 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// ZCL enums
-
-// Enum for 11073ConnectRequestConnectControl
-typedef enum
-{
- EMBER_ZCL_11073_CONNECT_REQUEST_CONNECT_CONTROL_PREEMPTIBLE = 1,
-} EmberAf11073ConnectRequestConnectControl;
-
-// Enum for 11073TunnelConnectionStatus
-typedef enum
-{
- EMBER_ZCL_11073_TUNNEL_CONNECTION_STATUS_DISCONNECTED = 0,
- EMBER_ZCL_11073_TUNNEL_CONNECTION_STATUS_CONNECTED = 1,
- EMBER_ZCL_11073_TUNNEL_CONNECTION_STATUS_NOT_AUTHORIZED = 2,
- EMBER_ZCL_11073_TUNNEL_CONNECTION_STATUS_RECONNECT_REQUEST = 3,
- EMBER_ZCL_11073_TUNNEL_CONNECTION_STATUS_ALREADY_CONNECTED = 4,
-} EmberAf11073TunnelConnectionStatus;
-
-// Enum for AlertCountType
-typedef enum
-{
- EMBER_ZCL_ALERT_COUNT_TYPE_UNSTRUCTURED = 0,
-} EmberAfAlertCountType;
-
-// Enum for AlertStructureCategory
-typedef enum
-{
- EMBER_ZCL_ALERT_STRUCTURE_CATEGORY_WARNING = 256,
- EMBER_ZCL_ALERT_STRUCTURE_CATEGORY_DANGER = 512,
- EMBER_ZCL_ALERT_STRUCTURE_CATEGORY_FAILURE = 768,
-} EmberAfAlertStructureCategory;
-
-// Enum for AlertStructurePresenceRecovery
-typedef enum
-{
- EMBER_ZCL_ALERT_STRUCTURE_PRESENCE_RECOVERY_RECOVERY = 0,
- EMBER_ZCL_ALERT_STRUCTURE_PRESENCE_RECOVERY_PRESENCE = 4096,
-} EmberAfAlertStructurePresenceRecovery;
-
-// Enum for AlternateCostUnit
-typedef enum
-{
- EMBER_ZCL_ALTERNATE_COST_UNIT_KG_OF_CO2_PER_UNIT_OF_MEASURE = 2,
-} EmberAfAlternateCostUnit;
-
-// Enum for AmiCriticalityLevel
-typedef enum
-{
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_RESERVED = 0,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_GREEN = 1,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_1 = 2,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_2 = 3,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_3 = 4,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_4 = 5,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_5 = 6,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_EMERGENCY = 7,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_PLANNED_OUTAGE = 8,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_SERVICE_DISCONNECT = 9,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_UTILITY_DEFINED1 = 10,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_UTILITY_DEFINED2 = 11,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_UTILITY_DEFINED3 = 12,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_UTILITY_DEFINED4 = 13,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_UTILITY_DEFINED5 = 14,
- EMBER_ZCL_AMI_CRITICALITY_LEVEL_UTILITY_DEFINED6 = 15,
-} EmberAfAmiCriticalityLevel;
-
-// Enum for AmiEventStatus
-typedef enum
-{
- EMBER_ZCL_AMI_EVENT_STATUS_LOAD_CONTROL_EVENT_COMMAND_RX = 1,
- EMBER_ZCL_AMI_EVENT_STATUS_EVENT_STARTED = 2,
- EMBER_ZCL_AMI_EVENT_STATUS_EVENT_COMPLETED = 3,
- EMBER_ZCL_AMI_EVENT_STATUS_USER_HAS_CHOOSE_TO_OPT_OUT = 4,
- EMBER_ZCL_AMI_EVENT_STATUS_USER_HAS_CHOOSE_TO_OPT_IN = 5,
- EMBER_ZCL_AMI_EVENT_STATUS_THE_EVENT_HAS_BEEN_CANCELED = 6,
- EMBER_ZCL_AMI_EVENT_STATUS_THE_EVENT_HAS_BEEN_SUPERSEDED = 7,
- EMBER_ZCL_AMI_EVENT_STATUS_EVENT_PARTIALLY_COMPLETED_WITH_USER_OPT_OUT = 8,
- EMBER_ZCL_AMI_EVENT_STATUS_EVENT_PARTIALLY_COMPLETED_DUE_TO_USER_OPT_IN = 9,
- EMBER_ZCL_AMI_EVENT_STATUS_EVENT_COMPLETED_NO_USER_PARTICIPATION_PREVIOUS_OPT_OUT = 10,
- EMBER_ZCL_AMI_EVENT_STATUS_INVALID_OPT_OUT = 246,
- EMBER_ZCL_AMI_EVENT_STATUS_EVENT_NOT_FOUND = 247,
- EMBER_ZCL_AMI_EVENT_STATUS_REJECTED_INVALID_CANCEL_COMMAND = 248,
- EMBER_ZCL_AMI_EVENT_STATUS_REJECTED_INVALID_CANCEL_COMMAND_INVALID_EFFECTIVE_TIME = 249,
- EMBER_ZCL_AMI_EVENT_STATUS_REJECTED_EVENT_EXPIRED = 251,
- EMBER_ZCL_AMI_EVENT_STATUS_REJECTED_INVALID_CANCEL_UNDEFINED_EVENT = 253,
- EMBER_ZCL_AMI_EVENT_STATUS_LOAD_CONTROL_EVENT_COMMAND_REJECTED = 254,
-} EmberAfAmiEventStatus;
-
-// Enum for AmiGetProfileStatus
-typedef enum
-{
- EMBER_ZCL_AMI_GET_PROFILE_STATUS_SUCCESS = 0,
- EMBER_ZCL_AMI_GET_PROFILE_STATUS_UNDEFINED_INTERVAL_CHANNEL_REQUESTED = 1,
- EMBER_ZCL_AMI_GET_PROFILE_STATUS_INTERVAL_CHANNEL_NOT_SUPPORTED = 2,
- EMBER_ZCL_AMI_GET_PROFILE_STATUS_INVALID_END_TIME = 3,
- EMBER_ZCL_AMI_GET_PROFILE_STATUS_MORE_PERIODS_REQUESTED_THAN_CAN_BE_RETURNED = 4,
- EMBER_ZCL_AMI_GET_PROFILE_STATUS_NO_INTERVALS_AVAILABLE_FOR_THE_REQUESTED_TIME = 5,
-} EmberAfAmiGetProfileStatus;
-
-// Enum for AmiIntervalChannel
-typedef enum
-{
- EMBER_ZCL_AMI_INTERVAL_CHANNEL_CONSUMPTION_DELIVERED = 0,
- EMBER_ZCL_AMI_INTERVAL_CHANNEL_CONSUMPTION_RECEIVED = 1,
-} EmberAfAmiIntervalChannel;
-
-// Enum for AmiIntervalPeriod
-typedef enum
-{
- EMBER_ZCL_AMI_INTERVAL_PERIOD_DAILY = 0,
- EMBER_ZCL_AMI_INTERVAL_PERIOD_MINUTES60 = 1,
- EMBER_ZCL_AMI_INTERVAL_PERIOD_MINUTES30 = 2,
- EMBER_ZCL_AMI_INTERVAL_PERIOD_MINUTES15 = 3,
- EMBER_ZCL_AMI_INTERVAL_PERIOD_MINUTES10 = 4,
- EMBER_ZCL_AMI_INTERVAL_PERIOD_MINUTES7P5 = 5,
- EMBER_ZCL_AMI_INTERVAL_PERIOD_MINUTES5 = 6,
- EMBER_ZCL_AMI_INTERVAL_PERIOD_MINUTES2P5 = 7,
-} EmberAfAmiIntervalPeriod;
-
-// Enum for AmiKeyEstablishmentStatus
-typedef enum
-{
- EMBER_ZCL_AMI_KEY_ESTABLISHMENT_STATUS_SUCCESS = 0,
- EMBER_ZCL_AMI_KEY_ESTABLISHMENT_STATUS_UNKNOWN_ISSUER = 1,
- EMBER_ZCL_AMI_KEY_ESTABLISHMENT_STATUS_BAD_KEY_CONFIRM = 2,
- EMBER_ZCL_AMI_KEY_ESTABLISHMENT_STATUS_BAD_MESSAGE = 3,
- EMBER_ZCL_AMI_KEY_ESTABLISHMENT_STATUS_NO_RESOURCES = 4,
- EMBER_ZCL_AMI_KEY_ESTABLISHMENT_STATUS_UNSUPPORTED_SUITE = 5,
- EMBER_ZCL_AMI_KEY_ESTABLISHMENT_STATUS_INVALID_KEY_USAGE = 6,
-} EmberAfAmiKeyEstablishmentStatus;
-
-// Enum for AmiRegistrationState
-typedef enum
-{
- EMBER_ZCL_AMI_REGISTRATION_STATE_UNREGISTERED = 0,
- EMBER_ZCL_AMI_REGISTRATION_STATE_JOINING_NETWORK = 1,
- EMBER_ZCL_AMI_REGISTRATION_STATE_JOINED_NETWORK = 2,
- EMBER_ZCL_AMI_REGISTRATION_STATE_SUBMITTED_REGISTRATION_REQUEST = 3,
- EMBER_ZCL_AMI_REGISTRATION_STATE_REGISTRATION_REJECTED = 4,
- EMBER_ZCL_AMI_REGISTRATION_STATE_REGISTERED = 5,
- EMBER_ZCL_AMI_REGISTRATION_STATE_REGISTERATION_NOT_POSSIBLE = 6,
-} EmberAfAmiRegistrationState;
-
-// Enum for AmiUnitOfMeasure
-typedef enum
-{
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_KILO_WATT_HOURS = 0,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_CUBIC_METER_PER_HOUR = 1,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_CUBIC_FEET_PER_HOUR = 2,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_CENTUM_CUBIC_FEET_PER_HOUR = 3,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_US_GALLONS_PER_HOUR = 4,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_IMPERIAL_GALLONS_PER_HOUR = 5,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_BT_US_OR_BTU_PER_HOUR = 6,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_LITERS_OR_LITERS_PER_HOUR = 7,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_KPA_GAUGE = 8,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_KPA_ABSOLUTE = 9,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_MCF_OR_MCF_PER_SECOND = 10,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_UNITLESS = 11,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_MJ_OR_MJ_PER_SECOND = 12,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_K_VAR_OR_K_VAR_HOURS = 13,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_KILO_WATT_HOURS_BCD = 128,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_CUBIC_METER_PER_HOUR_BCD = 129,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_CUBIC_FEET_PER_HOUR_BCD = 130,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_CENTUM_CUBIC_FEET_PER_HOUR_BCD = 131,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_US_GALLONS_PER_HOUR_BCD = 132,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_IMPERIAL_GALLONS_PER_HOUR_BCD = 133,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_BT_US_OR_BTU_PER_HOUR_BCD = 134,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_LITERS_OR_LITERS_PER_HOUR_BCD = 135,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_KPA_GUAGE_BCD = 136,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_KPA_ABSOLUTE_BCD = 137,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_MCF_OR_MCF_PER_SECOND_BCD = 138,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_UNITLESS_BCD = 139,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_MJ_OR_MJ_PER_SECOND_BCD = 140,
- EMBER_ZCL_AMI_UNIT_OF_MEASURE_K_VAR_OR_K_VAR_HOURS_BCD = 141,
-} EmberAfAmiUnitOfMeasure;
-
-// Enum for AnonymousDataState
-typedef enum
-{
- EMBER_ZCL_ANONYMOUS_DATA_STATE_NO_SOURCE_FOUND = 0,
- EMBER_ZCL_ANONYMOUS_DATA_STATE_SOURCE_FOUND = 1,
-} EmberAfAnonymousDataState;
-
-// Enum for ApplianceStatus
-typedef enum
-{
- EMBER_ZCL_APPLIANCE_STATUS_OFF = 1,
- EMBER_ZCL_APPLIANCE_STATUS_STAND_BY = 2,
- EMBER_ZCL_APPLIANCE_STATUS_PROGRAMMED = 3,
- EMBER_ZCL_APPLIANCE_STATUS_PROGRAMMED_WAITING_TO_START = 4,
- EMBER_ZCL_APPLIANCE_STATUS_RUNNING = 5,
- EMBER_ZCL_APPLIANCE_STATUS_PAUSE = 6,
- EMBER_ZCL_APPLIANCE_STATUS_END_PROGRAMMED = 7,
- EMBER_ZCL_APPLIANCE_STATUS_FAILURE = 8,
- EMBER_ZCL_APPLIANCE_STATUS_PROGRAMME_INTERRUPTED = 9,
- EMBER_ZCL_APPLIANCE_STATUS_IDLE = 10,
- EMBER_ZCL_APPLIANCE_STATUS_RINSE_HOLD = 11,
- EMBER_ZCL_APPLIANCE_STATUS_SERVICE = 12,
- EMBER_ZCL_APPLIANCE_STATUS_SUPERFREEZING = 13,
- EMBER_ZCL_APPLIANCE_STATUS_SUPERCOOLING = 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_ACTIVE_VISIBLE_FOCUS = 1,
- EMBER_ZCL_APPLICATION_BASIC_STATUS_ACTIVE_HIDDEN = 2,
- EMBER_ZCL_APPLICATION_BASIC_STATUS_ACTIVE_VISIBLE_NOT_FOCUS = 3,
-} EmberAfApplicationBasicStatus;
-
-// Enum for ApplicationLauncherStatus
-typedef enum
-{
- EMBER_ZCL_APPLICATION_LAUNCHER_STATUS_SUCCESS = 0,
- EMBER_ZCL_APPLICATION_LAUNCHER_STATUS_APP_NOT_AVAILABLE = 1,
- EMBER_ZCL_APPLICATION_LAUNCHER_STATUS_SYSTEM_BUSY = 2,
-} EmberAfApplicationLauncherStatus;
-
-// Enum for AttributeReportingStatus
-typedef enum
-{
- EMBER_ZCL_ATTRIBUTE_REPORTING_STATUS_PENDING = 0,
- EMBER_ZCL_ATTRIBUTE_REPORTING_STATUS_ATTRIBUTE_REPORTING_COMPLETE = 1,
-} EmberAfAttributeReportingStatus;
-
-// Enum for AttributeWritePermission
-typedef enum
-{
- EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_DENY_WRITE = 0,
- EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_ALLOW_WRITE_NORMAL = 1,
- EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_ALLOW_WRITE_OF_READ_ONLY = 2,
- EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_UNSUPPORTED_ATTRIBUTE = 134,
- EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_INVALID_VALUE = 135,
- EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_READ_ONLY = 136,
- EMBER_ZCL_ATTRIBUTE_WRITE_PERMISSION_INVALID_DATA_TYPE = 141,
-} EmberAfAttributeWritePermission;
-
-// Enum for AudioOutputType
-typedef enum
-{
- EMBER_ZCL_AUDIO_OUTPUT_TYPE_HDMI = 0,
- EMBER_ZCL_AUDIO_OUTPUT_TYPE_BT = 1,
- EMBER_ZCL_AUDIO_OUTPUT_TYPE_OPTICAL = 2,
- EMBER_ZCL_AUDIO_OUTPUT_TYPE_HEADPHONE = 3,
- EMBER_ZCL_AUDIO_OUTPUT_TYPE_INTERNAL = 4,
- EMBER_ZCL_AUDIO_OUTPUT_TYPE_OTHER = 5,
-} EmberAfAudioOutputType;
-
-// Enum for BarrierControlBarrierPosition
-typedef enum
-{
- EMBER_ZCL_BARRIER_CONTROL_BARRIER_POSITION_CLOSED = 0,
- EMBER_ZCL_BARRIER_CONTROL_BARRIER_POSITION_OPEN = 100,
- EMBER_ZCL_BARRIER_CONTROL_BARRIER_POSITION_UNKNOWN = 255,
-} EmberAfBarrierControlBarrierPosition;
-
-// Enum for BarrierControlMovingState
-typedef enum
-{
- EMBER_ZCL_BARRIER_CONTROL_MOVING_STATE_STOPPED = 0,
- EMBER_ZCL_BARRIER_CONTROL_MOVING_STATE_CLOSING = 1,
- EMBER_ZCL_BARRIER_CONTROL_MOVING_STATE_OPENING = 2,
-} EmberAfBarrierControlMovingState;
-
-// Enum for BatterySize
-typedef enum
-{
- EMBER_ZCL_BATTERY_SIZE_NO_BATTERY = 0,
- EMBER_ZCL_BATTERY_SIZE_BUILT_IN = 1,
- EMBER_ZCL_BATTERY_SIZE_OTHER = 2,
- EMBER_ZCL_BATTERY_SIZE_AA = 3,
- EMBER_ZCL_BATTERY_SIZE_AAA = 4,
- EMBER_ZCL_BATTERY_SIZE_C = 5,
- EMBER_ZCL_BATTERY_SIZE_D = 6,
- EMBER_ZCL_BATTERY_SIZE_UNKNOWN = 255,
-} EmberAfBatterySize;
-
-// Enum for BillingPeriodDurationUnits
-typedef enum
-{
- EMBER_ZCL_BILLING_PERIOD_DURATION_UNITS_MINUTES = 0,
- EMBER_ZCL_BILLING_PERIOD_DURATION_UNITS_DAYS = 4194304,
- EMBER_ZCL_BILLING_PERIOD_DURATION_UNITS_WEEKS = 8388608,
- EMBER_ZCL_BILLING_PERIOD_DURATION_UNITS_MONTHS = 12582912,
-} EmberAfBillingPeriodDurationUnits;
-
-// Enum for Block
-typedef enum
-{
- EMBER_ZCL_BLOCK_NO_BLOCKS_IN_USE = 0,
- EMBER_ZCL_BLOCK_BLOCK1 = 1,
- EMBER_ZCL_BLOCK_BLOCK2 = 2,
- EMBER_ZCL_BLOCK_BLOCK3 = 3,
- EMBER_ZCL_BLOCK_BLOCK4 = 4,
- EMBER_ZCL_BLOCK_BLOCK5 = 5,
- EMBER_ZCL_BLOCK_BLOCK6 = 6,
- EMBER_ZCL_BLOCK_BLOCK7 = 7,
- EMBER_ZCL_BLOCK_BLOCK8 = 8,
- EMBER_ZCL_BLOCK_BLOCK9 = 9,
- EMBER_ZCL_BLOCK_BLOCK10 = 10,
- EMBER_ZCL_BLOCK_BLOCK11 = 11,
- EMBER_ZCL_BLOCK_BLOCK12 = 12,
- EMBER_ZCL_BLOCK_BLOCK13 = 13,
- EMBER_ZCL_BLOCK_BLOCK14 = 14,
- EMBER_ZCL_BLOCK_BLOCK15 = 15,
- EMBER_ZCL_BLOCK_BLOCK16 = 16,
-} EmberAfBlock;
-
-// Enum for BlockPeriodDurationTypeControl
-typedef enum
-{
- EMBER_ZCL_BLOCK_PERIOD_DURATION_TYPE_CONTROL_START_OF_TIMEBASE = 0,
- EMBER_ZCL_BLOCK_PERIOD_DURATION_TYPE_CONTROL_END_OF_TIMEBASE = 16,
- EMBER_ZCL_BLOCK_PERIOD_DURATION_TYPE_CONTROL_NOT_SPECIFIED = 32,
-} EmberAfBlockPeriodDurationTypeControl;
-
-// Enum for BlockPeriodDurationTypeTimebase
-typedef enum
-{
- EMBER_ZCL_BLOCK_PERIOD_DURATION_TYPE_TIMEBASE_MINUTES = 0,
- EMBER_ZCL_BLOCK_PERIOD_DURATION_TYPE_TIMEBASE_DAYS = 1,
- EMBER_ZCL_BLOCK_PERIOD_DURATION_TYPE_TIMEBASE_WEEKS = 2,
- EMBER_ZCL_BLOCK_PERIOD_DURATION_TYPE_TIMEBASE_MONTHS = 3,
-} EmberAfBlockPeriodDurationTypeTimebase;
-
-// Enum for BootReasonType
-typedef enum
-{
- EMBER_ZCL_BOOT_REASON_TYPE_UNSPECIFIED = 0,
- EMBER_ZCL_BOOT_REASON_TYPE_POWER_ON_REBOOT = 1,
- EMBER_ZCL_BOOT_REASON_TYPE_BROWN_OUT_RESET = 2,
- EMBER_ZCL_BOOT_REASON_TYPE_SOFTWARE_WATCHDOG_RESET = 3,
- EMBER_ZCL_BOOT_REASON_TYPE_HARDWARE_WATCHDOG_RESET = 4,
- EMBER_ZCL_BOOT_REASON_TYPE_SOFTWARE_UPDATE_COMPLETED = 5,
- EMBER_ZCL_BOOT_REASON_TYPE_SOFTWARE_RESET = 6,
-} EmberAfBootReasonType;
-
-// Enum for CO2Unit
-typedef enum
-{
- EMBER_ZCL_CO2_UNIT_KILOGRAM_PER_KILOWATT_HOUR = 1,
- EMBER_ZCL_CO2_UNIT_KILOGRAM_PER_GALLON_OF_GASOLINE = 2,
- EMBER_ZCL_CO2_UNIT_KILOGRAM_PER_THERM_OF_NATURAL_GAS = 3,
-} EmberAfCO2Unit;
-
-// Enum for CalendarTimeReference
-typedef enum
-{
- EMBER_ZCL_CALENDAR_TIME_REFERENCE_UTC_TIME = 0,
- EMBER_ZCL_CALENDAR_TIME_REFERENCE_STANDARD_TIME = 1,
- EMBER_ZCL_CALENDAR_TIME_REFERENCE_LOCAL_TIME = 2,
-} EmberAfCalendarTimeReference;
-
-// Enum for CalendarType
-typedef enum
-{
- EMBER_ZCL_CALENDAR_TYPE_DELIVERED_CALENDAR = 0,
- EMBER_ZCL_CALENDAR_TYPE_RECEIVED_CALENDAR = 1,
- EMBER_ZCL_CALENDAR_TYPE_DELIVERED_AND_RECEIVED_CALENDAR = 2,
- EMBER_ZCL_CALENDAR_TYPE_FRIENDLY_CREDIT_CALENDAR = 3,
- EMBER_ZCL_CALENDAR_TYPE_AUXILLIARY_LOAD_SWITCH_CALENDAR = 4,
-} EmberAfCalendarType;
-
-// Enum for CalorificValueUnit
-typedef enum
-{
- EMBER_ZCL_CALORIFIC_VALUE_UNIT_MEGAJOULE_PER_CUBIC_METER = 1,
- EMBER_ZCL_CALORIFIC_VALUE_UNIT_MEGAJOULE_PER_KILOGRAM = 2,
-} EmberAfCalorificValueUnit;
-
-// Enum for CecedSpecificationVersion
-typedef enum
-{
- EMBER_ZCL_CECED_SPECIFICATION_VERSION_COMPLIANT_WITH_V10_NOT_CERTIFIED = 16,
- EMBER_ZCL_CECED_SPECIFICATION_VERSION_COMPLIANT_WITH_V10_CERTIFIED = 26,
-} EmberAfCecedSpecificationVersion;
-
-// Enum for ColorControlOptions
-typedef enum
-{
- EMBER_ZCL_COLOR_CONTROL_OPTIONS_EXECUTE_IF_OFF = 1,
-} EmberAfColorControlOptions;
-
-// Enum for ColorLoopAction
-typedef enum
-{
- EMBER_ZCL_COLOR_LOOP_ACTION_DEACTIVATE = 0,
- EMBER_ZCL_COLOR_LOOP_ACTION_ACTIVATE_FROM_COLOR_LOOP_START_ENHANCED_HUE = 1,
- EMBER_ZCL_COLOR_LOOP_ACTION_ACTIVATE_FROM_ENHANCED_CURRENT_HUE = 2,
-} EmberAfColorLoopAction;
-
-// Enum for ColorLoopDirection
-typedef enum
-{
- EMBER_ZCL_COLOR_LOOP_DIRECTION_DECREMENT_HUE = 0,
- EMBER_ZCL_COLOR_LOOP_DIRECTION_INCREMENT_HUE = 1,
-} EmberAfColorLoopDirection;
-
-// Enum for ColorMode
-typedef enum
-{
- EMBER_ZCL_COLOR_MODE_CURRENT_HUE_AND_CURRENT_SATURATION = 0,
- EMBER_ZCL_COLOR_MODE_CURRENT_X_AND_CURRENT_Y = 1,
- EMBER_ZCL_COLOR_MODE_COLOR_TEMPERATURE = 2,
-} EmberAfColorMode;
-
-// Enum for CommandIdentification
-typedef enum
-{
- EMBER_ZCL_COMMAND_IDENTIFICATION_START = 1,
- EMBER_ZCL_COMMAND_IDENTIFICATION_STOP = 2,
- EMBER_ZCL_COMMAND_IDENTIFICATION_PAUSE = 3,
- EMBER_ZCL_COMMAND_IDENTIFICATION_START_SUPERFREEZING = 4,
- EMBER_ZCL_COMMAND_IDENTIFICATION_STOP_SUPERFREEZING = 5,
- EMBER_ZCL_COMMAND_IDENTIFICATION_START_SUPERCOOLING = 6,
- EMBER_ZCL_COMMAND_IDENTIFICATION_STOP_SUPERCOOLING = 7,
- EMBER_ZCL_COMMAND_IDENTIFICATION_DISABLE_GAS = 8,
- EMBER_ZCL_COMMAND_IDENTIFICATION_ENABLE_GAS = 9,
- EMBER_ZCL_COMMAND_IDENTIFICATION_ENABLE_ENERGY_CONTROL = 10,
- EMBER_ZCL_COMMAND_IDENTIFICATION_DISABLE_ENERGY_CONTROL = 11,
-} EmberAfCommandIdentification;
-
-// Enum for CommissioningStartupControl
-typedef enum
-{
- EMBER_ZCL_COMMISSIONING_STARTUP_CONTROL_NO_ACTION = 0,
- EMBER_ZCL_COMMISSIONING_STARTUP_CONTROL_FORM_NETWORK = 1,
- EMBER_ZCL_COMMISSIONING_STARTUP_CONTROL_REJOIN_NETWORK = 2,
- EMBER_ZCL_COMMISSIONING_STARTUP_CONTROL_START_FROM_SCRATCH = 3,
-} EmberAfCommissioningStartupControl;
-
-// Enum for CommodityType
-typedef enum
-{
- EMBER_ZCL_COMMODITY_TYPE_ELECTRIC_METERING = 0,
- EMBER_ZCL_COMMODITY_TYPE_GAS_METERING = 1,
- EMBER_ZCL_COMMODITY_TYPE_WATER_METERING = 2,
- EMBER_ZCL_COMMODITY_TYPE_THERMAL_METERING = 3,
- EMBER_ZCL_COMMODITY_TYPE_PRESSURE_METERING = 4,
- EMBER_ZCL_COMMODITY_TYPE_HEAT_METERING = 5,
- EMBER_ZCL_COMMODITY_TYPE_COOLING_METERING = 6,
- EMBER_ZCL_COMMODITY_TYPE_ELECTRIC_VEHICLE_CHARGING_METERING = 7,
- EMBER_ZCL_COMMODITY_TYPE_PV_GENERATION_METERING = 8,
- EMBER_ZCL_COMMODITY_TYPE_WIND_TURBINE_GENERATION_METERING = 9,
- EMBER_ZCL_COMMODITY_TYPE_WATER_TURBINE_GENERATION_METERING = 10,
- EMBER_ZCL_COMMODITY_TYPE_MICRO_GENERATION_METERING = 11,
- EMBER_ZCL_COMMODITY_TYPE_SOLAR_HOT_WATER_GENERATION_METERING = 12,
- EMBER_ZCL_COMMODITY_TYPE_ELECTRIC_METERING_ELEMENT1 = 13,
- EMBER_ZCL_COMMODITY_TYPE_ELECTRIC_METERING_ELEMENT2 = 14,
- EMBER_ZCL_COMMODITY_TYPE_ELECTRIC_METERING_ELEMENT3 = 15,
-} EmberAfCommodityType;
-
-// Enum for ContentLaunchMetricType
-typedef enum
-{
- EMBER_ZCL_CONTENT_LAUNCH_METRIC_TYPE_PIXELS = 0,
- EMBER_ZCL_CONTENT_LAUNCH_METRIC_TYPE_PERCENTAGE = 1,
-} EmberAfContentLaunchMetricType;
-
-// Enum for ContentLaunchParameterEnum
-typedef enum
-{
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_ACTOR = 0,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_CHANNEL = 1,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_CHARACTER = 2,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_EVENT = 3,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_FRANCHISE = 4,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_GENRE = 5,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_LEAGUE = 6,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_POPULARITY = 7,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_SPORT = 8,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_SPORTS_TEAM = 9,
- EMBER_ZCL_CONTENT_LAUNCH_PARAMETER_ENUM_VIDEO = 10,
-} EmberAfContentLaunchParameterEnum;
-
-// Enum for ContentLaunchStatus
-typedef enum
-{
- EMBER_ZCL_CONTENT_LAUNCH_STATUS_SUCCESS = 0,
- EMBER_ZCL_CONTENT_LAUNCH_STATUS_URL_NOT_AVAILABLE = 1,
- EMBER_ZCL_CONTENT_LAUNCH_STATUS_AUTH_FAILED = 2,
-} EmberAfContentLaunchStatus;
-
-// Enum for ContentLaunchStreamingType
-typedef enum
-{
- EMBER_ZCL_CONTENT_LAUNCH_STREAMING_TYPE_DASH = 0,
- EMBER_ZCL_CONTENT_LAUNCH_STREAMING_TYPE_HLS = 1,
-} EmberAfContentLaunchStreamingType;
-
-// Enum for CppEventResponseCppAuth
-typedef enum
-{
- EMBER_ZCL_CPP_EVENT_RESPONSE_CPP_AUTH_ACCEPTED = 1,
- EMBER_ZCL_CPP_EVENT_RESPONSE_CPP_AUTH_REJECTED = 2,
-} EmberAfCppEventResponseCppAuth;
-
-// Enum for CppPriceTier
-typedef enum
-{
- EMBER_ZCL_CPP_PRICE_TIER_CPP1 = 0,
- EMBER_ZCL_CPP_PRICE_TIER_CPP2 = 1,
-} EmberAfCppPriceTier;
-
-// Enum for CreditAdjustmentType
-typedef enum
-{
- EMBER_ZCL_CREDIT_ADJUSTMENT_TYPE_CREDIT_INCREMENTAL = 0,
- EMBER_ZCL_CREDIT_ADJUSTMENT_TYPE_CREDIT_ABSOLUTE = 1,
-} EmberAfCreditAdjustmentType;
-
-// Enum for CreditPaymentStatus
-typedef enum
-{
- EMBER_ZCL_CREDIT_PAYMENT_STATUS_PENDING = 0,
- EMBER_ZCL_CREDIT_PAYMENT_STATUS_RECEIVED_PAID = 1,
- EMBER_ZCL_CREDIT_PAYMENT_STATUS_OVERDUE = 2,
- EMBER_ZCL_CREDIT_PAYMENT_STATUS_2_PAYMENTS_OVERDUE = 3,
- EMBER_ZCL_CREDIT_PAYMENT_STATUS_3_PAYMENTS_OVERDUE = 4,
-} EmberAfCreditPaymentStatus;
-
-// Enum for DataQualityId
-typedef enum
-{
- EMBER_ZCL_DATA_QUALITY_ID_ALL_DATA_CERTIFIED = 0,
- EMBER_ZCL_DATA_QUALITY_ID_ONLY_INSTANTANEOUS_POWER_NOT_CERTIFIED = 1,
- EMBER_ZCL_DATA_QUALITY_ID_ONLY_CUMULATED_CONSUMPTION_NOT_CERTIFIED = 2,
- EMBER_ZCL_DATA_QUALITY_ID_NOT_CERTIFIED_DATA = 3,
-} EmberAfDataQualityId;
-
-// Enum for DebtAmountType
-typedef enum
-{
- EMBER_ZCL_DEBT_AMOUNT_TYPE_TYPE1_ABSOLUTE = 0,
- EMBER_ZCL_DEBT_AMOUNT_TYPE_TYPE1_INCREMENTAL = 1,
- EMBER_ZCL_DEBT_AMOUNT_TYPE_TYPE2_ABSOLUTE = 2,
- EMBER_ZCL_DEBT_AMOUNT_TYPE_TYPE2_INCREMENTAL = 3,
- EMBER_ZCL_DEBT_AMOUNT_TYPE_TYPE3_ABSOLUTE = 4,
- EMBER_ZCL_DEBT_AMOUNT_TYPE_TYPE3_INCREMENTAL = 5,
-} EmberAfDebtAmountType;
-
-// Enum for DebtRecoveryFrequency
-typedef enum
-{
- EMBER_ZCL_DEBT_RECOVERY_FREQUENCY_PER_HOUR = 0,
- EMBER_ZCL_DEBT_RECOVERY_FREQUENCY_PER_DAY = 1,
- EMBER_ZCL_DEBT_RECOVERY_FREQUENCY_PER_WEEK = 2,
- EMBER_ZCL_DEBT_RECOVERY_FREQUENCY_PER_MONTH = 3,
- EMBER_ZCL_DEBT_RECOVERY_FREQUENCY_PER_QUARTER = 4,
-} EmberAfDebtRecoveryFrequency;
-
-// Enum for DebtRecoveryMethod
-typedef enum
-{
- EMBER_ZCL_DEBT_RECOVERY_METHOD_TIME_BASED = 0,
- EMBER_ZCL_DEBT_RECOVERY_METHOD_PERCENTAGE_BASED = 1,
- EMBER_ZCL_DEBT_RECOVERY_METHOD_CATCH_UP_BASED = 2,
-} EmberAfDebtRecoveryMethod;
-
-// Enum for DehumidifcationLockout
-typedef enum
-{
- EMBER_ZCL_DEHUMIDIFCATION_LOCKOUT_NOT_ALLOWED = 0,
- EMBER_ZCL_DEHUMIDIFCATION_LOCKOUT_ALLOWED = 1,
-} EmberAfDehumidifcationLockout;
-
-// Enum for DeviceInformationRecordSort
-typedef enum
-{
- EMBER_ZCL_DEVICE_INFORMATION_RECORD_SORT_NOT_SORTED = 0,
- EMBER_ZCL_DEVICE_INFORMATION_RECORD_SORT_TOP_OF_THE_LIST = 1,
-} EmberAfDeviceInformationRecordSort;
-
-// Enum for DeviceStatus2Structure
-typedef enum
-{
- EMBER_ZCL_DEVICE_STATUS2_STRUCTURE_IRIS_SYMPTOM_CODE = 32,
-} EmberAfDeviceStatus2Structure;
-
-// Enum for DoorLockEventSource
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_EVENT_SOURCE_KEYPAD = 0,
- EMBER_ZCL_DOOR_LOCK_EVENT_SOURCE_RF = 1,
- EMBER_ZCL_DOOR_LOCK_EVENT_SOURCE_MANUAL = 2,
- EMBER_ZCL_DOOR_LOCK_EVENT_SOURCE_RFID = 3,
- EMBER_ZCL_DOOR_LOCK_EVENT_SOURCE_INDETERMINATE = 255,
-} EmberAfDoorLockEventSource;
-
-// Enum for DoorLockEventType
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_EVENT_TYPE_OPERATION = 0,
- EMBER_ZCL_DOOR_LOCK_EVENT_TYPE_PROGRAMMING = 1,
- EMBER_ZCL_DOOR_LOCK_EVENT_TYPE_ALARM = 2,
-} EmberAfDoorLockEventType;
-
-// Enum for DoorLockOperatingMode
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_OPERATING_MODE_NORMAL_MODE = 0,
- EMBER_ZCL_DOOR_LOCK_OPERATING_MODE_VACATION_MODE = 1,
- EMBER_ZCL_DOOR_LOCK_OPERATING_MODE_PRIVACY_MODE = 2,
- EMBER_ZCL_DOOR_LOCK_OPERATING_MODE_NO_RF_LOCK_OR_UNLOCK = 3,
- EMBER_ZCL_DOOR_LOCK_OPERATING_MODE_LOCAL_PROGRAMMING_MODE = 4,
- EMBER_ZCL_DOOR_LOCK_OPERATING_MODE_PASSAGE_MODE = 5,
-} EmberAfDoorLockOperatingMode;
-
-// Enum for DoorLockOperationEventCode
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_UNKNOWN_OR_MFG_SPECIFIC = 0,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_LOCK = 1,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_UNLOCK = 2,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_LOCK_INVALID_PIN_OR_ID = 3,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_LOCK_INVALID_SCHEDULE = 4,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_UNLOCK_INVALID_PIN_OR_ID = 5,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_UNLOCK_INVALID_SCHEDULE = 6,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_ONE_TOUCH_LOCK = 7,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_KEY_LOCK = 8,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_KEY_UNLOCK = 9,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_AUTO_LOCK = 10,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_SCHEDULE_LOCK = 11,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_SCHEDULE_UNLOCK = 12,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_MANUAL_LOCK = 13,
- EMBER_ZCL_DOOR_LOCK_OPERATION_EVENT_CODE_MANUAL_UNLOCK = 14,
-} EmberAfDoorLockOperationEventCode;
-
-// Enum for DoorLockProgrammingEventCode
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_PROGRAMMING_EVENT_CODE_UNKNOWN_OR_MFG_SPECIFIC = 0,
- EMBER_ZCL_DOOR_LOCK_PROGRAMMING_EVENT_CODE_MASTER_CODE_CHANGED = 1,
- EMBER_ZCL_DOOR_LOCK_PROGRAMMING_EVENT_CODE_PIN_ADDED = 2,
- EMBER_ZCL_DOOR_LOCK_PROGRAMMING_EVENT_CODE_PIN_DELETED = 3,
- EMBER_ZCL_DOOR_LOCK_PROGRAMMING_EVENT_CODE_PIN_CHANGED = 4,
- EMBER_ZCL_DOOR_LOCK_PROGRAMMING_EVENT_CODE_ID_ADDED = 5,
- EMBER_ZCL_DOOR_LOCK_PROGRAMMING_EVENT_CODE_ID_DELETED = 6,
-} EmberAfDoorLockProgrammingEventCode;
-
-// Enum for DoorLockSecurityLevel
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_SECURITY_LEVEL_NETWORK_SECURITY = 0,
- EMBER_ZCL_DOOR_LOCK_SECURITY_LEVEL_APS_SECURITY = 1,
-} EmberAfDoorLockSecurityLevel;
-
-// Enum for DoorLockSetPinOrIdStatus
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_SET_PIN_OR_ID_STATUS_SUCCESS = 0,
- EMBER_ZCL_DOOR_LOCK_SET_PIN_OR_ID_STATUS_GENERAL_FAILURE = 1,
- EMBER_ZCL_DOOR_LOCK_SET_PIN_OR_ID_STATUS_MEMORY_FULL = 2,
- EMBER_ZCL_DOOR_LOCK_SET_PIN_OR_ID_STATUS_DUPLICATE_CODE_ERROR = 3,
-} EmberAfDoorLockSetPinOrIdStatus;
-
-// Enum for DoorLockSoundVolume
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_SOUND_VOLUME_SILENT = 0,
- EMBER_ZCL_DOOR_LOCK_SOUND_VOLUME_LOW = 1,
- EMBER_ZCL_DOOR_LOCK_SOUND_VOLUME_HIGH = 2,
-} EmberAfDoorLockSoundVolume;
-
-// Enum for DoorLockState
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_STATE_NOT_FULLY_LOCKED = 0,
- EMBER_ZCL_DOOR_LOCK_STATE_LOCKED = 1,
- EMBER_ZCL_DOOR_LOCK_STATE_UNLOCKED = 2,
-} EmberAfDoorLockState;
-
-// Enum for DoorLockType
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_TYPE_DEAD_BOLT = 0,
- EMBER_ZCL_DOOR_LOCK_TYPE_MAGNETIC = 1,
- EMBER_ZCL_DOOR_LOCK_TYPE_MORTISE = 2,
- EMBER_ZCL_DOOR_LOCK_TYPE_RIM = 3,
- EMBER_ZCL_DOOR_LOCK_TYPE_LATCH_BOLT = 4,
- EMBER_ZCL_DOOR_LOCK_TYPE_CYLINDRICAL = 5,
- EMBER_ZCL_DOOR_LOCK_TYPE_TUBULAR = 6,
- EMBER_ZCL_DOOR_LOCK_TYPE_INTERCONNECTED = 7,
- EMBER_ZCL_DOOR_LOCK_TYPE_DEAD_LATCH = 8,
- EMBER_ZCL_DOOR_LOCK_TYPE_OTHER = 9,
-} EmberAfDoorLockType;
-
-// Enum for DoorLockUserStatus
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_USER_STATUS_AVAILABLE = 0,
- EMBER_ZCL_DOOR_LOCK_USER_STATUS_OCCUPIED_ENABLED = 1,
- EMBER_ZCL_DOOR_LOCK_USER_STATUS_OCCUPIED_DISABLED = 3,
- EMBER_ZCL_DOOR_LOCK_USER_STATUS_NOT_SUPPORTED = 255,
-} EmberAfDoorLockUserStatus;
-
-// Enum for DoorLockUserType
-typedef enum
-{
- EMBER_ZCL_DOOR_LOCK_USER_TYPE_UNRESTRICTED = 0,
- EMBER_ZCL_DOOR_LOCK_USER_TYPE_YEAR_DAY_SCHEDULE_USER = 1,
- EMBER_ZCL_DOOR_LOCK_USER_TYPE_WEEK_DAY_SCHEDULE_USER = 2,
- EMBER_ZCL_DOOR_LOCK_USER_TYPE_MASTER_USER = 3,
- EMBER_ZCL_DOOR_LOCK_USER_TYPE_NON_ACCESS_USER = 4,
- EMBER_ZCL_DOOR_LOCK_USER_TYPE_NOT_SUPPORTED = 255,
-} EmberAfDoorLockUserType;
-
-// Enum for DoorState
-typedef enum
-{
- EMBER_ZCL_DOOR_STATE_OPEN = 0,
- EMBER_ZCL_DOOR_STATE_CLOSED = 1,
- EMBER_ZCL_DOOR_STATE_ERROR_JAMMED = 2,
- EMBER_ZCL_DOOR_STATE_ERROR_FORCED_OPEN = 3,
- EMBER_ZCL_DOOR_STATE_ERROR_UNSPECIFIED = 4,
-} EmberAfDoorState;
-
-// Enum for ElectricityAlarmGroups
-typedef enum
-{
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_LOW_VOLTAGE_L1 = 16,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_HIGH_VOLTAGE_L1 = 17,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_LOW_VOLTAGE_L2 = 18,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_HIGH_VOLTAGE_L2 = 19,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_LOW_VOLTAGE_L3 = 20,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_HIGH_VOLTAGE_L3 = 21,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_OVER_CURRENT_L1 = 22,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_OVER_CURRENT_L2 = 23,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_OVER_CURRENT_L3 = 24,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_FREQUENCY_TOO_LOW_L1 = 25,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_FREQUENCY_TOO_HIGH_L1 = 26,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_FREQUENCY_TOO_LOW_L2 = 27,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_FREQUENCY_TOO_HIGH_L2 = 28,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_FREQUENCY_TOO_LOW_L3 = 29,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_FREQUENCY_TOO_HIGH_L3 = 30,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_GROUND_FAULT = 31,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_ELECTRIC_TAMPER_DETECT = 32,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_INCORRECT_POLARITY = 33,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_CURRENT_NO_VOLTAGE = 34,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_UNDER_VOLTAGE = 35,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_OVER_VOLTAGE = 36,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_NORMAL_VOLTAGE = 37,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_PF_BELOW_THRESHOLD = 38,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_PF_ABOVE_THRESHOLD = 39,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_TERMINAL_COVER_REMOVED = 40,
- EMBER_ZCL_ELECTRICITY_ALARM_GROUPS_TERMINAL_COVER_CLOSED = 41,
-} EmberAfElectricityAlarmGroups;
-
-// Enum for EnhancedColorMode
-typedef enum
-{
- EMBER_ZCL_ENHANCED_COLOR_MODE_CURRENT_HUE_AND_CURRENT_SATURATION = 0,
- EMBER_ZCL_ENHANCED_COLOR_MODE_CURRENT_X_AND_CURRENT_Y = 1,
- EMBER_ZCL_ENHANCED_COLOR_MODE_COLOR_TEMPERATURE = 2,
- EMBER_ZCL_ENHANCED_COLOR_MODE_ENHANCED_CURRENT_HUE_AND_CURRENT_SATURATION = 3,
-} EmberAfEnhancedColorMode;
-
-// Enum for EventConfigurationControl
-typedef enum
-{
- EMBER_ZCL_EVENT_CONFIGURATION_CONTROL_APPLY_BY_LIST = 0,
- EMBER_ZCL_EVENT_CONFIGURATION_CONTROL_APPLY_BY_EVENT_GROUP = 1,
- EMBER_ZCL_EVENT_CONFIGURATION_CONTROL_APPLY_BY_LOG_TYPE = 2,
- EMBER_ZCL_EVENT_CONFIGURATION_CONTROL_APPLY_BY_CONFIGURATION_MATCH = 3,
-} EmberAfEventConfigurationControl;
-
-// Enum for EventConfigurationLogAction
-typedef enum
-{
- EMBER_ZCL_EVENT_CONFIGURATION_LOG_ACTION_DO_NOT_LOG = 0,
- EMBER_ZCL_EVENT_CONFIGURATION_LOG_ACTION_LOG_AS_TAMPER = 1,
- EMBER_ZCL_EVENT_CONFIGURATION_LOG_ACTION_LOG_AS_FAULT = 2,
- EMBER_ZCL_EVENT_CONFIGURATION_LOG_ACTION_LOG_AS_GENERAL_EVENT = 3,
- EMBER_ZCL_EVENT_CONFIGURATION_LOG_ACTION_LOG_AS_SECURITY_EVENT = 4,
- EMBER_ZCL_EVENT_CONFIGURATION_LOG_ACTION_LOG_AS_NETWORK_EVENT = 5,
-} EmberAfEventConfigurationLogAction;
-
-// Enum for EventControl
-typedef enum
-{
- EMBER_ZCL_EVENT_CONTROL_RETRIEVE_MINIMAL_INFORMATION = 0,
- EMBER_ZCL_EVENT_CONTROL_RETRIEVE_FULL_INFORMATION = 16,
-} EmberAfEventControl;
-
-// Enum for EventId
-typedef enum
-{
- EMBER_ZCL_EVENT_ID_METER_COVER_REMOVED = 0,
- EMBER_ZCL_EVENT_ID_METER_COVER_CLOSED = 1,
- EMBER_ZCL_EVENT_ID_STRONG_MAGNETIC_FIELD = 2,
- EMBER_ZCL_EVENT_ID_NO_STRONG_MAGNETIC_FIELD = 3,
- EMBER_ZCL_EVENT_ID_BATTERY_FAILURE = 4,
- EMBER_ZCL_EVENT_ID_LOW_BATTERY = 5,
- EMBER_ZCL_EVENT_ID_PROGRAM_MEMORY_ERROR = 6,
- EMBER_ZCL_EVENT_ID_RAM_ERROR = 7,
- EMBER_ZCL_EVENT_ID_NV_MEMORY_ERROR = 8,
- EMBER_ZCL_EVENT_ID_MEASUREMENT_SYSTEM_ERROR = 9,
- EMBER_ZCL_EVENT_ID_WATCHDOG_ERROR = 10,
- EMBER_ZCL_EVENT_ID_SUPPLY_DISCONNECT_FAILURE = 11,
- EMBER_ZCL_EVENT_ID_SUPPLY_CONNECT_FAILURE = 12,
- EMBER_ZCL_EVENT_ID_MEASURMENT_SOFTWARE_CHANGED = 13,
- EMBER_ZCL_EVENT_ID_DST_ENABLED = 14,
- EMBER_ZCL_EVENT_ID_DST_DISABLED = 15,
- EMBER_ZCL_EVENT_ID_CLOCK_ADJ_BACKWARD = 16,
- EMBER_ZCL_EVENT_ID_CLOCK_ADJ_FORWARD = 17,
- EMBER_ZCL_EVENT_ID_CLOCK_INVALID = 18,
- EMBER_ZCL_EVENT_ID_COMMS_ERROR_HAN = 19,
- EMBER_ZCL_EVENT_ID_COMMS_OK_HAN = 20,
- EMBER_ZCL_EVENT_ID_FRAUD_ATTEMPT = 21,
- EMBER_ZCL_EVENT_ID_POWER_LOSS = 22,
- EMBER_ZCL_EVENT_ID_INCORRECT_PROTOCOL = 23,
- EMBER_ZCL_EVENT_ID_UNUSUAL_HAN_TRAFFIC = 24,
- EMBER_ZCL_EVENT_ID_UNEXPECTED_CLOCK_CHANGE = 25,
- EMBER_ZCL_EVENT_ID_COMMS_USING_UNAUTHENTICATED_COMPONENT = 26,
- EMBER_ZCL_EVENT_ID_ERROR_REG_CLEAR = 27,
- EMBER_ZCL_EVENT_ID_ALARM_REG_CLEAR = 28,
- EMBER_ZCL_EVENT_ID_UNEXPECTED_HW_RESET = 29,
- EMBER_ZCL_EVENT_ID_UNEXPECTED_PROGRAM_EXECUTION = 30,
- EMBER_ZCL_EVENT_ID_EVENT_LOG_CLEARED = 31,
- EMBER_ZCL_EVENT_ID_MANUAL_DISCONNECT = 32,
- EMBER_ZCL_EVENT_ID_MANUAL_CONNECT = 33,
- EMBER_ZCL_EVENT_ID_REMOTE_DISCONNECTION = 34,
- EMBER_ZCL_EVENT_ID_LOCAL_DISCONNECTION = 35,
- EMBER_ZCL_EVENT_ID_LIMIT_THRESHOLD_EXCEEDED = 36,
- EMBER_ZCL_EVENT_ID_LIMIT_THRESHOLD_OK = 37,
- EMBER_ZCL_EVENT_ID_LIMIT_THRESHOLD_CHANGED = 38,
- EMBER_ZCL_EVENT_ID_MAXIMUM_DEMAND_EXCEEDED = 39,
- EMBER_ZCL_EVENT_ID_PROFILE_CLEARED = 40,
- EMBER_ZCL_EVENT_ID_FIRMWARE_READY_FOR_ACTIVATION = 41,
- EMBER_ZCL_EVENT_ID_FIRMWARE_ACTIVATED = 42,
- EMBER_ZCL_EVENT_ID_PATCH_FAILURE = 43,
- EMBER_ZCL_EVENT_ID_TOU_TARIFF_ACTIVATION = 44,
- EMBER_ZCL_EVENT_ID_8X8_TARIFFACTIVATED = 45,
- EMBER_ZCL_EVENT_ID_SINGLE_TARIFF_RATE_ACTIVATED = 46,
- EMBER_ZCL_EVENT_ID_ASYNCHRONOUS_BILLING_OCCURRED = 47,
- EMBER_ZCL_EVENT_ID_SYNCHRONOUS_BILLING_OCCURRED = 48,
- EMBER_ZCL_EVENT_ID_INCORRECT_POLARITY = 128,
- EMBER_ZCL_EVENT_ID_CURRENT_NO_VOLTAGE = 129,
- EMBER_ZCL_EVENT_ID_UNDER_VOLTAGE = 130,
- EMBER_ZCL_EVENT_ID_OVER_VOLTAGE = 131,
- EMBER_ZCL_EVENT_ID_NORMAL_VOLTAGE = 132,
- EMBER_ZCL_EVENT_ID_PF_BELOW_THRESHOLD = 133,
- EMBER_ZCL_EVENT_ID_PF_ABOVE_THRESHOLD = 134,
- EMBER_ZCL_EVENT_ID_TERMINAL_COVER_REMOVED = 135,
- EMBER_ZCL_EVENT_ID_TERMINAL_COVER_CLOSED = 136,
- EMBER_ZCL_EVENT_ID_REVERSE_FLOW = 160,
- EMBER_ZCL_EVENT_ID_TILT_TAMPER = 161,
- EMBER_ZCL_EVENT_ID_BATTERY_COVER_REMOVED = 162,
- EMBER_ZCL_EVENT_ID_BATTERY_COVER_CLOSED = 163,
- EMBER_ZCL_EVENT_ID_EXCESS_FLOW = 164,
- EMBER_ZCL_EVENT_ID_CREDIT_OK = 192,
- EMBER_ZCL_EVENT_ID_LOW_CREDIT = 193,
- EMBER_ZCL_EVENT_ID_EMERGENCY_CREDIT_IN_USE = 192,
- EMBER_ZCL_EVENT_ID_EMERGENCY_CREDIT_EXHAUSTED = 193,
- EMBER_ZCL_EVENT_ID_ZERO_CREDIT_EC_NOT_SELECTED = 194,
- EMBER_ZCL_EVENT_ID_SUPPLY_ON = 195,
- EMBER_ZCL_EVENT_ID_SUPPLY_OFF_AARMED = 196,
- EMBER_ZCL_EVENT_ID_SUPPLY_OFF = 197,
- EMBER_ZCL_EVENT_ID_DISCOUNT_APPLIED = 198,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_A = 224,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_B = 225,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_C = 226,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_D = 227,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_E = 228,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_F = 229,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_G = 230,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_H = 231,
- EMBER_ZCL_EVENT_ID_MANUFACTURER_SPECIFIC_I = 232,
-} EmberAfEventId;
-
-// Enum for EventIdentification
-typedef enum
-{
- EMBER_ZCL_EVENT_IDENTIFICATION_END_OF_CYCLE = 1,
- EMBER_ZCL_EVENT_IDENTIFICATION_TEMPERATURE_REACHED = 4,
- EMBER_ZCL_EVENT_IDENTIFICATION_END_OF_COOKING = 5,
- EMBER_ZCL_EVENT_IDENTIFICATION_SWITCHING_OFF = 6,
- EMBER_ZCL_EVENT_IDENTIFICATION_WRONG_DATA = 7,
-} EmberAfEventIdentification;
-
-// Enum for EventLogId
-typedef enum
-{
- EMBER_ZCL_EVENT_LOG_ID_ALL_LOGS = 0,
- EMBER_ZCL_EVENT_LOG_ID_TAMPER_LOG = 1,
- EMBER_ZCL_EVENT_LOG_ID_FAULT_LOG = 2,
- EMBER_ZCL_EVENT_LOG_ID_GENERAL_EVENT_LOG = 3,
- EMBER_ZCL_EVENT_LOG_ID_SECURITY_EVENT_LOG = 4,
- EMBER_ZCL_EVENT_LOG_ID_NETWORK_EVENT_LOG = 5,
- EMBER_ZCL_EVENT_LOG_ID_GBCS_GENERAL_EVENT_LOG = 6,
- EMBER_ZCL_EVENT_LOG_ID_GBCS_SECURITY_EVENT_LOG = 7,
-} EmberAfEventLogId;
-
-// Enum for EventLogPayloadControl
-typedef enum
-{
- EMBER_ZCL_EVENT_LOG_PAYLOAD_CONTROL_EVENTS_DO_NOT_CROSS_FRAME_BOUNDARY = 0,
- EMBER_ZCL_EVENT_LOG_PAYLOAD_CONTROL_EVENT_CROSSES_FRAME_BOUNDARY = 1,
-} EmberAfEventLogPayloadControl;
-
-// Enum for ExtendedGenericAlarmGroups
-typedef enum
-{
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_MEASUREMENT_SYSTEM_ERROR = 112,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_WATCHDOG_ERROR = 113,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_SUPPLY_DISCONNECT_FAILURE = 114,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_SUPPLY_CONNECT_FAILURE = 115,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_MEASURMENT_SOFTWARE_CHANGED = 116,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_DST_ENABLED = 117,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_DST_DISABLED = 118,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_CLOCK_ADJ_BACKWARD = 119,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_CLOCK_ADJ_FORWARD = 120,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_CLOCK_INVALID = 121,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_COMMUNICATION_ERROR_HAN = 122,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_COMMUNICATION_OK_H_AN = 123,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_METER_FRAUD_ATTEMPT = 124,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_POWER_LOSS = 125,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_UNUSUAL_HAN_TRAFFIC = 126,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_UNEXPECTED_CLOCK_CHANGE = 127,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_COMMS_USING_UNAUTHENTICATED_COMPONENT = 128,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_ERROR_REG_CLEAR = 129,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_ALARM_REG_CLEAR = 130,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_UNEXPECTED_HW_RESET = 131,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_UNEXPECTED_PROGRAM_EXECUTION = 132,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_EVENT_LOG_CLEARED = 133,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_LIMIT_THRESHOLD_EXCEEDED = 134,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_LIMIT_THRESHOLD_OK = 135,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_LIMIT_THRESHOLD_CHANGED = 136,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_MAXIMUM_DEMAND_EXCEEDED = 137,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_PROFILE_CLEARED = 138,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_SAMPLING_BUFFERCLEARED = 139,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_BATTERY_WARNING = 140,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_WRONG_SIGNATURE = 141,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_NO_SIGNATURE = 142,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_UNAUTHORISED_ACTIONFROM_HAN = 143,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_FAST_POLLING_START = 144,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_FAST_POLLING_END = 145,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_METER_REPORTING_INTERVAL_CHANGED = 146,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_DISCONNECT_DUETO_LOAD_LIMIT = 147,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_METER_SUPPLY_STATUS_REGISTER_CHANGED = 148,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_METER_ALARM_STATUS_REGISTER_CHANGED = 149,
- EMBER_ZCL_EXTENDED_GENERIC_ALARM_GROUPS_EXTENDED_METER_ALARM_STATUS_REGISTER_CHANGED = 150,
-} EmberAfExtendedGenericAlarmGroups;
-
-// Enum for ExtendedNumberOfPriceTiers
-typedef enum
-{
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_REFER_TO_NUMBER_OF_PRICE_TIERS_FIELD = 0,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS16 = 1,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS17 = 2,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS18 = 3,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS19 = 4,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS20 = 5,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS21 = 6,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS22 = 7,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS23 = 8,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS24 = 9,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS25 = 10,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS26 = 11,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS27 = 12,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS28 = 13,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS29 = 14,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS30 = 15,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS31 = 16,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS32 = 17,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS33 = 18,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS34 = 19,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS35 = 20,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS36 = 21,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS37 = 22,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS38 = 23,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS39 = 24,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS40 = 25,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS41 = 26,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS42 = 27,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS43 = 28,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS44 = 29,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS45 = 30,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS46 = 31,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS47 = 32,
- EMBER_ZCL_EXTENDED_NUMBER_OF_PRICE_TIERS_NUMBER_OF_PRICE_TIERS48 = 33,
-} EmberAfExtendedNumberOfPriceTiers;
-
-// Enum for ExtendedPriceTier
-typedef enum
-{
- EMBER_ZCL_EXTENDED_PRICE_TIER_REFER_TO_PRICE_TIER_FIELD = 0,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER16_PRICE_LABEL = 1,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER17_PRICE_LABEL = 2,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER18_PRICE_LABEL = 3,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER19_PRICE_LABEL = 4,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER20_PRICE_LABEL = 5,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER21_PRICE_LABEL = 6,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER22_PRICE_LABEL = 7,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER23_PRICE_LABEL = 8,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER24_PRICE_LABEL = 9,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER25_PRICE_LABEL = 10,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER26_PRICE_LABEL = 11,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER27_PRICE_LABEL = 12,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER28_PRICE_LABEL = 13,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER29_PRICE_LABEL = 14,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER30_PRICE_LABEL = 15,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER31_PRICE_LABEL = 16,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER32_PRICE_LABEL = 17,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER33_PRICE_LABEL = 18,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER34_PRICE_LABEL = 19,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER35_PRICE_LABEL = 20,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER36_PRICE_LABEL = 21,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER37_PRICE_LABEL = 22,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER38_PRICE_LABEL = 23,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER39_PRICE_LABEL = 24,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER40_PRICE_LABEL = 25,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER41_PRICE_LABEL = 26,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER42_PRICE_LABEL = 27,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER43_PRICE_LABEL = 28,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER44_PRICE_LABEL = 29,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER45_PRICE_LABEL = 30,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER46_PRICE_LABEL = 31,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER47_PRICE_LABEL = 32,
- EMBER_ZCL_EXTENDED_PRICE_TIER_TIER48_PRICE_LABEL = 33,
-} EmberAfExtendedPriceTier;
-
-// Enum for ExtendedRegisterTier
-typedef enum
-{
- EMBER_ZCL_EXTENDED_REGISTER_TIER_REFER_TO_REGISTER_TIER_FIELD = 0,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER16_SUMMATION_DELIVERED_ATTRIBUTE = 1,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER17_SUMMATION_DELIVERED_ATTRIBUTE = 2,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER18_SUMMATION_DELIVERED_ATTRIBUTE = 3,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER19_SUMMATION_DELIVERED_ATTRIBUTE = 4,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER20_SUMMATION_DELIVERED_ATTRIBUTE = 5,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER21_SUMMATION_DELIVERED_ATTRIBUTE = 6,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER22_SUMMATION_DELIVERED_ATTRIBUTE = 7,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER23_SUMMATION_DELIVERED_ATTRIBUTE = 8,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER24_SUMMATION_DELIVERED_ATTRIBUTE = 9,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER25_SUMMATION_DELIVERED_ATTRIBUTE = 10,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER26_SUMMATION_DELIVERED_ATTRIBUTE = 11,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER27_SUMMATION_DELIVERED_ATTRIBUTE = 12,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER28_SUMMATION_DELIVERED_ATTRIBUTE = 13,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER29_SUMMATION_DELIVERED_ATTRIBUTE = 14,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER30_SUMMATION_DELIVERED_ATTRIBUTE = 15,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER31_SUMMATION_DELIVERED_ATTRIBUTE = 16,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER32_SUMMATION_DELIVERED_ATTRIBUTE = 17,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER33_SUMMATION_DELIVERED_ATTRIBUTE = 18,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER34_SUMMATION_DELIVERED_ATTRIBUTE = 19,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER35_SUMMATION_DELIVERED_ATTRIBUTE = 20,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER36_SUMMATION_DELIVERED_ATTRIBUTE = 21,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER37_SUMMATION_DELIVERED_ATTRIBUTE = 22,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER38_SUMMATION_DELIVERED_ATTRIBUTE = 23,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER39_SUMMATION_DELIVERED_ATTRIBUTE = 24,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER40_SUMMATION_DELIVERED_ATTRIBUTE = 25,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER41_SUMMATION_DELIVERED_ATTRIBUTE = 26,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER42_SUMMATION_DELIVERED_ATTRIBUTE = 27,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER43_SUMMATION_DELIVERED_ATTRIBUTE = 28,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER44_SUMMATION_DELIVERED_ATTRIBUTE = 29,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER45_SUMMATION_DELIVERED_ATTRIBUTE = 30,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER46_SUMMATION_DELIVERED_ATTRIBUTE = 31,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER47_SUMMATION_DELIVERED_ATTRIBUTE = 32,
- EMBER_ZCL_EXTENDED_REGISTER_TIER_CURRENT_TIER48_SUMMATION_DELIVERED_ATTRIBUTE = 33,
-} EmberAfExtendedRegisterTier;
-
-// Enum for EzModeCommissioningClusterType
-typedef enum
-{
- EMBER_ZCL_EZ_MODE_COMMISSIONING_CLUSTER_TYPE_SERVER = 0,
- EMBER_ZCL_EZ_MODE_COMMISSIONING_CLUSTER_TYPE_CLIENT = 1,
-} EmberAfEzModeCommissioningClusterType;
-
-// Enum for FanMode
-typedef enum
-{
- EMBER_ZCL_FAN_MODE_OFF = 0,
- EMBER_ZCL_FAN_MODE_LOW = 1,
- EMBER_ZCL_FAN_MODE_MEDIUM = 2,
- EMBER_ZCL_FAN_MODE_HIGH = 3,
- EMBER_ZCL_FAN_MODE_ON = 4,
- EMBER_ZCL_FAN_MODE_AUTO = 5,
- EMBER_ZCL_FAN_MODE_SMART = 6,
-} EmberAfFanMode;
-
-// Enum for FanModeSequence
-typedef enum
-{
- EMBER_ZCL_FAN_MODE_SEQUENCE_LOW_MED_HIGH = 0,
- EMBER_ZCL_FAN_MODE_SEQUENCE_LOW_HIGH = 1,
- EMBER_ZCL_FAN_MODE_SEQUENCE_LOW_MED_HIGH_AUTO = 2,
- EMBER_ZCL_FAN_MODE_SEQUENCE_LOW_HIGH_AUTO = 3,
- EMBER_ZCL_FAN_MODE_SEQUENCE_ON_AUTO = 4,
-} EmberAfFanModeSequence;
-
-// Enum for GasSpecificAlarmGroups
-typedef enum
-{
- EMBER_ZCL_GAS_SPECIFIC_ALARM_GROUPS_TILT_TAMPER = 96,
- EMBER_ZCL_GAS_SPECIFIC_ALARM_GROUPS_BATTERY_COVER_REMOVED = 97,
- EMBER_ZCL_GAS_SPECIFIC_ALARM_GROUPS_BATTERY_COVER_CLOSED = 98,
- EMBER_ZCL_GAS_SPECIFIC_ALARM_GROUPS_EXCESS_FLOW = 99,
- EMBER_ZCL_GAS_SPECIFIC_ALARM_GROUPS_TILT_TAMPER_ENDED = 100,
-} EmberAfGasSpecificAlarmGroups;
-
-// Enum for GeneralCommissioningError
-typedef enum
-{
- EMBER_ZCL_GENERAL_COMMISSIONING_ERROR_OK = 0,
- EMBER_ZCL_GENERAL_COMMISSIONING_ERROR_VALUE_OUTSIDE_RANGE = 1,
- EMBER_ZCL_GENERAL_COMMISSIONING_ERROR_INVALID_AUTHENTICATION = 2,
-} EmberAfGeneralCommissioningError;
-
-// Enum for GenerationTier
-typedef enum
-{
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER1_SUMMATION_RECEIVED_ATTRIBUTE = 1,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER2_SUMMATION_RECEIVED_ATTRIBUTE = 2,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER3_SUMMATION_RECEIVED_ATTRIBUTE = 3,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER4_SUMMATION_RECEIVED_ATTRIBUTE = 4,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER5_SUMMATION_RECEIVED_ATTRIBUTE = 5,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER6_SUMMATION_RECEIVED_ATTRIBUTE = 6,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER7_SUMMATION_RECEIVED_ATTRIBUTE = 7,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER8_SUMMATION_RECEIVED_ATTRIBUTE = 8,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER9_SUMMATION_RECEIVED_ATTRIBUTE = 9,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER10_SUMMATION_RECEIVED_ATTRIBUTE = 10,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER11_SUMMATION_RECEIVED_ATTRIBUTE = 11,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER12_SUMMATION_RECEIVED_ATTRIBUTE = 12,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER13_SUMMATION_RECEIVED_ATTRIBUTE = 13,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER14_SUMMATION_RECEIVED_ATTRIBUTE = 14,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER15_SUMMATION_RECEIVED_ATTRIBUTE = 15,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER16_SUMMATION_RECEIVED_ATTRIBUTE = 16,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER17_SUMMATION_RECEIVED_ATTRIBUTE = 17,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER18_SUMMATION_RECEIVED_ATTRIBUTE = 18,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER19_SUMMATION_RECEIVED_ATTRIBUTE = 19,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER20_SUMMATION_RECEIVED_ATTRIBUTE = 20,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER21_SUMMATION_RECEIVED_ATTRIBUTE = 21,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER22_SUMMATION_RECEIVED_ATTRIBUTE = 22,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER23_SUMMATION_RECEIVED_ATTRIBUTE = 23,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER24_SUMMATION_RECEIVED_ATTRIBUTE = 24,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER25_SUMMATION_RECEIVED_ATTRIBUTE = 25,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER26_SUMMATION_RECEIVED_ATTRIBUTE = 26,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER27_SUMMATION_RECEIVED_ATTRIBUTE = 27,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER28_SUMMATION_RECEIVED_ATTRIBUTE = 28,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER29_SUMMATION_RECEIVED_ATTRIBUTE = 29,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER30_SUMMATION_RECEIVED_ATTRIBUTE = 30,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER31_SUMMATION_RECEIVED_ATTRIBUTE = 31,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER32_SUMMATION_RECEIVED_ATTRIBUTE = 32,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER33_SUMMATION_RECEIVED_ATTRIBUTE = 33,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER34_SUMMATION_RECEIVED_ATTRIBUTE = 34,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER35_SUMMATION_RECEIVED_ATTRIBUTE = 35,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER36_SUMMATION_RECEIVED_ATTRIBUTE = 36,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER37_SUMMATION_RECEIVED_ATTRIBUTE = 37,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER38_SUMMATION_RECEIVED_ATTRIBUTE = 38,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER39_SUMMATION_RECEIVED_ATTRIBUTE = 39,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER40_SUMMATION_RECEIVED_ATTRIBUTE = 40,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER41_SUMMATION_RECEIVED_ATTRIBUTE = 41,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER42_SUMMATION_RECEIVED_ATTRIBUTE = 42,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER43_SUMMATION_RECEIVED_ATTRIBUTE = 43,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER44_SUMMATION_RECEIVED_ATTRIBUTE = 44,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER45_SUMMATION_RECEIVED_ATTRIBUTE = 45,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER46_SUMMATION_RECEIVED_ATTRIBUTE = 46,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER47_SUMMATION_RECEIVED_ATTRIBUTE = 47,
- EMBER_ZCL_GENERATION_TIER_CURRENT_TIER48_SUMMATION_RECEIVED_ATTRIBUTE = 48,
-} EmberAfGenerationTier;
-
-// Enum for GenericAlarmGroups
-typedef enum
-{
- EMBER_ZCL_GENERIC_ALARM_GROUPS_CHECK_METER = 0,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_LOW_BATTERY = 1,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_TAMPER_DETECT = 2,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_LEAK_DETECT = 5,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_SERVICE_DISCONNECT = 6,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_METER_COVER_REMOVED = 8,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_METER_COVER_CLOSED = 9,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_STRONG_MAGNETIC_FIELD = 10,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_NO_STRONG_MAGNETIC_FIELD = 11,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_BATTERY_FAILURE = 12,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_PROGRAM_MEMORY_ERROR = 13,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_RAM_ERROR = 14,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_NV_MEMORY_ERROR = 15,
-} EmberAfGenericAlarmGroups;
-
-// Enum for GenericAlarmGroupsElectricity
-typedef enum
-{
- EMBER_ZCL_GENERIC_ALARM_GROUPS_ELECTRICITY_POWER_FAILURE = 3,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_ELECTRICITY_POWER_QUALITY = 4,
-} EmberAfGenericAlarmGroupsElectricity;
-
-// Enum for GenericAlarmGroupsGas
-typedef enum
-{
- EMBER_ZCL_GENERIC_ALARM_GROUPS_GAS_LOW_PRESSURE = 4,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_GAS_REVERSE_FLOW = 7,
-} EmberAfGenericAlarmGroupsGas;
-
-// Enum for GenericAlarmGroupsHeatCooling
-typedef enum
-{
- EMBER_ZCL_GENERIC_ALARM_GROUPS_HEAT_COOLING_TEMPERATURE_SENSOR = 3,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_HEAT_COOLING_BURST_DETECT = 4,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_HEAT_COOLING_FLOW_SENSOR = 7,
-} EmberAfGenericAlarmGroupsHeatCooling;
-
-// Enum for GenericAlarmGroupsWater
-typedef enum
-{
- EMBER_ZCL_GENERIC_ALARM_GROUPS_WATER_WATER_PIPE_EMPTY = 3,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_WATER_WATER_LOW_PRESSURE = 4,
- EMBER_ZCL_GENERIC_ALARM_GROUPS_WATER_WATER_REVERSE_FLOW = 7,
-} EmberAfGenericAlarmGroupsWater;
-
-// Enum for GenericDeviceClass
-typedef enum
-{
- EMBER_ZCL_GENERIC_DEVICE_CLASS_LIGHTING = 0,
-} EmberAfGenericDeviceClass;
-
-// Enum for GenericDeviceType
-typedef enum
-{
- EMBER_ZCL_GENERIC_DEVICE_TYPE_INCANDESCENT = 0,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_SPOTLIGHT_HALOGEN = 1,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_HALOGEN_BULB = 2,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_CFL = 3,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_LINEAR_FLOURESCENT = 4,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_LED_BULB = 5,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_SPOTLIGHT_LED = 6,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_LED_STRIP = 7,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_LED_TUBE = 8,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_GENERIC_INDOOR_FIXTURE = 9,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_GENERIC_OUTDOOR_FIXTURE = 10,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_PENDANT_FIXTURE = 11,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_FLOOR_STANDING_FIXTURE = 12,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_GENERIC_CONTROLLER = 224,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_WALL_SWITCH = 225,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_PORTABLE_REMOTE_CONTROLLER = 226,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_MOTION_OR_LIGHT_SENSOR = 227,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_GENERIC_ACTUATOR = 240,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_PLUGIN_UNIT = 241,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_RETROFIT_ACTUATOR = 242,
- EMBER_ZCL_GENERIC_DEVICE_TYPE_UNSPECIFIED = 255,
-} EmberAfGenericDeviceType;
-
-// Enum for GenericFlowPressureAlarmGroups
-typedef enum
-{
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_BURST_DETECT = 48,
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_PRESSURE_TOO_LOW = 49,
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_PRESSURE_TOO_HIGH = 50,
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_FLOW_SENSOR_COMMUNICATION_ERROR = 51,
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_FLOW_SENSOR_MEASUREMENT_FAULT = 52,
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_FLOW_SENSOR_REVERSE_FLOW = 53,
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_FLOW_SENSOR_AIR_DETECT = 54,
- EMBER_ZCL_GENERIC_FLOW_PRESSURE_ALARM_GROUPS_PIPE_EMPTY = 55,
-} EmberAfGenericFlowPressureAlarmGroups;
-
-// Enum for GpDeviceId
-typedef enum
-{
- EMBER_ZCL_GP_DEVICE_ID_GP_SIMPLE_GENERIC_ONE_STATE_SWITCH = 0,
- EMBER_ZCL_GP_DEVICE_ID_GP_SIMPLE_GENERIC_TWO_STATE_SWITCH = 0,
- EMBER_ZCL_GP_DEVICE_ID_GP_ON_OFF_SWITCH = 8,
- EMBER_ZCL_GP_DEVICE_ID_GP_LEVEL_CONTROL_SWITCH = 16,
- EMBER_ZCL_GP_DEVICE_ID_GP_SIMPLE_SENSOR = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_ADVANCED_GENERIC_ONE_STATE_SWITCH = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_ADVANCED_GENERIC_TWO_STATE_SWITCH = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_COLOR_DIMMER_SWITCH = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_LIGHT_SENSOR = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_OCCPANCY_SENSOR = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_DOOR_LOCK_CONTROLLER = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_TEMPERATURE_SENSOR = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_PRESSURE_SENSOR = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_FLOW_SENSOR = 24,
- EMBER_ZCL_GP_DEVICE_ID_GP_INDOOR_ENVIRONMENT_SNESOR = 24,
-} EmberAfGpDeviceId;
-
-// Enum for GpGpdf
-typedef enum
-{
- EMBER_ZCL_GP_GPDF_IDENTIFY = 0,
- EMBER_ZCL_GP_GPDF_MATCH_ONLY_ON_GPD_ADDRESS = 2,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE0 = 16,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE1 = 17,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE2 = 18,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE3 = 19,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE4 = 20,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE5 = 21,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE6 = 22,
- EMBER_ZCL_GP_GPDF_RECALL_SCENE7 = 23,
- EMBER_ZCL_GP_GPDF_STORE_SCENE0 = 24,
- EMBER_ZCL_GP_GPDF_STORE_SCENE1 = 25,
- EMBER_ZCL_GP_GPDF_STORE_SCENE2 = 26,
- EMBER_ZCL_GP_GPDF_STORE_SCENE3 = 27,
- EMBER_ZCL_GP_GPDF_STORE_SCENE4 = 28,
- EMBER_ZCL_GP_GPDF_STORE_SCENE5 = 29,
- EMBER_ZCL_GP_GPDF_STORE_SCENE6 = 30,
- EMBER_ZCL_GP_GPDF_STORE_SCENE7 = 31,
- EMBER_ZCL_GP_GPDF_OFF = 32,
- EMBER_ZCL_GP_GPDF_ON = 33,
- EMBER_ZCL_GP_GPDF_TOGGLE = 34,
- EMBER_ZCL_GP_GPDF_RELEASE = 35,
- EMBER_ZCL_GP_GPDF_MOVE_UP = 48,
- EMBER_ZCL_GP_GPDF_MOVE_DOWN = 49,
- EMBER_ZCL_GP_GPDF_STEP_UP = 50,
- EMBER_ZCL_GP_GPDF_STEP_DOWN = 51,
- EMBER_ZCL_GP_GPDF_LEVEL_CONTROL_STOP = 52,
- EMBER_ZCL_GP_GPDF_MOVE_UP_WITH_ON_OFF = 53,
- EMBER_ZCL_GP_GPDF_MOVE_DOWN_WITH_ON_OFF = 54,
- EMBER_ZCL_GP_GPDF_STEP_UP_WITH_ON_OFF = 55,
- EMBER_ZCL_GP_GPDF_STEP_DOWN_WITH_ON_OFF = 56,
- EMBER_ZCL_GP_GPDF_MOVE_HUE_STOP = 64,
- EMBER_ZCL_GP_GPDF_MOVE_HUE_UP = 65,
- EMBER_ZCL_GP_GPDF_MOVE_HUE_DOWN = 66,
- EMBER_ZCL_GP_GPDF_STEP_HUE_UP = 67,
- EMBER_ZCL_GP_GPDF_STEP_HUE_DOWN = 68,
- EMBER_ZCL_GP_GPDF_MOVE_SATURATION_STOP = 69,
- EMBER_ZCL_GP_GPDF_MOVE_SATURATION_UP = 70,
- EMBER_ZCL_GP_GPDF_MOVE_SATURATION_DOWN = 71,
- EMBER_ZCL_GP_GPDF_STEP_SATURATION_UP = 72,
- EMBER_ZCL_GP_GPDF_STEP_SATURATION_DOWN = 73,
- EMBER_ZCL_GP_GPDF_MOVE_COLOR = 74,
- EMBER_ZCL_GP_GPDF_STEP_COLOR = 75,
- EMBER_ZCL_GP_GPDF_LOCK_DOOR = 80,
- EMBER_ZCL_GP_GPDF_UNLOCK_DOOR = 81,
- EMBER_ZCL_GP_GPDF_PRESS1_OF1 = 96,
- EMBER_ZCL_GP_GPDF_RELEASE1_OF1 = 97,
- EMBER_ZCL_GP_GPDF_PRESS1_OF2 = 98,
- EMBER_ZCL_GP_GPDF_RELEASE1_OF2 = 99,
- EMBER_ZCL_GP_GPDF_PRESS2_OF2 = 100,
- EMBER_ZCL_GP_GPDF_RELEASE2_OF2 = 101,
- EMBER_ZCL_GP_GPDF_SHORT_PRESS1_OF1 = 102,
- EMBER_ZCL_GP_GPDF_SHORT_PRESS1_OF2 = 103,
- EMBER_ZCL_GP_GPDF_SHORT_PRESS2_OF2 = 104,
- EMBER_ZCL_GP_GPDF_8BITS_VECTOR_PRESS = 105,
- EMBER_ZCL_GP_GPDF_8BITS_VECTOR_RELEASE = 106,
- EMBER_ZCL_GP_GPDF_ATTRIBUTE_REPORTING = 160,
- EMBER_ZCL_GP_GPDF_MFR_SP_ATTR_RPTG = 161,
- EMBER_ZCL_GP_GPDF_MULTI_CLUSTER_RPTG = 162,
- EMBER_ZCL_GP_GPDF_MFR_SP_MULTI_CLUSTER_RPTG = 163,
- EMBER_ZCL_GP_GPDF_REQUEST_ATTRIBUTE = 164,
- EMBER_ZCL_GP_GPDF_READ_ATTR_RESPONSE = 165,
- EMBER_ZCL_GP_GPDF_ZCL_TUNNELING_WITH_PAYLOAD = 166,
- EMBER_ZCL_GP_GPDF_COMPACT_ATTRIBUTE_REPORTING = 168,
- EMBER_ZCL_GP_GPDF_ANY_GPD_SENSOR_CMD = 175,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD0 = 176,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD1 = 177,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD2 = 178,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD3 = 179,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD4 = 180,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD5 = 181,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD6 = 182,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD7 = 183,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD8 = 184,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD9 = 185,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD_A = 186,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD_B = 187,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD_C = 188,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD_D = 189,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD_E = 190,
- EMBER_ZCL_GP_GPDF_MFR_DEF_GPD_CMD_F = 191,
- EMBER_ZCL_GP_GPDF_COMMISSIONING = 224,
- EMBER_ZCL_GP_GPDF_DECOMMISSIONING = 225,
- EMBER_ZCL_GP_GPDF_SUCCESS = 226,
- EMBER_ZCL_GP_GPDF_CHANNEL_REQUEST = 227,
- EMBER_ZCL_GP_GPDF_APPLICATION_DESCRIPTION = 228,
- EMBER_ZCL_GP_GPDF_COMMISSIONING_REPLY = 240,
- EMBER_ZCL_GP_GPDF_WRITE_ATTRIBUTES = 241,
- EMBER_ZCL_GP_GPDF_READ_ATTRIBUTES = 242,
- EMBER_ZCL_GP_GPDF_CHANNEL_CONFIGURATION = 243,
- EMBER_ZCL_GP_GPDF_ZCL_TUNNELING = 246,
-} EmberAfGpGpdf;
-
-// Enum for GpPairingConfigurationAction
-typedef enum
-{
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_ACTION_NO_ACTION = 0,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_ACTION_EXTEND_SINK_TABLE_ENTRY = 1,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_ACTION_REPLACE_SINK_TABLE_ENTRY = 2,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_ACTION_REMOVE_A_PAIRING = 3,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_ACTION_REMOVE_GPD = 4,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_ACTION_APPLICATION_DESCRIPTION = 5,
-} EmberAfGpPairingConfigurationAction;
-
-// Enum for GpPairingConfigurationOptionCommunicationMode
-typedef enum
-{
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_OPTION_COMMUNICATION_MODE_UNICAST_FORWARDING = 0,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_OPTION_COMMUNICATION_MODE_GROUPCAST_FORWARDING_TO_D_GROUP_ID = 8,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_OPTION_COMMUNICATION_MODE_GROUPCAST_FORWARDING_TO_PRE_COMMISSIONED = 16,
- EMBER_ZCL_GP_PAIRING_CONFIGURATION_OPTION_COMMUNICATION_MODE_UNICAST_FORWARDING_LIGHTWEIGHT = 24,
-} EmberAfGpPairingConfigurationOptionCommunicationMode;
-
-// Enum for GpPairingOptionsCommunicationMode
-typedef enum
-{
- EMBER_ZCL_GP_PAIRING_OPTIONS_COMMUNICATION_MODE_FULL_UNICAST_FORWARDING = 0,
- EMBER_ZCL_GP_PAIRING_OPTIONS_COMMUNICATION_MODE_GROUPCAST_FORWARDING_TO_D_GROUP_ID = 1,
- EMBER_ZCL_GP_PAIRING_OPTIONS_COMMUNICATION_MODE_GROUPCAST_FORWARDING_TO_PRE_COMM_UNIT = 16,
- EMBER_ZCL_GP_PAIRING_OPTIONS_COMMUNICATION_MODE_UNICAST_FORWARDING_BY_PROX_SUPPORT = 17,
-} EmberAfGpPairingOptionsCommunicationMode;
-
-// Enum for GpProxyTableRequestOptionsRequestType
-typedef enum
-{
- EMBER_ZCL_GP_PROXY_TABLE_REQUEST_OPTIONS_REQUEST_TYPE_BY_GPD_ID = 0,
- EMBER_ZCL_GP_PROXY_TABLE_REQUEST_OPTIONS_REQUEST_TYPE_BY_INDEX = 1,
-} EmberAfGpProxyTableRequestOptionsRequestType;
-
-// Enum for GpProxyTableResponseStatus
-typedef enum
-{
- EMBER_ZCL_GP_PROXY_TABLE_RESPONSE_STATUS_SUCCESS = 0,
- EMBER_ZCL_GP_PROXY_TABLE_RESPONSE_STATUS_NOT_FOUND = 139,
-} EmberAfGpProxyTableResponseStatus;
-
-// Enum for GpSecurityKeyType
-typedef enum
-{
- EMBER_ZCL_GP_SECURITY_KEY_TYPE_NONE = 0,
- EMBER_ZCL_GP_SECURITY_KEY_TYPE_ZIGBEE_NETWORK_KEY = 1,
- EMBER_ZCL_GP_SECURITY_KEY_TYPE_GPD_GROUP_KEY = 2,
- EMBER_ZCL_GP_SECURITY_KEY_TYPE_NETWORK_DERIVED_GROUP_KEY = 3,
- EMBER_ZCL_GP_SECURITY_KEY_TYPE_INDIVIDIGUAL_GPD_KEY = 4,
- EMBER_ZCL_GP_SECURITY_KEY_TYPE_DERIVED_INDIVIDUAL_GPD_KEY = 7,
-} EmberAfGpSecurityKeyType;
-
-// Enum for GpSinkTableRequestOptions
-typedef enum
-{
- EMBER_ZCL_GP_SINK_TABLE_REQUEST_OPTIONS_REQUEST_TABLE_ENTRIES_BY_GPD_ID = 0,
- EMBER_ZCL_GP_SINK_TABLE_REQUEST_OPTIONS_REQUEST_TABLE_ENTRIES_BY_INDEX = 1,
-} EmberAfGpSinkTableRequestOptions;
-
-// Enum for GpSinkTableResponseStatus
-typedef enum
-{
- EMBER_ZCL_GP_SINK_TABLE_RESPONSE_STATUS_SUCCESS = 0,
- EMBER_ZCL_GP_SINK_TABLE_RESPONSE_STATUS_NOT_FOUND = 139,
-} EmberAfGpSinkTableResponseStatus;
-
-// Enum for GpTranslationTableResponseStatus
-typedef enum
-{
- EMBER_ZCL_GP_TRANSLATION_TABLE_RESPONSE_STATUS_SUCCESS = 0,
- EMBER_ZCL_GP_TRANSLATION_TABLE_RESPONSE_STATUS_NOT_FOUND = 139,
-} EmberAfGpTranslationTableResponseStatus;
-
-// Enum for GpTranslationTableUpdateAction
-typedef enum
-{
- EMBER_ZCL_GP_TRANSLATION_TABLE_UPDATE_ACTION_ADD_TRANSLATION_TABLE_ENTRY = 0,
- EMBER_ZCL_GP_TRANSLATION_TABLE_UPDATE_ACTION_REPLACE_TRANSLATION_TABLE_ENTRY = 8,
- EMBER_ZCL_GP_TRANSLATION_TABLE_UPDATE_ACTION_REMOVE_TRANSLATION_TABLE_ENTRY = 16,
- EMBER_ZCL_GP_TRANSLATION_TABLE_UPDATE_ACTION_RESERVED = 24,
-} EmberAfGpTranslationTableUpdateAction;
-
-// Enum for GroupKeySecurityPolicy
-typedef enum
-{
- EMBER_ZCL_GROUP_KEY_SECURITY_POLICY_STANDARD = 0,
- EMBER_ZCL_GROUP_KEY_SECURITY_POLICY_LOW_LATENCY = 1,
-} EmberAfGroupKeySecurityPolicy;
-
-// Enum for HardwareFaultType
-typedef enum
-{
- EMBER_ZCL_HARDWARE_FAULT_TYPE_UNSPECIFIED = 0,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_RADIO = 1,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_SENSOR = 2,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_RESETTABLE_OVER_TEMP = 3,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_NON_RESETTABLE_OVER_TEMP = 4,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_POWER_SOURCE = 5,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_VISUAL_DISPLAY_FAULT = 6,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_AUDIO_OUTPUT_FAULT = 7,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_USER_INTERFACE_FAULT = 8,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_NON_VOLATILE_MEMORY_ERROR = 9,
- EMBER_ZCL_HARDWARE_FAULT_TYPE_TAMPER_DETECTED = 10,
-} EmberAfHardwareFaultType;
-
-// Enum for HeatAndCoolingSpecificAlarmGroups
-typedef enum
-{
- EMBER_ZCL_HEAT_AND_COOLING_SPECIFIC_ALARM_GROUPS_INLET_TEMPERATURE_SENSOR_FAULT = 80,
- EMBER_ZCL_HEAT_AND_COOLING_SPECIFIC_ALARM_GROUPS_OUTLET_TEMPERATURE_SENSOR_FAULT = 81,
-} EmberAfHeatAndCoolingSpecificAlarmGroups;
-
-// Enum for HueDirection
-typedef enum
-{
- EMBER_ZCL_HUE_DIRECTION_SHORTEST_DISTANCE = 0,
- EMBER_ZCL_HUE_DIRECTION_LONGEST_DISTANCE = 1,
- EMBER_ZCL_HUE_DIRECTION_UP = 2,
- EMBER_ZCL_HUE_DIRECTION_DOWN = 3,
-} EmberAfHueDirection;
-
-// Enum for HueMoveMode
-typedef enum
-{
- EMBER_ZCL_HUE_MOVE_MODE_STOP = 0,
- EMBER_ZCL_HUE_MOVE_MODE_UP = 1,
- EMBER_ZCL_HUE_MOVE_MODE_DOWN = 3,
-} EmberAfHueMoveMode;
-
-// Enum for HueStepMode
-typedef enum
-{
- EMBER_ZCL_HUE_STEP_MODE_UP = 1,
- EMBER_ZCL_HUE_STEP_MODE_DOWN = 3,
-} EmberAfHueStepMode;
-
-// Enum for IasAceAlarmStatus
-typedef enum
-{
- EMBER_ZCL_IAS_ACE_ALARM_STATUS_NO_ALARM = 0,
- EMBER_ZCL_IAS_ACE_ALARM_STATUS_BURGLAR = 1,
- EMBER_ZCL_IAS_ACE_ALARM_STATUS_FIRE = 2,
- EMBER_ZCL_IAS_ACE_ALARM_STATUS_EMERGENCY = 3,
- EMBER_ZCL_IAS_ACE_ALARM_STATUS_POLICE_PANIC = 4,
- EMBER_ZCL_IAS_ACE_ALARM_STATUS_FIRE_PANIC = 5,
- EMBER_ZCL_IAS_ACE_ALARM_STATUS_EMERGENCY_PANIC = 6,
-} EmberAfIasAceAlarmStatus;
-
-// Enum for IasAceArmMode
-typedef enum
-{
- EMBER_ZCL_IAS_ACE_ARM_MODE_DISARM = 0,
- EMBER_ZCL_IAS_ACE_ARM_MODE_ARM_DAY_HOME_ZONES_ONLY = 1,
- EMBER_ZCL_IAS_ACE_ARM_MODE_ARM_NIGHT_SLEEP_ZONES_ONLY = 2,
- EMBER_ZCL_IAS_ACE_ARM_MODE_ARM_ALL_ZONES = 3,
-} EmberAfIasAceArmMode;
-
-// Enum for IasAceArmNotification
-typedef enum
-{
- EMBER_ZCL_IAS_ACE_ARM_NOTIFICATION_ALL_ZONES_DISARMED = 0,
- EMBER_ZCL_IAS_ACE_ARM_NOTIFICATION_ONLY_DAY_HOME_ZONES_ARMED = 1,
- EMBER_ZCL_IAS_ACE_ARM_NOTIFICATION_ONLY_NIGHT_SLEEP_ZONES_ARMED = 2,
- EMBER_ZCL_IAS_ACE_ARM_NOTIFICATION_ALL_ZONES_ARMED = 3,
- EMBER_ZCL_IAS_ACE_ARM_NOTIFICATION_INVALID_ARM_DISARM_CODE = 4,
- EMBER_ZCL_IAS_ACE_ARM_NOTIFICATION_NOT_READY_TO_ARM = 5,
- EMBER_ZCL_IAS_ACE_ARM_NOTIFICATION_ALREADY_DISARMED = 6,
-} EmberAfIasAceArmNotification;
-
-// Enum for IasAceAudibleNotification
-typedef enum
-{
- EMBER_ZCL_IAS_ACE_AUDIBLE_NOTIFICATION_MUTE = 0,
- EMBER_ZCL_IAS_ACE_AUDIBLE_NOTIFICATION_DEFAULT_SOUND = 1,
-} EmberAfIasAceAudibleNotification;
-
-// Enum for IasAceBypassResult
-typedef enum
-{
- EMBER_ZCL_IAS_ACE_BYPASS_RESULT_ZONE_BYPASSED = 0,
- EMBER_ZCL_IAS_ACE_BYPASS_RESULT_ZONE_NOT_BYPASSED = 1,
- EMBER_ZCL_IAS_ACE_BYPASS_RESULT_NOT_ALLOWED = 2,
- EMBER_ZCL_IAS_ACE_BYPASS_RESULT_INVALID_ZONE_ID = 3,
- EMBER_ZCL_IAS_ACE_BYPASS_RESULT_UNKNOWN_ZONE_ID = 4,
- EMBER_ZCL_IAS_ACE_BYPASS_RESULT_INVALID_ARM_DISARM_CODE = 5,
-} EmberAfIasAceBypassResult;
-
-// Enum for IasAcePanelStatus
-typedef enum
-{
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_PANEL_DISARMED = 0,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_ARMED_STAY = 1,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_ARMED_NIGHT = 2,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_ARMED_AWAY = 3,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_EXIT_DELAY = 4,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_ENTRY_DELAY = 5,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_NOT_READY_TO_ARM = 6,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_IN_ALARM = 7,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_ARMING_STAY = 8,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_ARMING_NIGHT = 9,
- EMBER_ZCL_IAS_ACE_PANEL_STATUS_ARMING_AWAY = 10,
-} EmberAfIasAcePanelStatus;
-
-// Enum for IasEnrollResponseCode
-typedef enum
-{
- EMBER_ZCL_IAS_ENROLL_RESPONSE_CODE_SUCCESS = 0,
- EMBER_ZCL_IAS_ENROLL_RESPONSE_CODE_NOT_SUPPORTED = 1,
- EMBER_ZCL_IAS_ENROLL_RESPONSE_CODE_NO_ENROLL_PERMIT = 2,
- EMBER_ZCL_IAS_ENROLL_RESPONSE_CODE_TOO_MANY_ZONES = 3,
-} EmberAfIasEnrollResponseCode;
-
-// Enum for IasZoneState
-typedef enum
-{
- EMBER_ZCL_IAS_ZONE_STATE_NOT_ENROLLED = 0,
- EMBER_ZCL_IAS_ZONE_STATE_ENROLLED = 1,
-} EmberAfIasZoneState;
-
-// Enum for IasZoneType
-typedef enum
-{
- EMBER_ZCL_IAS_ZONE_TYPE_STANDARD_CIE = 0,
- EMBER_ZCL_IAS_ZONE_TYPE_MOTION_SENSOR = 13,
- EMBER_ZCL_IAS_ZONE_TYPE_CONTACT_SWITCH = 21,
- EMBER_ZCL_IAS_ZONE_TYPE_FIRE_SENSOR = 40,
- EMBER_ZCL_IAS_ZONE_TYPE_WATER_SENSOR = 42,
- EMBER_ZCL_IAS_ZONE_TYPE_GAS_SENSOR = 43,
- EMBER_ZCL_IAS_ZONE_TYPE_PERSONAL_EMERGENCY_DEVICE = 44,
- EMBER_ZCL_IAS_ZONE_TYPE_VIBRATION_MOVEMENT_SENSOR = 45,
- EMBER_ZCL_IAS_ZONE_TYPE_REMOTE_CONTROL = 271,
- EMBER_ZCL_IAS_ZONE_TYPE_KEY_FOB = 277,
- EMBER_ZCL_IAS_ZONE_TYPE_KEYPAD = 541,
- EMBER_ZCL_IAS_ZONE_TYPE_STANDARD_WARNING_DEVICE = 549,
- EMBER_ZCL_IAS_ZONE_TYPE_GLASS_BREAK_SENSOR = 550,
- EMBER_ZCL_IAS_ZONE_TYPE_CARBON_MONOXIDE_SENSOR = 551,
- EMBER_ZCL_IAS_ZONE_TYPE_SECURITY_REPEATER = 553,
- EMBER_ZCL_IAS_ZONE_TYPE_INVALID_ZONE_TYPE = 65535,
-} EmberAfIasZoneType;
-
-// Enum for IdentifyEffectIdentifier
-typedef enum
-{
- EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_BLINK = 0,
- EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_BREATHE = 1,
- EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_OKAY = 2,
- EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_CHANNEL_CHANGE = 11,
- EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_FINISH_EFFECT = 254,
- EMBER_ZCL_IDENTIFY_EFFECT_IDENTIFIER_STOP_EFFECT = 255,
-} EmberAfIdentifyEffectIdentifier;
-
-// Enum for IdentifyEffectVariant
-typedef enum
-{
- EMBER_ZCL_IDENTIFY_EFFECT_VARIANT_DEFAULT = 0,
-} EmberAfIdentifyEffectVariant;
-
-// Enum for InterfaceType
-typedef enum
-{
- EMBER_ZCL_INTERFACE_TYPE_UNSPECIFIED = 0,
- EMBER_ZCL_INTERFACE_TYPE_WI_FI = 1,
- EMBER_ZCL_INTERFACE_TYPE_ETHERNET = 2,
- EMBER_ZCL_INTERFACE_TYPE_CELLULAR = 3,
- EMBER_ZCL_INTERFACE_TYPE_THREAD = 4,
-} EmberAfInterfaceType;
-
-// Enum for KeyIndex
-typedef enum
-{
- EMBER_ZCL_KEY_INDEX_DEVELOPMENT = 0,
- EMBER_ZCL_KEY_INDEX_MASTER = 4,
- EMBER_ZCL_KEY_INDEX_CERTIFICATION = 15,
-} EmberAfKeyIndex;
-
-// Enum for KeypadInputCecKeyCode
-typedef enum
-{
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SELECT = 0,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_UP = 1,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_DOWN = 2,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_LEFT = 3,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_RIGHT = 4,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_RIGHT_UP = 5,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_RIGHT_DOWN = 6,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_LEFT_UP = 7,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_LEFT_DOWN = 8,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_ROOT_MENU = 9,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SETUP_MENU = 10,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_CONTENTS_MENU = 11,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_FAVORITE_MENU = 12,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_EXIT = 13,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_MEDIA_TOP_MENU = 16,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_MEDIA_CONTEXT_SENSITIVE_MENU = 17,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBER_ENTRY_MODE = 29,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBER11 = 30,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBER12 = 31,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBER0_OR_NUMBER10 = 32,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS1 = 33,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS2 = 34,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS3 = 35,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS4 = 36,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS5 = 37,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS6 = 38,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS7 = 39,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS8 = 40,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NUMBERS9 = 41,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_DOT = 42,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_ENTER = 43,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_CLEAR = 44,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_NEXT_FAVORITE = 47,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_CHANNEL_UP = 48,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_CHANNEL_DOWN = 49,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PREVIOUS_CHANNEL = 50,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SOUND_SELECT = 51,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_INPUT_SELECT = 52,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_DISPLAY_INFORMATION = 53,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_HELP = 54,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PAGE_UP = 55,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PAGE_DOWN = 56,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_POWER = 64,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_VOLUME_UP = 65,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_VOLUME_DOWN = 66,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_MUTE = 67,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PLAY = 68,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_STOP = 69,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PAUSE = 70,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_RECORD = 71,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_REWIND = 72,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_FAST_FORWARD = 73,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_EJECT = 74,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_FORWARD = 75,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_BACKWARD = 76,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_STOP_RECORD = 77,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PAUSE_RECORD = 78,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_RESERVED = 79,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_ANGLE = 80,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SUB_PICTURE = 81,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_VIDEO_ON_DEMAND = 82,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_ELECTRONIC_PROGRAM_GUIDE = 83,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_TIMER_PROGRAMMING = 84,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_INITIAL_CONFIGURATION = 85,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SELECT_BROADCAST_TYPE = 86,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SELECT_SOUND_PRESENTATION = 87,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PLAY_FUNCTION = 96,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PAUSE_PLAY_FUNCTION = 97,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_RECORD_FUNCTION = 98,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_PAUSE_RECORD_FUNCTION = 99,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_STOP_FUNCTION = 100,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_MUTE_FUNCTION = 101,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_RESTORE_VOLUME_FUNCTION = 102,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_TUNE_FUNCTION = 103,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SELECT_MEDIA_FUNCTION = 104,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SELECT_AV_INPUT_FUNCTION = 105,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_SELECT_AUDIO_INPUT_FUNCTION = 106,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_POWER_TOGGLE_FUNCTION = 107,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_POWER_OFF_FUNCTION = 108,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_POWER_ON_FUNCTION = 109,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_F1_BLUE = 113,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_F2_RED = 114,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_F3_GREEN = 115,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_F4_YELLOW = 116,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_F5 = 117,
- EMBER_ZCL_KEYPAD_INPUT_CEC_KEY_CODE_DATA = 118,
-} EmberAfKeypadInputCecKeyCode;
-
-// Enum for KeypadInputStatus
-typedef enum
-{
- EMBER_ZCL_KEYPAD_INPUT_STATUS_SUCCESS = 0,
- EMBER_ZCL_KEYPAD_INPUT_STATUS_UNSUPPORTED_KEY = 1,
- EMBER_ZCL_KEYPAD_INPUT_STATUS_INVALID_KEY_IN_CURRENT_STATE = 2,
-} EmberAfKeypadInputStatus;
-
-// Enum for KeypadLockout
-typedef enum
-{
- EMBER_ZCL_KEYPAD_LOCKOUT_NO_LOCKOUT = 0,
- EMBER_ZCL_KEYPAD_LOCKOUT_LEVEL_ONE_LOCKOUT = 1,
- EMBER_ZCL_KEYPAD_LOCKOUT_LEVEL_TWO_LOCKOUT = 2,
- EMBER_ZCL_KEYPAD_LOCKOUT_LEVEL_THREE_LOCKOUT = 3,
- EMBER_ZCL_KEYPAD_LOCKOUT_LEVEL_FOUR_LOCKOUT = 4,
- EMBER_ZCL_KEYPAD_LOCKOUT_LEVELFIVE_LOCKOUT = 5,
-} EmberAfKeypadLockout;
-
-// Enum for LevelControlOptions
-typedef enum
-{
- EMBER_ZCL_LEVEL_CONTROL_OPTIONS_EXECUTE_IF_OFF = 1,
- EMBER_ZCL_LEVEL_CONTROL_OPTIONS_COUPLE_COLOR_TEMP_TO_LEVEL = 2,
-} EmberAfLevelControlOptions;
-
-// Enum for LevelStatus
-typedef enum
-{
- EMBER_ZCL_LEVEL_STATUS_ON_TARGET = 0,
- EMBER_ZCL_LEVEL_STATUS_BELOW_TARGET = 1,
- EMBER_ZCL_LEVEL_STATUS_ABOVE_TARGET = 2,
-} EmberAfLevelStatus;
-
-// Enum for LocationMethod
-typedef enum
-{
- EMBER_ZCL_LOCATION_METHOD_LATERATION = 0,
- EMBER_ZCL_LOCATION_METHOD_SIGNPOSTING = 1,
- EMBER_ZCL_LOCATION_METHOD_RF_FINGERPRINTING = 2,
- EMBER_ZCL_LOCATION_METHOD_OUT_OF_BAND = 3,
-} EmberAfLocationMethod;
-
-// Enum for ManufacturerSpecificAlarmGroups
-typedef enum
-{
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_A = 176,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_B = 177,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_C = 178,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_D = 179,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_E = 180,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_F = 181,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_G = 182,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_H = 183,
- EMBER_ZCL_MANUFACTURER_SPECIFIC_ALARM_GROUPS_MANUFACTURER_SPECIFIC_I = 184,
-} EmberAfManufacturerSpecificAlarmGroups;
-
-// Enum for MeasurementLightSensorType
-typedef enum
-{
- EMBER_ZCL_MEASUREMENT_LIGHT_SENSOR_TYPE_PHOTODIODE = 0,
- EMBER_ZCL_MEASUREMENT_LIGHT_SENSOR_TYPE_CMOS = 1,
-} EmberAfMeasurementLightSensorType;
-
-// Enum for MediaInputType
-typedef enum
-{
- EMBER_ZCL_MEDIA_INPUT_TYPE_INTERNAL = 0,
- EMBER_ZCL_MEDIA_INPUT_TYPE_AUX = 1,
- EMBER_ZCL_MEDIA_INPUT_TYPE_COAX = 2,
- EMBER_ZCL_MEDIA_INPUT_TYPE_COMPOSITE = 3,
- EMBER_ZCL_MEDIA_INPUT_TYPE_HDMI = 4,
- EMBER_ZCL_MEDIA_INPUT_TYPE_INPUT = 5,
- EMBER_ZCL_MEDIA_INPUT_TYPE_LINE = 6,
- EMBER_ZCL_MEDIA_INPUT_TYPE_OPTICAL = 7,
- EMBER_ZCL_MEDIA_INPUT_TYPE_VIDEO = 8,
- EMBER_ZCL_MEDIA_INPUT_TYPE_SCART = 9,
- EMBER_ZCL_MEDIA_INPUT_TYPE_USB = 10,
- EMBER_ZCL_MEDIA_INPUT_TYPE_OTHER = 11,
-} EmberAfMediaInputType;
-
-// Enum for MediaPlaybackState
-typedef enum
-{
- EMBER_ZCL_MEDIA_PLAYBACK_STATE_PLAYING = 0,
- EMBER_ZCL_MEDIA_PLAYBACK_STATE_PAUSED = 1,
- EMBER_ZCL_MEDIA_PLAYBACK_STATE_NOT_PLAYING = 2,
- EMBER_ZCL_MEDIA_PLAYBACK_STATE_BUFFERING = 3,
-} EmberAfMediaPlaybackState;
-
-// Enum for MediaPlaybackStatus
-typedef enum
-{
- EMBER_ZCL_MEDIA_PLAYBACK_STATUS_SUCCESS = 0,
- EMBER_ZCL_MEDIA_PLAYBACK_STATUS_INVALID_STATE_FOR_COMMAND = 1,
- EMBER_ZCL_MEDIA_PLAYBACK_STATUS_NOT_ALLOWED = 2,
- EMBER_ZCL_MEDIA_PLAYBACK_STATUS_NOT_ACTIVE = 3,
- EMBER_ZCL_MEDIA_PLAYBACK_STATUS_SPEED_OUT_OF_RANGE = 4,
- EMBER_ZCL_MEDIA_PLAYBACK_STATUS_SEEK_OUT_OF_RANGE = 5,
-} EmberAfMediaPlaybackStatus;
-
-// Enum for MessagingControlConfirmation
-typedef enum
-{
- EMBER_ZCL_MESSAGING_CONTROL_CONFIRMATION_NOT_REQUIRED = 0,
- EMBER_ZCL_MESSAGING_CONTROL_CONFIRMATION_REQUIRED = 128,
-} EmberAfMessagingControlConfirmation;
-
-// Enum for MessagingControlEnhancedConfirmation
-typedef enum
-{
- EMBER_ZCL_MESSAGING_CONTROL_ENHANCED_CONFIRMATION_NOT_REQUIRED = 0,
- EMBER_ZCL_MESSAGING_CONTROL_ENHANCED_CONFIRMATION_REQUIRED = 32,
-} EmberAfMessagingControlEnhancedConfirmation;
-
-// Enum for MessagingControlImportance
-typedef enum
-{
- EMBER_ZCL_MESSAGING_CONTROL_IMPORTANCE_LOW = 0,
- EMBER_ZCL_MESSAGING_CONTROL_IMPORTANCE_MEDIUM = 4,
- EMBER_ZCL_MESSAGING_CONTROL_IMPORTANCE_HIGH = 8,
- EMBER_ZCL_MESSAGING_CONTROL_IMPORTANCE_CRITICAL = 12,
-} EmberAfMessagingControlImportance;
-
-// Enum for MessagingControlTransmission
-typedef enum
-{
- EMBER_ZCL_MESSAGING_CONTROL_TRANSMISSION_NORMAL = 0,
- EMBER_ZCL_MESSAGING_CONTROL_TRANSMISSION_NORMAL_AND_ANONYMOUS = 1,
- EMBER_ZCL_MESSAGING_CONTROL_TRANSMISSION_ANONYMOUS = 2,
- EMBER_ZCL_MESSAGING_CONTROL_TRANSMISSION_RESERVED = 3,
-} EmberAfMessagingControlTransmission;
-
-// Enum for MeterDeviceType
-typedef enum
-{
- EMBER_ZCL_METER_DEVICE_TYPE_ELECTRIC_METER = 0,
- EMBER_ZCL_METER_DEVICE_TYPE_GAS_METER = 1,
- EMBER_ZCL_METER_DEVICE_TYPE_WATER_METER = 2,
- EMBER_ZCL_METER_DEVICE_TYPE_THERMAL_METER = 3,
- EMBER_ZCL_METER_DEVICE_TYPE_PRESSURE_METER = 4,
- EMBER_ZCL_METER_DEVICE_TYPE_HEAT_METER = 5,
- EMBER_ZCL_METER_DEVICE_TYPE_COOLING_METER = 6,
- EMBER_ZCL_METER_DEVICE_TYPE_MIRRORED_GAS_METER = 128,
- EMBER_ZCL_METER_DEVICE_TYPE_MIRRORED_WATER_METER = 129,
- EMBER_ZCL_METER_DEVICE_TYPE_MIRRORED_THERMAL_METER = 130,
- EMBER_ZCL_METER_DEVICE_TYPE_MIRRORED_PRESSURE_METER = 131,
- EMBER_ZCL_METER_DEVICE_TYPE_MIRRORED_HEAT_METER = 132,
- EMBER_ZCL_METER_DEVICE_TYPE_MIRRORED_COOLING_METER = 133,
- EMBER_ZCL_METER_DEVICE_TYPE_UNDEFINED_MIRROR_METER = 254,
-} EmberAfMeterDeviceType;
-
-// Enum for MeterTypeId
-typedef enum
-{
- EMBER_ZCL_METER_TYPE_ID_UTILITY_PRIMARY_METER = 0,
- EMBER_ZCL_METER_TYPE_ID_UTILITY_PRODUCTION_METER = 1,
- EMBER_ZCL_METER_TYPE_ID_UTILITY_SECONDARY_METER = 2,
- EMBER_ZCL_METER_TYPE_ID_PRIVATE_PRIMARY_METER = 256,
- EMBER_ZCL_METER_TYPE_ID_PRIVATE_PRODUCTION_METER = 257,
- EMBER_ZCL_METER_TYPE_ID_PRIVATE_SECONDARY_METERS = 258,
- EMBER_ZCL_METER_TYPE_ID_GENERIC_METER = 272,
-} EmberAfMeterTypeId;
-
-// Enum for MeteringAlarmCode
-typedef enum
-{
- EMBER_ZCL_METERING_ALARM_CODE_CHECK_METER = 0,
- EMBER_ZCL_METERING_ALARM_CODE_LOW_BATTERY = 1,
- EMBER_ZCL_METERING_ALARM_CODE_TAMPER_DETECT = 2,
- EMBER_ZCL_METERING_ALARM_CODE_POWER_FAILURE_PIPE_EMPTY_TEMPERATURE_SENSOR = 3,
- EMBER_ZCL_METERING_ALARM_CODE_POWER_QUALITY_LOW_PRESSURE_BURST_DETECT = 4,
- EMBER_ZCL_METERING_ALARM_CODE_LEAK_DETECT = 5,
- EMBER_ZCL_METERING_ALARM_CODE_SERVICE_DISCONNECT = 6,
- EMBER_ZCL_METERING_ALARM_CODE_REVERSE_FLOW_FLOW_SENSOR = 7,
- EMBER_ZCL_METERING_ALARM_CODE_METER_COVER_REMOVED = 8,
- EMBER_ZCL_METERING_ALARM_CODE_METER_COVER_CLOSED = 9,
- EMBER_ZCL_METERING_ALARM_CODE_STRONG_MAGNETIC_FIELD = 10,
- EMBER_ZCL_METERING_ALARM_CODE_NO_STRONG_MAGNETIC_FIELD = 11,
- EMBER_ZCL_METERING_ALARM_CODE_BATTERY_FAILURE = 12,
- EMBER_ZCL_METERING_ALARM_CODE_PROGRAM_MEMORY_ERROR = 13,
- EMBER_ZCL_METERING_ALARM_CODE_RAM_ERROR = 14,
- EMBER_ZCL_METERING_ALARM_CODE_NV_MEMORY_ERROR = 15,
- EMBER_ZCL_METERING_ALARM_CODE_LOW_VOLTAGE_L1 = 16,
- EMBER_ZCL_METERING_ALARM_CODE_HIGH_VOLTAGE_L1 = 17,
- EMBER_ZCL_METERING_ALARM_CODE_LOW_VOLTAGE_L2 = 18,
- EMBER_ZCL_METERING_ALARM_CODE_HIGH_VOLTAGE_L2 = 19,
- EMBER_ZCL_METERING_ALARM_CODE_LOW_VOLTAGE_L3 = 20,
- EMBER_ZCL_METERING_ALARM_CODE_HIGH_VOLTAGE_L3 = 21,
- EMBER_ZCL_METERING_ALARM_CODE_OVER_CURRENT_L1 = 22,
- EMBER_ZCL_METERING_ALARM_CODE_OVER_CURRENT_L2 = 23,
- EMBER_ZCL_METERING_ALARM_CODE_OVER_CURRENT_L3 = 24,
- EMBER_ZCL_METERING_ALARM_CODE_FREQUENCY_TOO_LOW_L1 = 25,
- EMBER_ZCL_METERING_ALARM_CODE_FREQUENCY_TOO_HIGH_L1 = 26,
- EMBER_ZCL_METERING_ALARM_CODE_FREQUENCY_TOO_LOW_L2 = 27,
- EMBER_ZCL_METERING_ALARM_CODE_FREQUENCY_TOO_HIGH_L2 = 28,
- EMBER_ZCL_METERING_ALARM_CODE_FREQUENCY_TOO_LOW_L3 = 29,
- EMBER_ZCL_METERING_ALARM_CODE_FREQUENCY_TOO_HIGH_L3 = 30,
- EMBER_ZCL_METERING_ALARM_CODE_GROUND_FAULT = 31,
- EMBER_ZCL_METERING_ALARM_CODE_ELECTRIC_TAMPER_DETECT = 32,
- EMBER_ZCL_METERING_ALARM_CODE_INCORRECT_POLARITY = 33,
- EMBER_ZCL_METERING_ALARM_CODE_CURRENT_NO_VOLTAGE = 34,
- EMBER_ZCL_METERING_ALARM_CODE_UNDER_VOLTAGE = 35,
- EMBER_ZCL_METERING_ALARM_CODE_OVER_VOLTAGE = 36,
- EMBER_ZCL_METERING_ALARM_CODE_NORMAL_VOLTAGE = 37,
- EMBER_ZCL_METERING_ALARM_CODE_PF_BELOW_THRESHOLD = 38,
- EMBER_ZCL_METERING_ALARM_CODE_PF_ABOVE_THRESHOLD = 39,
- EMBER_ZCL_METERING_ALARM_CODE_TERMINAL_COVER_REMOVED = 40,
- EMBER_ZCL_METERING_ALARM_CODE_TERMINAL_COVER_CLOSED = 41,
- EMBER_ZCL_METERING_ALARM_CODE_BURST_DETECT = 48,
- EMBER_ZCL_METERING_ALARM_CODE_PRESSURE_TOO_LOW = 49,
- EMBER_ZCL_METERING_ALARM_CODE_PRESSURE_TOO_HIGH = 50,
- EMBER_ZCL_METERING_ALARM_CODE_FLOW_SENSOR_COMMUNICATION_ERROR = 51,
- EMBER_ZCL_METERING_ALARM_CODE_FLOW_SENSOR_MEASUREMENT_FAULT = 52,
- EMBER_ZCL_METERING_ALARM_CODE_FLOW_SENSOR_REVERSE_FLOW = 53,
- EMBER_ZCL_METERING_ALARM_CODE_FLOW_SENSOR_AIR_DETECT = 54,
- EMBER_ZCL_METERING_ALARM_CODE_PIPE_EMPTY = 55,
- EMBER_ZCL_METERING_ALARM_CODE_INLET_TEMPERATURE_SENSOR_FAULT = 80,
- EMBER_ZCL_METERING_ALARM_CODE_OUTLET_TEMPERATURE_SENSOR_FAULT = 81,
- EMBER_ZCL_METERING_ALARM_CODE_TILT_TAMPER = 96,
- EMBER_ZCL_METERING_ALARM_CODE_BATTERY_COVER_REMOVED = 97,
- EMBER_ZCL_METERING_ALARM_CODE_BATTERY_COVER_CLOSED = 98,
- EMBER_ZCL_METERING_ALARM_CODE_EXCESS_FLOW = 99,
- EMBER_ZCL_METERING_ALARM_CODE_TILT_TAMPER_ENDED = 100,
- EMBER_ZCL_METERING_ALARM_CODE_MEASUREMENT_SYSTEM_ERROR = 112,
- EMBER_ZCL_METERING_ALARM_CODE_WATCHDOG_ERROR = 113,
- EMBER_ZCL_METERING_ALARM_CODE_SUPPLY_DISCONNECT_FAILURE = 114,
- EMBER_ZCL_METERING_ALARM_CODE_SUPPLY_CONNECT_FAILURE = 115,
- EMBER_ZCL_METERING_ALARM_CODE_MEASURMENT_SOFTWARE_CHANGED = 116,
- EMBER_ZCL_METERING_ALARM_CODE_DST_ENABLED = 117,
- EMBER_ZCL_METERING_ALARM_CODE_DST_DISABLED = 118,
- EMBER_ZCL_METERING_ALARM_CODE_CLOCK_ADJ_BACKWARD = 119,
- EMBER_ZCL_METERING_ALARM_CODE_CLOCK_ADJ_FORWARD = 120,
- EMBER_ZCL_METERING_ALARM_CODE_CLOCK_INVALID = 121,
- EMBER_ZCL_METERING_ALARM_CODE_COMMUNICATION_ERROR_HAN = 122,
- EMBER_ZCL_METERING_ALARM_CODE_COMMUNICATION_OK_H_AN = 123,
- EMBER_ZCL_METERING_ALARM_CODE_METER_FRAUD_ATTEMPT = 124,
- EMBER_ZCL_METERING_ALARM_CODE_POWER_LOSS = 125,
- EMBER_ZCL_METERING_ALARM_CODE_UNUSUAL_HAN_TRAFFIC = 126,
- EMBER_ZCL_METERING_ALARM_CODE_UNEXPECTED_CLOCK_CHANGE = 127,
- EMBER_ZCL_METERING_ALARM_CODE_COMMS_USING_UNAUTHENTICATED_COMPONENT = 128,
- EMBER_ZCL_METERING_ALARM_CODE_ERROR_REG_CLEAR = 129,
- EMBER_ZCL_METERING_ALARM_CODE_ALARM_REG_CLEAR = 130,
- EMBER_ZCL_METERING_ALARM_CODE_UNEXPECTED_HW_RESET = 131,
- EMBER_ZCL_METERING_ALARM_CODE_UNEXPECTED_PROGRAM_EXECUTION = 132,
- EMBER_ZCL_METERING_ALARM_CODE_EVENT_LOG_CLEARED = 133,
- EMBER_ZCL_METERING_ALARM_CODE_LIMIT_THRESHOLD_EXCEEDED = 134,
- EMBER_ZCL_METERING_ALARM_CODE_LIMIT_THRESHOLD_OK = 135,
- EMBER_ZCL_METERING_ALARM_CODE_LIMIT_THRESHOLD_CHANGED = 136,
- EMBER_ZCL_METERING_ALARM_CODE_MAXIMUM_DEMAND_EXCEEDED = 137,
- EMBER_ZCL_METERING_ALARM_CODE_PROFILE_CLEARED = 138,
- EMBER_ZCL_METERING_ALARM_CODE_SAMPLING_BUFFERCLEARED = 139,
- EMBER_ZCL_METERING_ALARM_CODE_BATTERY_WARNING = 140,
- EMBER_ZCL_METERING_ALARM_CODE_WRONG_SIGNATURE = 141,
- EMBER_ZCL_METERING_ALARM_CODE_NO_SIGNATURE = 142,
- EMBER_ZCL_METERING_ALARM_CODE_UNAUTHORISED_ACTIONFROM_HAN = 143,
- EMBER_ZCL_METERING_ALARM_CODE_FAST_POLLING_START = 144,
- EMBER_ZCL_METERING_ALARM_CODE_FAST_POLLING_END = 145,
- EMBER_ZCL_METERING_ALARM_CODE_METER_REPORTING_INTERVAL_CHANGED = 146,
- EMBER_ZCL_METERING_ALARM_CODE_DISCONNECT_DUETO_LOAD_LIMIT = 147,
- EMBER_ZCL_METERING_ALARM_CODE_METER_SUPPLY_STATUS_REGISTER_CHANGED = 148,
- EMBER_ZCL_METERING_ALARM_CODE_METER_ALARM_STATUS_REGISTER_CHANGED = 149,
- EMBER_ZCL_METERING_ALARM_CODE_EXTENDED_METER_ALARM_STATUS_REGISTER_CHANGED = 150,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_A = 176,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_B = 177,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_C = 178,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_D = 179,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_E = 180,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_F = 181,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_G = 182,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_H = 183,
- EMBER_ZCL_METERING_ALARM_CODE_MANUFACTURER_SPECIFIC_I = 184,
-} EmberAfMeteringAlarmCode;
-
-// Enum for MeteringBlockEnumerations
-typedef enum
-{
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_NO_BLOCKS_IN_USE = 0,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK1 = 1,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK2 = 2,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK3 = 3,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK4 = 4,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK5 = 5,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK6 = 6,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK7 = 7,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK8 = 8,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK9 = 9,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK10 = 10,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK11 = 11,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK12 = 12,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK13 = 13,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK14 = 14,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK15 = 15,
- EMBER_ZCL_METERING_BLOCK_ENUMERATIONS_BLOCK16 = 16,
-} EmberAfMeteringBlockEnumerations;
-
-// Enum for MeteringConsumptionStatus
-typedef enum
-{
- EMBER_ZCL_METERING_CONSUMPTION_STATUS_LOW_ENERGY_USAGE = 0,
- EMBER_ZCL_METERING_CONSUMPTION_STATUS_MEDIUM_ENERGY_USAGE = 1,
- EMBER_ZCL_METERING_CONSUMPTION_STATUS_HIGH_ENERGY_USAGE = 2,
-} EmberAfMeteringConsumptionStatus;
-
-// Enum for MeteringDeviceType
-typedef enum
-{
- EMBER_ZCL_METERING_DEVICE_TYPE_ELECTRIC_METERING = 0,
- EMBER_ZCL_METERING_DEVICE_TYPE_GAS_METERING = 1,
- EMBER_ZCL_METERING_DEVICE_TYPE_WATER_METERING = 2,
- EMBER_ZCL_METERING_DEVICE_TYPE_THERMAL_METERING = 3,
- EMBER_ZCL_METERING_DEVICE_TYPE_PRESSURE_METERING = 4,
- EMBER_ZCL_METERING_DEVICE_TYPE_HEAT_METERING = 5,
- EMBER_ZCL_METERING_DEVICE_TYPE_COOLING_METERING = 6,
- EMBER_ZCL_METERING_DEVICE_TYPE_ELECTRIC_VEHICLE_CHARGING_METERING = 7,
- EMBER_ZCL_METERING_DEVICE_TYPE_PV_GENERATION_METERING = 8,
- EMBER_ZCL_METERING_DEVICE_TYPE_WIND_TURBINE_GENERATION_METERING = 9,
- EMBER_ZCL_METERING_DEVICE_TYPE_WATER_TURBINE_GENERATION_METERING = 10,
- EMBER_ZCL_METERING_DEVICE_TYPE_MICRO_GENERATION_METERING = 11,
- EMBER_ZCL_METERING_DEVICE_TYPE_SOLAR_HOT_WATER_GENERATION_METERING = 12,
- EMBER_ZCL_METERING_DEVICE_TYPE_ELECTRIC_METERING_ELEMENT1 = 13,
- EMBER_ZCL_METERING_DEVICE_TYPE_ELECTRIC_METERING_ELEMENT2 = 14,
- EMBER_ZCL_METERING_DEVICE_TYPE_ELECTRIC_METERING_ELEMENT3 = 15,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_ELECTRIC_METERING = 127,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_GAS_METERING = 128,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_WATER_METERING = 129,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_THERMAL_METERING = 130,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_PRESSURE_METERING = 131,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_HEAT_METERING = 132,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_COOLING_METERING = 133,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_ELECTRIC_VEHICLE_CHARGING_METERING = 134,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_PV_GENERATION_METERING = 135,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_WIND_TURBINE_GENERATION_METERING = 136,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_WATER_TURBINE_GENERATION_METERING = 137,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_MICRO_GENERATION_METERING = 138,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_SOLAR_HOT_WATER_GENERATION_METERING = 139,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_ELECTRIC_METERING_ELEMENT1 = 140,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_ELECTRIC_METERING_ELEMENT2 = 141,
- EMBER_ZCL_METERING_DEVICE_TYPE_MIRRORED_ELECTRIC_METERING_ELEMENT3 = 142,
- EMBER_ZCL_METERING_DEVICE_TYPE_UNDEFINED_MIRROR_METER = 254,
-} EmberAfMeteringDeviceType;
-
-// Enum for MeteringSupplyStatus
-typedef enum
-{
- EMBER_ZCL_METERING_SUPPLY_STATUS_SUPPLY_OFF = 0,
- EMBER_ZCL_METERING_SUPPLY_STATUS_SUPPLY_OFF_ARMED = 1,
- EMBER_ZCL_METERING_SUPPLY_STATUS_SUPPLY_ON = 2,
-} EmberAfMeteringSupplyStatus;
-
-// Enum for MeteringTemperatureUnitOfMeasure
-typedef enum
-{
- EMBER_ZCL_METERING_TEMPERATURE_UNIT_OF_MEASURE_KELVIN = 0,
- EMBER_ZCL_METERING_TEMPERATURE_UNIT_OF_MEASURE_CELSIUS = 1,
- EMBER_ZCL_METERING_TEMPERATURE_UNIT_OF_MEASURE_FAHRENHEIT = 2,
- EMBER_ZCL_METERING_TEMPERATURE_UNIT_OF_MEASURE_KELVIN_BCD = 128,
- EMBER_ZCL_METERING_TEMPERATURE_UNIT_OF_MEASURE_CELSIUS_BCD = 129,
- EMBER_ZCL_METERING_TEMPERATURE_UNIT_OF_MEASURE_FAHRENHEIT_BCD = 130,
-} EmberAfMeteringTemperatureUnitOfMeasure;
-
-// Enum for MoveMode
-typedef enum
-{
- EMBER_ZCL_MOVE_MODE_UP = 0,
- EMBER_ZCL_MOVE_MODE_DOWN = 1,
-} EmberAfMoveMode;
-
-// Enum for NavigateTargetStatus
-typedef enum
-{
- EMBER_ZCL_NAVIGATE_TARGET_STATUS_SUCCESS = 0,
- EMBER_ZCL_NAVIGATE_TARGET_STATUS_APP_NOT_AVAILABLE = 1,
- EMBER_ZCL_NAVIGATE_TARGET_STATUS_SYSTEM_BUSY = 2,
-} EmberAfNavigateTargetStatus;
-
-// Enum for NetworkCommissioningError
-typedef enum
-{
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_SUCCESS = 0,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_OUT_OF_RANGE = 1,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_BOUNDS_EXCEEDED = 2,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_NETWORK_ID_NOT_FOUND = 3,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_DUPLICATE_NETWORK_ID = 4,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_NETWORK_NOT_FOUND = 5,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_REGULATORY_ERROR = 6,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_AUTH_FAILURE = 7,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_UNSUPPORTED_SECURITY = 8,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_OTHER_CONNECTION_FAILURE = 9,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_IPV6_FAILED = 10,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_IP_BIND_FAILED = 11,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_LABEL9 = 12,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_LABEL10 = 13,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_LABEL11 = 14,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_LABEL12 = 15,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_LABEL13 = 16,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_LABEL14 = 17,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_LABEL15 = 18,
- EMBER_ZCL_NETWORK_COMMISSIONING_ERROR_UNKNOWN_ERROR = 19,
-} EmberAfNetworkCommissioningError;
-
-// Enum for NetworkFault
-typedef enum
-{
- EMBER_ZCL_NETWORK_FAULT_UNSPECIFIED = 0,
- EMBER_ZCL_NETWORK_FAULT_LINK_DOWN = 1,
- EMBER_ZCL_NETWORK_FAULT_HARDWARE_FAILURE = 2,
- EMBER_ZCL_NETWORK_FAULT_NETWORK_JAMMED = 3,
-} EmberAfNetworkFault;
-
-// Enum for NetworkFaultType
-typedef enum
-{
- EMBER_ZCL_NETWORK_FAULT_TYPE_UNSPECIFIED = 0,
- EMBER_ZCL_NETWORK_FAULT_TYPE_HARDWARE_FAILURE = 1,
- EMBER_ZCL_NETWORK_FAULT_TYPE_NETWORK_JAMMED = 2,
- EMBER_ZCL_NETWORK_FAULT_TYPE_CONNECTION_FAILED = 3,
-} EmberAfNetworkFaultType;
-
-// Enum for NotificationScheme
-typedef enum
-{
- EMBER_ZCL_NOTIFICATION_SCHEME_NO_NOTIFICATION_SCHEME_DEFINED = 0,
- EMBER_ZCL_NOTIFICATION_SCHEME_PREDEFINED_NOTIFICATION_SCHEME_A = 1,
- EMBER_ZCL_NOTIFICATION_SCHEME_PREDEFINED_NOTIFICATION_SCHEME_B = 2,
-} EmberAfNotificationScheme;
-
-// Enum for OTAAnnouncementReason
-typedef enum
-{
- EMBER_ZCL_OTA_ANNOUNCEMENT_REASON_SIMPLE_ANNOUNCEMENT = 0,
- EMBER_ZCL_OTA_ANNOUNCEMENT_REASON_UPDATE_AVAILABLE = 1,
- EMBER_ZCL_OTA_ANNOUNCEMENT_REASON_CRITICAL_UPDATE_AVAILABLE = 2,
-} EmberAfOTAAnnouncementReason;
-
-// Enum for OTAApplyUpdateAction
-typedef enum
-{
- EMBER_ZCL_OTA_APPLY_UPDATE_ACTION_PROCEED = 0,
- EMBER_ZCL_OTA_APPLY_UPDATE_ACTION_AWAIT_NEXT_ACTION = 1,
- EMBER_ZCL_OTA_APPLY_UPDATE_ACTION_DISCONTINUE = 2,
-} EmberAfOTAApplyUpdateAction;
-
-// Enum for OTADownloadProtocol
-typedef enum
-{
- EMBER_ZCL_OTA_DOWNLOAD_PROTOCOL_BDX_SYNCHRONOUS = 0,
- EMBER_ZCL_OTA_DOWNLOAD_PROTOCOL_BDX_ASYNCHRONOUS = 1,
- EMBER_ZCL_OTA_DOWNLOAD_PROTOCOL_HTTPS = 2,
- EMBER_ZCL_OTA_DOWNLOAD_PROTOCOL_VENDOR_SPECIFIC = 3,
-} EmberAfOTADownloadProtocol;
-
-// Enum for OTAQueryStatus
-typedef enum
-{
- EMBER_ZCL_OTA_QUERY_STATUS_UPDATE_AVAILABLE = 0,
- EMBER_ZCL_OTA_QUERY_STATUS_BUSY = 1,
- EMBER_ZCL_OTA_QUERY_STATUS_NOT_AVAILABLE = 2,
-} EmberAfOTAQueryStatus;
-
-// Enum for OccupancySensorType
-typedef enum
-{
- EMBER_ZCL_OCCUPANCY_SENSOR_TYPE_PIR = 0,
- EMBER_ZCL_OCCUPANCY_SENSOR_TYPE_ULTRASONIC = 1,
- EMBER_ZCL_OCCUPANCY_SENSOR_TYPE_PIR_AND_ULTRASONIC = 2,
- EMBER_ZCL_OCCUPANCY_SENSOR_TYPE_PHYSICAL_CONTACT = 3,
-} EmberAfOccupancySensorType;
-
-// Enum for OnOffDelayedAllOffEffectVariant
-typedef enum
-{
- EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_FADE_TO_OFF_IN_0P8_SECONDS = 0,
- EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_NO_FADE = 1,
- EMBER_ZCL_ON_OFF_DELAYED_ALL_OFF_EFFECT_VARIANT_50_PERCENT_DIM_DOWN_IN_0P8_SECONDS_THEN_FADE_TO_OFF_IN_12_SECONDS = 2,
-} EmberAfOnOffDelayedAllOffEffectVariant;
-
-// Enum for OnOffDyingLightEffectVariant
-typedef enum
-{
- EMBER_ZCL_ON_OFF_DYING_LIGHT_EFFECT_VARIANT_20_PERCENTER_DIM_UP_IN_0P5_SECONDS_THEN_FADE_TO_OFF_IN_1_SECOND = 0,
-} EmberAfOnOffDyingLightEffectVariant;
-
-// Enum for OnOffEffectIdentifier
-typedef enum
-{
- EMBER_ZCL_ON_OFF_EFFECT_IDENTIFIER_DELAYED_ALL_OFF = 0,
- EMBER_ZCL_ON_OFF_EFFECT_IDENTIFIER_DYING_LIGHT = 1,
-} EmberAfOnOffEffectIdentifier;
-
-// Enum for OperatingMode
-typedef enum
-{
- EMBER_ZCL_OPERATING_MODE_NORMAL = 0,
- EMBER_ZCL_OPERATING_MODE_CONFIGURE = 1,
-} EmberAfOperatingMode;
-
-// Enum for OriginatingDevice
-typedef enum
-{
- EMBER_ZCL_ORIGINATING_DEVICE_ENERGY_SERVICE_INTERFACE = 0,
- EMBER_ZCL_ORIGINATING_DEVICE_METER = 1,
- EMBER_ZCL_ORIGINATING_DEVICE_IN_HOME_DISPLAY_DEVICE = 2,
-} EmberAfOriginatingDevice;
-
-// Enum for PHYRateType
-typedef enum
-{
- EMBER_ZCL_PHY_RATE_TYPE_10_M = 0,
- EMBER_ZCL_PHY_RATE_TYPE_100_M = 1,
- EMBER_ZCL_PHY_RATE_TYPE_1000_M = 2,
- EMBER_ZCL_PHY_RATE_TYPE_2__5_G = 3,
- EMBER_ZCL_PHY_RATE_TYPE_5_G = 4,
- EMBER_ZCL_PHY_RATE_TYPE_10_G = 5,
- EMBER_ZCL_PHY_RATE_TYPE_40_G = 6,
- EMBER_ZCL_PHY_RATE_TYPE_100_G = 7,
- EMBER_ZCL_PHY_RATE_TYPE_200_G = 8,
- EMBER_ZCL_PHY_RATE_TYPE_400_G = 9,
-} EmberAfPHYRateType;
-
-// Enum for PasswordType
-typedef enum
-{
- EMBER_ZCL_PASSWORD_TYPE_PASSWORD1_SERVICE_MENU_ACCESS = 1,
- EMBER_ZCL_PASSWORD_TYPE_PASSWORD2_CONSUMER_MENU_ACCESS = 2,
- EMBER_ZCL_PASSWORD_TYPE_PASSWORD3 = 3,
- EMBER_ZCL_PASSWORD_TYPE_PASSWORD4 = 4,
-} EmberAfPasswordType;
-
-// Enum for PaymentDiscountDuration
-typedef enum
-{
- EMBER_ZCL_PAYMENT_DISCOUNT_DURATION_CURRENT_BILLING_PERIOD = 0,
- EMBER_ZCL_PAYMENT_DISCOUNT_DURATION_CURRENT_CONSOLIDATED_BILL = 1,
- EMBER_ZCL_PAYMENT_DISCOUNT_DURATION_ONE_MONTH = 2,
- EMBER_ZCL_PAYMENT_DISCOUNT_DURATION_ONE_QUARTER = 3,
- EMBER_ZCL_PAYMENT_DISCOUNT_DURATION_ONE_YEAR = 4,
-} EmberAfPaymentDiscountDuration;
-
-// Enum for PhysicalEnvironment
-typedef enum
-{
- EMBER_ZCL_PHYSICAL_ENVIRONMENT_UNSPECIFIED = 0,
- EMBER_ZCL_PHYSICAL_ENVIRONMENT_FIRST_PROFILE_SPECIFIED_VALUE = 1,
- EMBER_ZCL_PHYSICAL_ENVIRONMENT_LAST_PROFILE_SPECIFIED_VALUE = 127,
- EMBER_ZCL_PHYSICAL_ENVIRONMENT_UNKNOWN = 255,
-} EmberAfPhysicalEnvironment;
-
-// Enum for PowerProfileState
-typedef enum
-{
- EMBER_ZCL_POWER_PROFILE_STATE_POWER_PROFILE_WAITING_TO_START = 1,
- EMBER_ZCL_POWER_PROFILE_STATE_POWER_PROFILE_STARTED = 2,
- EMBER_ZCL_POWER_PROFILE_STATE_ENERGY_PHASE_RUNNING = 3,
- EMBER_ZCL_POWER_PROFILE_STATE_ENERGY_PHASE_ENDED = 4,
- EMBER_ZCL_POWER_PROFILE_STATE_ENERGY_PHASE_WAITING_TO_START = 5,
- EMBER_ZCL_POWER_PROFILE_STATE_ENERGY_PHASE_STARTED = 6,
- EMBER_ZCL_POWER_PROFILE_STATE_POWER_PROFILE_ENDED = 7,
- EMBER_ZCL_POWER_PROFILE_STATE_PROFILE_READY_FOR_SCHEDULING = 8,
- EMBER_ZCL_POWER_PROFILE_STATE_POWER_PROFILE_SCHEDULED = 9,
-} EmberAfPowerProfileState;
-
-// Enum for PowerSource
-typedef enum
-{
- EMBER_ZCL_POWER_SOURCE_UNKNOWN = 0,
- EMBER_ZCL_POWER_SOURCE_SINGLE_PHASE_MAINS = 1,
- EMBER_ZCL_POWER_SOURCE_THREE_PHASE_MAINS = 2,
- EMBER_ZCL_POWER_SOURCE_BATTERY = 3,
- EMBER_ZCL_POWER_SOURCE_DC_SOURCE = 4,
- EMBER_ZCL_POWER_SOURCE_EMERGENCY_MAINS_CONSTANT_POWER = 5,
- EMBER_ZCL_POWER_SOURCE_EMERGENCY_MAINS_TRANSFER_SWITCH = 6,
- EMBER_ZCL_POWER_SOURCE_BATTERY_BACKUP = 128,
-} EmberAfPowerSource;
-
-// Enum for PrePayGenericAlarmGroup
-typedef enum
-{
- EMBER_ZCL_PRE_PAY_GENERIC_ALARM_GROUP_LOW_CREDIT = 0,
- EMBER_ZCL_PRE_PAY_GENERIC_ALARM_GROUP_NO_CREDIT = 1,
- EMBER_ZCL_PRE_PAY_GENERIC_ALARM_GROUP_CREDIT_EXHAUSTED = 2,
- EMBER_ZCL_PRE_PAY_GENERIC_ALARM_GROUP_EMERGENCY_CREDIT_ENABLED = 3,
- EMBER_ZCL_PRE_PAY_GENERIC_ALARM_GROUP_EMERGENCY_CREDIT_EXHAUSTED = 4,
- EMBER_ZCL_PRE_PAY_GENERIC_ALARM_GROUP_IHD_LOW_CREDIT_WARNING = 5,
- EMBER_ZCL_PRE_PAY_GENERIC_ALARM_GROUP_EVENT_LOG_CLEARED = 6,
-} EmberAfPrePayGenericAlarmGroup;
-
-// Enum for PrepayEventAlarmGroup
-typedef enum
-{
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_PHYSICAL_ATTACK_ON_THE_PREPAY_METER = 32,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_ELECTRONIC_ATTACK_ON_THE_PREPAY_METER = 33,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_DISCOUNT_APPLIED = 34,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_CREDIT_ADJUSTMENT = 35,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_CREDIT_ADJUSTMENT_FAIL = 36,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_DEBT_ADJUSTMENT = 37,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_DEBT_ADJUSTMENT_FAIL = 38,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_MODE_CHANGE = 39,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_TOPUP_CODE_ERROR = 40,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_TOPUP_ALREADY_USED = 41,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_TOPUP_CODE_INVALID = 42,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_FRIENDLY_CREDIT_IN_USE = 43,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_FRIENDLY_CREDIT_PERIOD_END_WARNING = 44,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_FRIENDLY_CREDIT_PERIOD_END = 45,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_ERROR_REG_CLEAR = 48,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_ALARM_REG_CLEAR = 49,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_PREPAY_CLUSTER_NOT_FOUND = 50,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_MODE_CREDIT2_PREPAY = 65,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_MODE_PREPAY2_CREDIT = 66,
- EMBER_ZCL_PREPAY_EVENT_ALARM_GROUP_MODE_DEFAULT = 67,
-} EmberAfPrepayEventAlarmGroup;
-
-// Enum for PrepaySnapshotPayloadType
-typedef enum
-{
- EMBER_ZCL_PREPAY_SNAPSHOT_PAYLOAD_TYPE_DEBT_CREDIT_STATUS = 0,
- EMBER_ZCL_PREPAY_SNAPSHOT_PAYLOAD_TYPE_NOT_USED = 255,
-} EmberAfPrepaySnapshotPayloadType;
-
-// Enum for PrepaySwitchAlarmGroup
-typedef enum
-{
- EMBER_ZCL_PREPAY_SWITCH_ALARM_GROUP_SUPPLY_ON = 16,
- EMBER_ZCL_PREPAY_SWITCH_ALARM_GROUP_SUPPLY_ARM = 17,
- EMBER_ZCL_PREPAY_SWITCH_ALARM_GROUP_SUPPLY_OFF = 18,
- EMBER_ZCL_PREPAY_SWITCH_ALARM_GROUP_DISCONNECTION_FAILURE = 19,
- EMBER_ZCL_PREPAY_SWITCH_ALARM_GROUP_DISCONNECTED_DUE_TO_TAMPER_DETECTED = 20,
- EMBER_ZCL_PREPAY_SWITCH_ALARM_GROUP_DISCONNECTED_DUE_TO_CUT_OFF_VALUE = 21,
- EMBER_ZCL_PREPAY_SWITCH_ALARM_GROUP_REMOTE_DISCONNECTED = 22,
-} EmberAfPrepaySwitchAlarmGroup;
-
-// Enum for PriceControlAcknowledgement
-typedef enum
-{
- EMBER_ZCL_PRICE_CONTROL_ACKNOWLEDGEMENT_NOT_REQUIRED = 0,
- EMBER_ZCL_PRICE_CONTROL_ACKNOWLEDGEMENT_REQUIRED = 1,
-} EmberAfPriceControlAcknowledgement;
-
-// Enum for PriceTier
-typedef enum
-{
- EMBER_ZCL_PRICE_TIER_NO_TIER_RELATED = 0,
- EMBER_ZCL_PRICE_TIER_TIER1_PRICE_LABEL = 1,
- EMBER_ZCL_PRICE_TIER_TIER2_PRICE_LABEL = 2,
- EMBER_ZCL_PRICE_TIER_TIER3_PRICE_LABEL = 3,
- EMBER_ZCL_PRICE_TIER_TIER4_PRICE_LABEL = 4,
- EMBER_ZCL_PRICE_TIER_TIER5_PRICE_LABEL = 5,
- EMBER_ZCL_PRICE_TIER_TIER6_PRICE_LABEL = 6,
- EMBER_ZCL_PRICE_TIER_TIER7_PRICE_LABEL = 7,
- EMBER_ZCL_PRICE_TIER_TIER8_PRICE_LABEL = 8,
- EMBER_ZCL_PRICE_TIER_TIER9_PRICE_LABEL = 9,
- EMBER_ZCL_PRICE_TIER_TIER10_PRICE_LABEL = 10,
- EMBER_ZCL_PRICE_TIER_TIER11_PRICE_LABEL = 11,
- EMBER_ZCL_PRICE_TIER_TIER12_PRICE_LABEL = 12,
- EMBER_ZCL_PRICE_TIER_TIER13_PRICE_LABEL = 13,
- EMBER_ZCL_PRICE_TIER_TIER14_PRICE_LABEL = 14,
- EMBER_ZCL_PRICE_TIER_REFER_TO_EXTENDED_PRICE_TIER_FIELD = 15,
- EMBER_ZCL_PRICE_TIER_TIER15_PRICE_LABEL = 15,
-} EmberAfPriceTier;
-
-// Enum for ProductCode
-typedef enum
-{
- EMBER_ZCL_PRODUCT_CODE_MANUFACTURER_DEFINED = 0,
- EMBER_ZCL_PRODUCT_CODE_ITERNATIONAL_ARTICLE_NUMBER = 1,
- EMBER_ZCL_PRODUCT_CODE_GLOBAL_TRADE_ITEM_NUMBER = 2,
- EMBER_ZCL_PRODUCT_CODE_UNIVERSAL_PRODUCT_CODE = 3,
- EMBER_ZCL_PRODUCT_CODE_STOCK_KEEPING_UNIT = 4,
-} EmberAfProductCode;
-
-// Enum for ProductTypeId
-typedef enum
-{
- EMBER_ZCL_PRODUCT_TYPE_ID_WHITE_GOODS = 0,
- EMBER_ZCL_PRODUCT_TYPE_ID_DISHWASHER = 22017,
- EMBER_ZCL_PRODUCT_TYPE_ID_TUMBLE_DRYER = 22018,
- EMBER_ZCL_PRODUCT_TYPE_ID_WASHER_DRYER = 22019,
- EMBER_ZCL_PRODUCT_TYPE_ID_WASHING_MACHINE = 22020,
- EMBER_ZCL_PRODUCT_TYPE_ID_HOBS = 24067,
- EMBER_ZCL_PRODUCT_TYPE_ID_INDUCTION_HOBS = 24073,
- EMBER_ZCL_PRODUCT_TYPE_ID_OVEN = 24065,
- EMBER_ZCL_PRODUCT_TYPE_ID_ELECTRICAL_OVEN = 24070,
- EMBER_ZCL_PRODUCT_TYPE_ID_REFRIGERATOR_FREEZER = 26113,
-} EmberAfProductTypeId;
-
-// Enum for ProposedSupplyStatus
-typedef enum
-{
- EMBER_ZCL_PROPOSED_SUPPLY_STATUS_RESERVED = 0,
- EMBER_ZCL_PROPOSED_SUPPLY_STATUS_SUPPLY_OFF_ARMED = 1,
- EMBER_ZCL_PROPOSED_SUPPLY_STATUS_SUPPLY_ON = 2,
-} EmberAfProposedSupplyStatus;
-
-// Enum for PublishCppEventCppAuth
-typedef enum
-{
- EMBER_ZCL_PUBLISH_CPP_EVENT_CPP_AUTH_PENDING = 0,
- EMBER_ZCL_PUBLISH_CPP_EVENT_CPP_AUTH_ACCEPTED = 1,
- EMBER_ZCL_PUBLISH_CPP_EVENT_CPP_AUTH_REJECTED = 2,
- EMBER_ZCL_PUBLISH_CPP_EVENT_CPP_AUTH_FORCED = 3,
-} EmberAfPublishCppEventCppAuth;
-
-// Enum for PumpControlMode
-typedef enum
-{
- EMBER_ZCL_PUMP_CONTROL_MODE_CONSTANT_SPEED = 0,
- EMBER_ZCL_PUMP_CONTROL_MODE_CONSTANT_PRESSURE = 1,
- EMBER_ZCL_PUMP_CONTROL_MODE_PROPORTIONAL_PRESSURE = 2,
- EMBER_ZCL_PUMP_CONTROL_MODE_CONSTANT_FLOW = 3,
- EMBER_ZCL_PUMP_CONTROL_MODE_CONSTANT_TEMPERATURE = 5,
- EMBER_ZCL_PUMP_CONTROL_MODE_AUTOMATIC = 7,
-} EmberAfPumpControlMode;
-
-// Enum for PumpOperationMode
-typedef enum
-{
- EMBER_ZCL_PUMP_OPERATION_MODE_NORMAL = 0,
- EMBER_ZCL_PUMP_OPERATION_MODE_MINIMUM = 1,
- EMBER_ZCL_PUMP_OPERATION_MODE_MAXIMUM = 2,
- EMBER_ZCL_PUMP_OPERATION_MODE_LOCAL = 3,
-} EmberAfPumpOperationMode;
-
-// Enum for PushHistoricalMeteringData
-typedef enum
-{
- EMBER_ZCL_PUSH_HISTORICAL_METERING_DATA_DAY = 64,
- EMBER_ZCL_PUSH_HISTORICAL_METERING_DATA_WEEK = 128,
- EMBER_ZCL_PUSH_HISTORICAL_METERING_DATA_MONTH = 384,
- EMBER_ZCL_PUSH_HISTORICAL_METERING_DATA_YEAR = 448,
-} EmberAfPushHistoricalMeteringData;
-
-// Enum for PushHistoricalPaymentData
-typedef enum
-{
- EMBER_ZCL_PUSH_HISTORICAL_PAYMENT_DATA_DAY = 512,
- EMBER_ZCL_PUSH_HISTORICAL_PAYMENT_DATA_WEEK = 1024,
- EMBER_ZCL_PUSH_HISTORICAL_PAYMENT_DATA_MONTH = 3072,
- EMBER_ZCL_PUSH_HISTORICAL_PAYMENT_DATA_YEAR = 3584,
-} EmberAfPushHistoricalPaymentData;
-
-// Enum for RadioFaultType
-typedef enum
-{
- EMBER_ZCL_RADIO_FAULT_TYPE_UNSPECIFIED = 0,
- EMBER_ZCL_RADIO_FAULT_TYPE_WI_FI_FAULT = 1,
- EMBER_ZCL_RADIO_FAULT_TYPE_CELLULAR_FAULT = 2,
- EMBER_ZCL_RADIO_FAULT_TYPE_THREAD_FAULT = 3,
- EMBER_ZCL_RADIO_FAULT_TYPE_NFC_FAULT = 4,
- EMBER_ZCL_RADIO_FAULT_TYPE_BLE_FAULT = 5,
- EMBER_ZCL_RADIO_FAULT_TYPE_ETHERNET_FAULT = 6,
-} EmberAfRadioFaultType;
-
-// Enum for RegisterTier
-typedef enum
-{
- EMBER_ZCL_REGISTER_TIER_NO_TIER_RELATED = 0,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER1_SUMMATION_DELIVERED_ATTRIBUTE = 1,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER2_SUMMATION_DELIVERED_ATTRIBUTE = 2,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER3_SUMMATION_DELIVERED_ATTRIBUTE = 3,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER4_SUMMATION_DELIVERED_ATTRIBUTE = 4,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER5_SUMMATION_DELIVERED_ATTRIBUTE = 5,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER6_SUMMATION_DELIVERED_ATTRIBUTE = 6,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER7_SUMMATION_DELIVERED_ATTRIBUTE = 7,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER8_SUMMATION_DELIVERED_ATTRIBUTE = 8,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER9_SUMMATION_DELIVERED_ATTRIBUTE = 9,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER10_SUMMATION_DELIVERED_ATTRIBUTE = 10,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER11_SUMMATION_DELIVERED_ATTRIBUTE = 11,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER12_SUMMATION_DELIVERED_ATTRIBUTE = 12,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER13_SUMMATION_DELIVERED_ATTRIBUTE = 13,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER14_SUMMATION_DELIVERED_ATTRIBUTE = 14,
- EMBER_ZCL_REGISTER_TIER_REFER_TO_EXTENDED_REGISTER_TIER_FIELD = 15,
- EMBER_ZCL_REGISTER_TIER_CURRENT_TIER15_SUMMATION_DELIVERED_ATTRIBUTE = 15,
-} EmberAfRegisterTier;
-
-// Enum for RegulatoryLocationType
-typedef enum
-{
- EMBER_ZCL_REGULATORY_LOCATION_TYPE_INDOOR = 0,
- EMBER_ZCL_REGULATORY_LOCATION_TYPE_OUTDOOR = 1,
- EMBER_ZCL_REGULATORY_LOCATION_TYPE_INDOOR_OUTDOOR = 2,
-} EmberAfRegulatoryLocationType;
-
-// Enum for RelativeHumidityDisplay
-typedef enum
-{
- EMBER_ZCL_RELATIVE_HUMIDITY_DISPLAY_NOT_DISPLAYED = 0,
- EMBER_ZCL_RELATIVE_HUMIDITY_DISPLAY_DISPLAYED = 1,
-} EmberAfRelativeHumidityDisplay;
-
-// Enum for RelativeHumidityMode
-typedef enum
-{
- EMBER_ZCL_RELATIVE_HUMIDITY_MODE_MEASURE_LOCALLY = 0,
- EMBER_ZCL_RELATIVE_HUMIDITY_MODE_UPDATED_OVER_THE_NETWORK = 1,
-} EmberAfRelativeHumidityMode;
-
-// Enum for RemoteEnableFlags
-typedef enum
-{
- EMBER_ZCL_REMOTE_ENABLE_FLAGS_DISABLED = 0,
- EMBER_ZCL_REMOTE_ENABLE_FLAGS_TEMPORARILY_LOCKED_DISABLED = 7,
- EMBER_ZCL_REMOTE_ENABLE_FLAGS_ENABLED_REMOTE_CONTROL = 15,
- EMBER_ZCL_REMOTE_ENABLE_FLAGS_ENABLED_REMOTE_AND_ENERGY_CONTROL = 1,
-} EmberAfRemoteEnableFlags;
-
-// Enum for RepaymentDebtType
-typedef enum
-{
- EMBER_ZCL_REPAYMENT_DEBT_TYPE_DEBT1 = 0,
- EMBER_ZCL_REPAYMENT_DEBT_TYPE_DEBT2 = 1,
- EMBER_ZCL_REPAYMENT_DEBT_TYPE_DEBT3 = 2,
- EMBER_ZCL_REPAYMENT_DEBT_TYPE_ALL_DEBTS = 255,
-} EmberAfRepaymentDebtType;
-
-// Enum for ResultType
-typedef enum
-{
- EMBER_ZCL_RESULT_TYPE_ACCEPTED = 0,
- EMBER_ZCL_RESULT_TYPE_REJECTED_INVALID_TOP_UP = 1,
- EMBER_ZCL_RESULT_TYPE_REJECTED_DUPLICATE_TOP_UP = 2,
- EMBER_ZCL_RESULT_TYPE_REJECTED_ERROR = 3,
- EMBER_ZCL_RESULT_TYPE_REJECTED_MAX_CREDIT_REACHED = 4,
- EMBER_ZCL_RESULT_TYPE_REJECTED_KEYPAD_LOCK = 5,
- EMBER_ZCL_RESULT_TYPE_REJECTED_TOP_UP_VALUE_TOO_LARGE = 6,
- EMBER_ZCL_RESULT_TYPE_ACCEPTED_SUPPLY_ENABLED = 16,
- EMBER_ZCL_RESULT_TYPE_ACCEPTED_SUPPLY_DISABLED = 17,
- EMBER_ZCL_RESULT_TYPE_ACCEPTED_SUPPLY_ARMED = 18,
-} EmberAfResultType;
-
-// Enum for RoutingRole
-typedef enum
-{
- EMBER_ZCL_ROUTING_ROLE_UNSPECIFIED = 0,
- EMBER_ZCL_ROUTING_ROLE_UNASSIGNED = 1,
- EMBER_ZCL_ROUTING_ROLE_SLEEPY_END_DEVICE = 2,
- EMBER_ZCL_ROUTING_ROLE_END_DEVICE = 3,
- EMBER_ZCL_ROUTING_ROLE_REED = 4,
- EMBER_ZCL_ROUTING_ROLE_ROUTER = 5,
- EMBER_ZCL_ROUTING_ROLE_LEADER = 6,
-} EmberAfRoutingRole;
-
-// Enum for SampleType
-typedef enum
-{
- EMBER_ZCL_SAMPLE_TYPE_CONSUMPTION_DELIVERED = 0,
-} EmberAfSampleType;
-
-// Enum for SaturationMoveMode
-typedef enum
-{
- EMBER_ZCL_SATURATION_MOVE_MODE_STOP = 0,
- EMBER_ZCL_SATURATION_MOVE_MODE_UP = 1,
- EMBER_ZCL_SATURATION_MOVE_MODE_DOWN = 3,
-} EmberAfSaturationMoveMode;
-
-// Enum for SaturationStepMode
-typedef enum
-{
- EMBER_ZCL_SATURATION_STEP_MODE_UP = 1,
- EMBER_ZCL_SATURATION_STEP_MODE_DOWN = 3,
-} EmberAfSaturationStepMode;
-
-// Enum for SecurityType
-typedef enum
-{
- EMBER_ZCL_SECURITY_TYPE_UNSPECIFIED = 0,
- EMBER_ZCL_SECURITY_TYPE_NONE = 1,
- EMBER_ZCL_SECURITY_TYPE_WEP = 2,
- EMBER_ZCL_SECURITY_TYPE_WPA = 3,
- EMBER_ZCL_SECURITY_TYPE_WPA2 = 4,
- EMBER_ZCL_SECURITY_TYPE_WPA3 = 5,
-} EmberAfSecurityType;
-
-// Enum for SensingLightSensorType
-typedef enum
-{
- EMBER_ZCL_SENSING_LIGHT_SENSOR_TYPE_PHOTODIODE = 0,
- EMBER_ZCL_SENSING_LIGHT_SENSOR_TYPE_CMOS = 1,
-} EmberAfSensingLightSensorType;
-
-// Enum for SetpointAdjustMode
-typedef enum
-{
- EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_SETPOINT = 0,
- EMBER_ZCL_SETPOINT_ADJUST_MODE_COOL_SETPOINT = 1,
- EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_AND_COOL_SETPOINTS = 2,
-} EmberAfSetpointAdjustMode;
-
-// Enum for SignatureType
-typedef enum
-{
- EMBER_ZCL_SIGNATURE_TYPE_RESERVED = 0,
- EMBER_ZCL_SIGNATURE_TYPE_ECDSA = 1,
-} EmberAfSignatureType;
-
-// Enum for SnapshotConfirmation
-typedef enum
-{
- EMBER_ZCL_SNAPSHOT_CONFIRMATION_ACCEPTED = 0,
- EMBER_ZCL_SNAPSHOT_CONFIRMATION_SNAPSHOT_CAUSE_NOT_SUPPORTED = 1,
-} EmberAfSnapshotConfirmation;
-
-// Enum for SnapshotPayloadType
-typedef enum
-{
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_TOU_INFORMATION_SET_DELIVERED_REGISTERS = 0,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_TOU_INFORMATION_SET_RECEIVED_REGISTERS = 1,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_BLOCK_TIER_INFORMATION_SET_DELIVERED = 2,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_BLOCK_TIER_INFORMATION_SET_RECEIVED = 3,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_TOU_INFORMATION_SET_DELIVERED_REGISTERS_NO_BILLING = 4,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_TOU_INFORMATION_SET_RECEIVED_REGISTER_NO_BILLINGS = 5,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_BLOCK_TIER_INFORMATION_SET_DELIVERED_NO_BILLING = 6,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_BLOCK_TIER_INFORMATION_SET_RECEIVED_NO_BILLING = 7,
- EMBER_ZCL_SNAPSHOT_PAYLOAD_TYPE_DATA_UNAVAILABLE = 128,
-} EmberAfSnapshotPayloadType;
-
-// Enum for SnapshotScheduleConfirmation
-typedef enum
-{
- EMBER_ZCL_SNAPSHOT_SCHEDULE_CONFIRMATION_ACCEPTED = 0,
- EMBER_ZCL_SNAPSHOT_SCHEDULE_CONFIRMATION_SNAPSHOT_TYPE_NOT_SUPPORTED = 1,
- EMBER_ZCL_SNAPSHOT_SCHEDULE_CONFIRMATION_SNAPSHOT_CAUSE_NOT_SUPPORTED = 2,
- EMBER_ZCL_SNAPSHOT_SCHEDULE_CONFIRMATION_SNAPSHOT_SCHEDULE_NOT_CURRENTLY_AVAILABLE = 3,
- EMBER_ZCL_SNAPSHOT_SCHEDULE_CONFIRMATION_SNAPSHOT_SCHEDULES_NOT_SUPPORTED_BY_DEVICE = 4,
- EMBER_ZCL_SNAPSHOT_SCHEDULE_CONFIRMATION_INSUFFICIENT_SPACE_FOR_SNAPSHOT_SCHEDULE = 5,
-} EmberAfSnapshotScheduleConfirmation;
-
-// Enum for SquawkLevel
-typedef enum
-{
- EMBER_ZCL_SQUAWK_LEVEL_LOW_LEVEL = 0,
- EMBER_ZCL_SQUAWK_LEVEL_MEDIUM_LEVEL = 1,
- EMBER_ZCL_SQUAWK_LEVEL_HIGH_LEVEL = 2,
- EMBER_ZCL_SQUAWK_LEVEL_VERY_HIGH_LEVEL = 2,
-} EmberAfSquawkLevel;
-
-// Enum for SquawkMode
-typedef enum
-{
- EMBER_ZCL_SQUAWK_MODE_SYSTEM_IS_ARMED = 0,
- EMBER_ZCL_SQUAWK_MODE_SYSTEM_IS_DISARMED = 1,
-} EmberAfSquawkMode;
-
-// Enum for SquawkStobe
-typedef enum
-{
- EMBER_ZCL_SQUAWK_STOBE_NO_STROBE = 0,
- EMBER_ZCL_SQUAWK_STOBE_USE_STROBE = 1,
-} EmberAfSquawkStobe;
-
-// Enum for StartOfWeek
-typedef enum
-{
- EMBER_ZCL_START_OF_WEEK_SUNDAY = 0,
- EMBER_ZCL_START_OF_WEEK_MONDAY = 1,
- EMBER_ZCL_START_OF_WEEK_TUESDAY = 2,
- EMBER_ZCL_START_OF_WEEK_WEDNESDAY = 3,
- EMBER_ZCL_START_OF_WEEK_THURSDAY = 4,
- EMBER_ZCL_START_OF_WEEK_FRIDAY = 5,
- EMBER_ZCL_START_OF_WEEK_SATURDAY = 6,
-} EmberAfStartOfWeek;
-
-// Enum for StartUpOnOffValue
-typedef enum
-{
- EMBER_ZCL_START_UP_ON_OFF_VALUE_SET_TO_OFF = 0,
- EMBER_ZCL_START_UP_ON_OFF_VALUE_SET_TO_ON = 1,
- EMBER_ZCL_START_UP_ON_OFF_VALUE_SET_TO_TOGGLE = 2,
- EMBER_ZCL_START_UP_ON_OFF_VALUE_SET_TO_PREVIOUS = 255,
-} EmberAfStartUpOnOffValue;
-
-// Enum for StepMode
-typedef enum
-{
- EMBER_ZCL_STEP_MODE_UP = 0,
- EMBER_ZCL_STEP_MODE_DOWN = 1,
-} EmberAfStepMode;
-
-// Enum for SupplyStatus
-typedef enum
-{
- EMBER_ZCL_SUPPLY_STATUS_SUPPLY_OFF = 0,
- EMBER_ZCL_SUPPLY_STATUS_SUPPLY_OFF_ARMED = 1,
- EMBER_ZCL_SUPPLY_STATUS_SUPPLY_ON = 2,
- EMBER_ZCL_SUPPLY_STATUS_SUPPLY_UNCHANGED = 3,
-} EmberAfSupplyStatus;
-
-// Enum for SwitchActions
-typedef enum
-{
- EMBER_ZCL_SWITCH_ACTIONS_ON = 0,
- EMBER_ZCL_SWITCH_ACTIONS_OFF = 1,
- EMBER_ZCL_SWITCH_ACTIONS_TOGGLE = 2,
-} EmberAfSwitchActions;
-
-// Enum for SwitchType
-typedef enum
-{
- EMBER_ZCL_SWITCH_TYPE_TOGGLE = 0,
- EMBER_ZCL_SWITCH_TYPE_MOMENTARY = 1,
- EMBER_ZCL_SWITCH_TYPE_MULTI_FUNCTION = 2,
-} EmberAfSwitchType;
-
-// Enum for TariffChargingScheme
-typedef enum
-{
- EMBER_ZCL_TARIFF_CHARGING_SCHEME_TOU_TARIFF = 0,
- EMBER_ZCL_TARIFF_CHARGING_SCHEME_BLOCK_TARIFF = 16,
- EMBER_ZCL_TARIFF_CHARGING_SCHEME_BLOCK_TOU_TARIFF_WITH_COMMON_THRESHOLDS = 32,
- EMBER_ZCL_TARIFF_CHARGING_SCHEME_BLOCK_TOU_TARIFF_WITH_INDIVIDUAL_THRESHOLDS_PER_TIER = 48,
-} EmberAfTariffChargingScheme;
-
-// Enum for TariffResolutionPeriod
-typedef enum
-{
- EMBER_ZCL_TARIFF_RESOLUTION_PERIOD_NOT_DEFINED = 0,
- EMBER_ZCL_TARIFF_RESOLUTION_PERIOD_BLOCK_PERIOD = 1,
- EMBER_ZCL_TARIFF_RESOLUTION_PERIOD_ONE_DAY = 2,
-} EmberAfTariffResolutionPeriod;
-
-// Enum for TariffType
-typedef enum
-{
- EMBER_ZCL_TARIFF_TYPE_DELIVERED_TARIFF = 0,
- EMBER_ZCL_TARIFF_TYPE_RECEIVED_TARIFF = 1,
- EMBER_ZCL_TARIFF_TYPE_DELIVERED_AND_RECEIVED_TARIFF = 2,
-} EmberAfTariffType;
-
-// Enum for TemperatureDisplayMode
-typedef enum
-{
- EMBER_ZCL_TEMPERATURE_DISPLAY_MODE_CELSIUS = 0,
- EMBER_ZCL_TEMPERATURE_DISPLAY_MODE_FAHRENHEIT = 1,
-} EmberAfTemperatureDisplayMode;
-
-// Enum for TemperatureSetpointHold
-typedef enum
-{
- EMBER_ZCL_TEMPERATURE_SETPOINT_HOLD_SETPOINT_HOLD_OFF = 0,
- EMBER_ZCL_TEMPERATURE_SETPOINT_HOLD_SETPOINT_HOLD_ON = 1,
-} EmberAfTemperatureSetpointHold;
-
-// Enum for ThermostatControlSequence
-typedef enum
-{
- EMBER_ZCL_THERMOSTAT_CONTROL_SEQUENCE_COOLING_ONLY = 0,
- EMBER_ZCL_THERMOSTAT_CONTROL_SEQUENCE_COOLING_WITH_REHEAT = 1,
- EMBER_ZCL_THERMOSTAT_CONTROL_SEQUENCE_HEATING_ONLY = 2,
- EMBER_ZCL_THERMOSTAT_CONTROL_SEQUENCE_HEATING_WITH_REHEAT = 3,
- EMBER_ZCL_THERMOSTAT_CONTROL_SEQUENCE_COOLING_AND_HEATING = 4,
- EMBER_ZCL_THERMOSTAT_CONTROL_SEQUENCE_COOLING_AND_HEATING_WITH_REHEAT = 5,
-} EmberAfThermostatControlSequence;
-
-// Enum for ThermostatRunningMode
-typedef enum
-{
- EMBER_ZCL_THERMOSTAT_RUNNING_MODE_OFF = 0,
- EMBER_ZCL_THERMOSTAT_RUNNING_MODE_COOL = 3,
- EMBER_ZCL_THERMOSTAT_RUNNING_MODE_HEAT = 4,
-} EmberAfThermostatRunningMode;
-
-// Enum for ThermostatSystemMode
-typedef enum
-{
- EMBER_ZCL_THERMOSTAT_SYSTEM_MODE_OFF = 0,
- EMBER_ZCL_THERMOSTAT_SYSTEM_MODE_AUTO = 1,
- EMBER_ZCL_THERMOSTAT_SYSTEM_MODE_COOL = 3,
- EMBER_ZCL_THERMOSTAT_SYSTEM_MODE_HEAT = 4,
- EMBER_ZCL_THERMOSTAT_SYSTEM_MODE_EMERGENCY_HEATING = 5,
- EMBER_ZCL_THERMOSTAT_SYSTEM_MODE_PRECOOLING = 6,
- EMBER_ZCL_THERMOSTAT_SYSTEM_MODE_FAN_ONLY = 7,
-} EmberAfThermostatSystemMode;
-
-// Enum for TierBlockMode
-typedef enum
-{
- EMBER_ZCL_TIER_BLOCK_MODE_ACTIVE_BLOCK = 0,
- EMBER_ZCL_TIER_BLOCK_MODE_ACTIVE_BLOCK_PRICE_TIER = 1,
- EMBER_ZCL_TIER_BLOCK_MODE_ACTIVE_BLOCK_PRICE_TIER_THRESHOLD = 2,
- EMBER_ZCL_TIER_BLOCK_MODE_NOT_USED = 255,
-} EmberAfTierBlockMode;
-
-// Enum for TimeEncoding
-typedef enum
-{
- EMBER_ZCL_TIME_ENCODING_RELATIVE = 0,
- EMBER_ZCL_TIME_ENCODING_ABSOLUTE = 64,
-} EmberAfTimeEncoding;
-
-// Enum for TunnelingProtocolId
-typedef enum
-{
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_DLMS_COSEM = 0,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_IEC_61107 = 1,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_ANSI_C12 = 2,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_M_BUS = 3,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_SML = 4,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_CLIMATE_TALK = 5,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_GB_HRGP = 6,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_IP_V4 = 7,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_IP_V6 = 8,
- EMBER_ZCL_TUNNELING_PROTOCOL_ID_TEST = 199,
-} EmberAfTunnelingProtocolId;
-
-// Enum for TunnelingTransferDataStatus
-typedef enum
-{
- EMBER_ZCL_TUNNELING_TRANSFER_DATA_STATUS_NO_SUCH_TUNNEL = 0,
- EMBER_ZCL_TUNNELING_TRANSFER_DATA_STATUS_WRONG_DEVICE = 1,
- EMBER_ZCL_TUNNELING_TRANSFER_DATA_STATUS_DATA_OVERFLOW = 2,
-} EmberAfTunnelingTransferDataStatus;
-
-// Enum for TunnelingTunnelStatus
-typedef enum
-{
- EMBER_ZCL_TUNNELING_TUNNEL_STATUS_SUCCESS = 0,
- EMBER_ZCL_TUNNELING_TUNNEL_STATUS_BUSY = 1,
- EMBER_ZCL_TUNNELING_TUNNEL_STATUS_NO_MORE_TUNNEL_IDS = 2,
- EMBER_ZCL_TUNNELING_TUNNEL_STATUS_PROTOCOL_NOT_SUPPORTED = 3,
- EMBER_ZCL_TUNNELING_TUNNEL_STATUS_FLOW_CONTROL_NOT_SUPPORTED = 4,
-} EmberAfTunnelingTunnelStatus;
-
-// Enum for TvChannelErrorType
-typedef enum
-{
- EMBER_ZCL_TV_CHANNEL_ERROR_TYPE_MULTIPLE_MATCHES = 0,
- EMBER_ZCL_TV_CHANNEL_ERROR_TYPE_NO_MATCHES = 1,
-} EmberAfTvChannelErrorType;
-
-// Enum for TvChannelLineupInfoType
-typedef enum
-{
- EMBER_ZCL_TV_CHANNEL_LINEUP_INFO_TYPE_MSO = 0,
-} EmberAfTvChannelLineupInfoType;
-
-// Enum for WanStatus
-typedef enum
-{
- EMBER_ZCL_WAN_STATUS_CONNECTION_TO_WAN_IS_NOT_AVAILABLE = 0,
- EMBER_ZCL_WAN_STATUS_CONNECTION_TO_WAN_IS_AVAILABLE = 1,
-} EmberAfWanStatus;
-
-// Enum for WarningEvent
-typedef enum
-{
- EMBER_ZCL_WARNING_EVENT_WARNING1_OVERALL_POWER_ABOVE_AVAILABLE_POWER_LEVEL = 0,
- EMBER_ZCL_WARNING_EVENT_WARNING2_OVERALL_POWER_ABOVE_POWER_THRESHOLD_LEVEL = 1,
- EMBER_ZCL_WARNING_EVENT_WARNING3_OVERALL_POWER_BACK_BELOW_THE_AVAILABLE_POWER_LEVEL = 2,
- EMBER_ZCL_WARNING_EVENT_WARNING4_OVERALL_POWER_BACK_BELOW_THE_POWER_THRESHOLD_LEVEL = 3,
- EMBER_ZCL_WARNING_EVENT_WARNING5_OVERALL_POWER_WILL_BE_POTENTIALLY_ABOVE_AVAILABLE_POWER_LEVEL_IF_THE_APPLIANCE_STARTS = 4,
-} EmberAfWarningEvent;
-
-// Enum for WarningMode
-typedef enum
-{
- EMBER_ZCL_WARNING_MODE_STOP = 0,
- EMBER_ZCL_WARNING_MODE_BURGLAR = 1,
- EMBER_ZCL_WARNING_MODE_FIRE = 2,
- EMBER_ZCL_WARNING_MODE_EMERGENCY = 3,
- EMBER_ZCL_WARNING_MODE_POLICE_PANIC = 4,
- EMBER_ZCL_WARNING_MODE_FIRE_PANIC = 5,
- EMBER_ZCL_WARNING_MODE_EMERGENCY_PANIC = 6,
-} EmberAfWarningMode;
-
-// Enum for WarningStobe
-typedef enum
-{
- EMBER_ZCL_WARNING_STOBE_NO_STROBE = 0,
- EMBER_ZCL_WARNING_STOBE_USE_STROBE = 1,
-} EmberAfWarningStobe;
-
-// Enum for WiFiVersionType
-typedef enum
-{
- EMBER_ZCL_WI_FI_VERSION_TYPE_802__11A = 0,
- EMBER_ZCL_WI_FI_VERSION_TYPE_802__11B = 1,
- EMBER_ZCL_WI_FI_VERSION_TYPE_802__11G = 2,
- EMBER_ZCL_WI_FI_VERSION_TYPE_802__11N = 3,
- EMBER_ZCL_WI_FI_VERSION_TYPE_802__11AC = 4,
- EMBER_ZCL_WI_FI_VERSION_TYPE_802__11AX = 5,
-} EmberAfWiFiVersionType;
-
-// Enum for WwahIasZoneEnrollmentMode
-typedef enum
-{
- EMBER_ZCL_WWAH_IAS_ZONE_ENROLLMENT_MODE_TRIP_TO_PAIR = 0,
- EMBER_ZCL_WWAH_IAS_ZONE_ENROLLMENT_MODE_AUTO_ENROLLMENT_RESPONSE = 1,
- EMBER_ZCL_WWAH_IAS_ZONE_ENROLLMENT_MODE_REQUEST = 2,
-} EmberAfWwahIasZoneEnrollmentMode;
-
-// Enum for WwahPowerNotificationReason
-typedef enum
-{
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_UNKNOWN = 0,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_BATTERY = 1,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_BROWNOUT = 2,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_WATCHDOG = 3,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_RESET_PIN = 4,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_MEMORY_HARDWARE_FAULT = 5,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_SOFWARE_EXCEPTION = 6,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_OTA_BOOTLOAD_SUCCESS = 7,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_SOFTWARE_RESET = 8,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_POWER_BUTTON = 9,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_TEMPERATURE = 10,
- EMBER_ZCL_WWAH_POWER_NOTIFICATION_REASON_BOOTLOAD_FAILURE = 11,
-} EmberAfWwahPowerNotificationReason;
-
-// Enum for ZigbeeInformationLogicalType
-typedef enum
-{
- EMBER_ZCL_ZIGBEE_INFORMATION_LOGICAL_TYPE_COORDINATOR = 0,
- EMBER_ZCL_ZIGBEE_INFORMATION_LOGICAL_TYPE_ROUTER = 1,
- EMBER_ZCL_ZIGBEE_INFORMATION_LOGICAL_TYPE_END_DEVICE = 2,
-} EmberAfZigbeeInformationLogicalType;
-
-// Enum for ZllStatus
-typedef enum
-{
- EMBER_ZCL_ZLL_STATUS_SUCCESS = 0,
- EMBER_ZCL_ZLL_STATUS_FAILURE = 1,
-} EmberAfZllStatus;
-
-#define EMBER_AF_ALARM_MASK_GENERAL_HW_FAULT (1)
-#define EMBER_AF_ALARM_MASK_GENERAL_HW_FAULT_OFFSET (0)
-#define EMBER_AF_ALARM_MASK_GENERAL_SW_FAULT (2)
-#define EMBER_AF_ALARM_MASK_GENERAL_SW_FAULT_OFFSET (1)
-#define EMBER_AF_ALERT_COUNT_NUMBER_OF_ALERTS (15)
-#define EMBER_AF_ALERT_COUNT_NUMBER_OF_ALERTS_OFFSET (0)
-#define EMBER_AF_ALERT_COUNT_TYPE_OF_ALERT (240)
-#define EMBER_AF_ALERT_COUNT_TYPE_OF_ALERT_OFFSET (4)
-#define EMBER_AF_ALERT_STRUCTURE_ALERT_ID (255)
-#define EMBER_AF_ALERT_STRUCTURE_ALERT_ID_OFFSET (0)
-#define EMBER_AF_ALERT_STRUCTURE_CATEGORY (3840)
-#define EMBER_AF_ALERT_STRUCTURE_CATEGORY_OFFSET (8)
-#define EMBER_AF_ALERT_STRUCTURE_PRESENCE_RECOVERY (12288)
-#define EMBER_AF_ALERT_STRUCTURE_PRESENCE_RECOVERY_OFFSET (12)
-#define EMBER_AF_ALTERNATE_COST_TRAILING_DIGIT_TRAILING_DIGIT (240)
-#define EMBER_AF_ALTERNATE_COST_TRAILING_DIGIT_TRAILING_DIGIT_OFFSET (4)
-#define EMBER_AF_AMI_CANCEL_CONTROL_TERMINATE_WITH_RANDOMIZATION (1)
-#define EMBER_AF_AMI_CANCEL_CONTROL_TERMINATE_WITH_RANDOMIZATION_OFFSET (0)
-#define EMBER_AF_AMI_COMMAND_OPTIONS_REQUEST_RX_ON_WHEN_IDLE (1)
-#define EMBER_AF_AMI_COMMAND_OPTIONS_REQUEST_RX_ON_WHEN_IDLE_OFFSET (0)
-#define EMBER_AF_AMI_DEVICE_CLASS_HVAC_COMPRESSOR_OR_FURNACE (1)
-#define EMBER_AF_AMI_DEVICE_CLASS_HVAC_COMPRESSOR_OR_FURNACE_OFFSET (0)
-#define EMBER_AF_AMI_DEVICE_CLASS_STRIP_HEAT_BASEBOARD_HEAT (2)
-#define EMBER_AF_AMI_DEVICE_CLASS_STRIP_HEAT_BASEBOARD_HEAT_OFFSET (1)
-#define EMBER_AF_AMI_DEVICE_CLASS_WATER_HEATER (4)
-#define EMBER_AF_AMI_DEVICE_CLASS_WATER_HEATER_OFFSET (2)
-#define EMBER_AF_AMI_DEVICE_CLASS_POOL_PUMP_SPA_JACUZZI (8)
-#define EMBER_AF_AMI_DEVICE_CLASS_POOL_PUMP_SPA_JACUZZI_OFFSET (3)
-#define EMBER_AF_AMI_DEVICE_CLASS_SMART_APPLIANCES (16)
-#define EMBER_AF_AMI_DEVICE_CLASS_SMART_APPLIANCES_OFFSET (4)
-#define EMBER_AF_AMI_DEVICE_CLASS_IRRIGATION_PUMP (32)
-#define EMBER_AF_AMI_DEVICE_CLASS_IRRIGATION_PUMP_OFFSET (5)
-#define EMBER_AF_AMI_DEVICE_CLASS_MANAGED_C_AND_I_LOADS (64)
-#define EMBER_AF_AMI_DEVICE_CLASS_MANAGED_C_AND_I_LOADS_OFFSET (6)
-#define EMBER_AF_AMI_DEVICE_CLASS_SIMPLE_MISC_LOADS (128)
-#define EMBER_AF_AMI_DEVICE_CLASS_SIMPLE_MISC_LOADS_OFFSET (7)
-#define EMBER_AF_AMI_DEVICE_CLASS_EXTERIOR_LIGHTING (256)
-#define EMBER_AF_AMI_DEVICE_CLASS_EXTERIOR_LIGHTING_OFFSET (8)
-#define EMBER_AF_AMI_DEVICE_CLASS_INTERIOR_LIGHTING (512)
-#define EMBER_AF_AMI_DEVICE_CLASS_INTERIOR_LIGHTING_OFFSET (9)
-#define EMBER_AF_AMI_DEVICE_CLASS_ELECTRIC_VEHICLE (1024)
-#define EMBER_AF_AMI_DEVICE_CLASS_ELECTRIC_VEHICLE_OFFSET (10)
-#define EMBER_AF_AMI_DEVICE_CLASS_GENERATION_SYSTEMS (2048)
-#define EMBER_AF_AMI_DEVICE_CLASS_GENERATION_SYSTEMS_OFFSET (11)
-#define EMBER_AF_AMI_EVENT_CONTROL_RANDOMIZED_START_TIME (1)
-#define EMBER_AF_AMI_EVENT_CONTROL_RANDOMIZED_START_TIME_OFFSET (0)
-#define EMBER_AF_AMI_EVENT_CONTROL_RANDOMIZED_END_TIME (2)
-#define EMBER_AF_AMI_EVENT_CONTROL_RANDOMIZED_END_TIME_OFFSET (1)
-#define EMBER_AF_AMI_METER_STATUS_CHECK_METER (1)
-#define EMBER_AF_AMI_METER_STATUS_CHECK_METER_OFFSET (0)
-#define EMBER_AF_AMI_METER_STATUS_LOW_BATTERY (2)
-#define EMBER_AF_AMI_METER_STATUS_LOW_BATTERY_OFFSET (1)
-#define EMBER_AF_AMI_METER_STATUS_TAMPER_DETECT (4)
-#define EMBER_AF_AMI_METER_STATUS_TAMPER_DETECT_OFFSET (2)
-#define EMBER_AF_AMI_METER_STATUS_POWER_FAILURE (8)
-#define EMBER_AF_AMI_METER_STATUS_POWER_FAILURE_OFFSET (3)
-#define EMBER_AF_AMI_METER_STATUS_POWER_QUALITY (16)
-#define EMBER_AF_AMI_METER_STATUS_POWER_QUALITY_OFFSET (4)
-#define EMBER_AF_AMI_METER_STATUS_LEAK_DETECT (32)
-#define EMBER_AF_AMI_METER_STATUS_LEAK_DETECT_OFFSET (5)
-#define EMBER_AF_AMI_METER_STATUS_SERVICE_DISCONNECT_OPEN (64)
-#define EMBER_AF_AMI_METER_STATUS_SERVICE_DISCONNECT_OPEN_OFFSET (6)
-#define EMBER_AF_AMI_METER_STATUS_RESERVED (128)
-#define EMBER_AF_AMI_METER_STATUS_RESERVED_OFFSET (7)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH1 (1)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH1_OFFSET (0)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH2 (2)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH2_OFFSET (1)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH3 (4)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH3_OFFSET (2)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH4 (8)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH4_OFFSET (3)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH5 (16)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH5_OFFSET (4)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH6 (32)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH6_OFFSET (5)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH7 (64)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH7_OFFSET (6)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH8 (128)
-#define EMBER_AF_AUXILIARY_LOAD_SWITCH_STATE_AUXILIARY_SWITCH8_OFFSET (7)
-#define EMBER_AF_BALLAST_STATUS_NON_OPERATIONAL (1)
-#define EMBER_AF_BALLAST_STATUS_NON_OPERATIONAL_OFFSET (0)
-#define EMBER_AF_BALLAST_STATUS_LAMP_NOT_IN_SOCKET (2)
-#define EMBER_AF_BALLAST_STATUS_LAMP_NOT_IN_SOCKET_OFFSET (1)
-#define EMBER_AF_BARRIER_CONTROL_CAPABILITIES_PARTIAL_BARRIER (1)
-#define EMBER_AF_BARRIER_CONTROL_CAPABILITIES_PARTIAL_BARRIER_OFFSET (0)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_REMOTE_LOCKOUT (1)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_REMOTE_LOCKOUT_OFFSET (0)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_TEMPER_DETECTED (2)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_TEMPER_DETECTED_OFFSET (1)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_FAILED_COMMUNICATION (4)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_FAILED_COMMUNICATION_OFFSET (2)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_POSITION_FAILURE (8)
-#define EMBER_AF_BARRIER_CONTROL_SAFETY_STATUS_POSITION_FAILURE_OFFSET (3)
-#define EMBER_AF_BATTERY_ALARM_MASK_VOLTAGE_TOO_LOW (1)
-#define EMBER_AF_BATTERY_ALARM_MASK_VOLTAGE_TOO_LOW_OFFSET (0)
-#define EMBER_AF_BILL_TRAILING_DIGIT_TRAILING_DIGIT (240)
-#define EMBER_AF_BILL_TRAILING_DIGIT_TRAILING_DIGIT_OFFSET (4)
-#define EMBER_AF_BILLING_PERIOD_DURATION_DURATION (4194303)
-#define EMBER_AF_BILLING_PERIOD_DURATION_DURATION_OFFSET (0)
-#define EMBER_AF_BILLING_PERIOD_DURATION_UNITS (12582912)
-#define EMBER_AF_BILLING_PERIOD_DURATION_UNITS_OFFSET (22)
-#define EMBER_AF_BILLING_PERIOD_DURATION_TYPE_TIMEBASE (15)
-#define EMBER_AF_BILLING_PERIOD_DURATION_TYPE_TIMEBASE_OFFSET (0)
-#define EMBER_AF_BILLING_PERIOD_DURATION_TYPE_CONTROL (240)
-#define EMBER_AF_BILLING_PERIOD_DURATION_TYPE_CONTROL_OFFSET (4)
-#define EMBER_AF_BLOCK_PERIOD_CONTROL_PRICE_ACKNOWLEDGEMENT_REQUIREMENT (1)
-#define EMBER_AF_BLOCK_PERIOD_CONTROL_PRICE_ACKNOWLEDGEMENT_REQUIREMENT_OFFSET (0)
-#define EMBER_AF_BLOCK_PERIOD_CONTROL_REPEATING_BLOCK (2)
-#define EMBER_AF_BLOCK_PERIOD_CONTROL_REPEATING_BLOCK_OFFSET (1)
-#define EMBER_AF_BLOCK_PERIOD_DURATION_TYPE_TIMEBASE (15)
-#define EMBER_AF_BLOCK_PERIOD_DURATION_TYPE_TIMEBASE_OFFSET (0)
-#define EMBER_AF_BLOCK_PERIOD_DURATION_TYPE_CONTROL (240)
-#define EMBER_AF_BLOCK_PERIOD_DURATION_TYPE_CONTROL_OFFSET (4)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER1 (2)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER1_OFFSET (1)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER2 (4)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER2_OFFSET (2)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER3 (8)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER3_OFFSET (3)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER4 (16)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER4_OFFSET (4)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER5 (32)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER5_OFFSET (5)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER6 (64)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER6_OFFSET (6)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER7 (128)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER7_OFFSET (7)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER8 (256)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER8_OFFSET (8)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER9 (512)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER9_OFFSET (9)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER10 (1024)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER10_OFFSET (10)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER11 (2048)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER11_OFFSET (11)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER12 (4096)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER12_OFFSET (12)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER13 (8192)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER13_OFFSET (13)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER14 (16384)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER14_OFFSET (14)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER15 (32768)
-#define EMBER_AF_BLOCK_THRESHOLD_MASK_TIER15_OFFSET (15)
-#define EMBER_AF_BLOCK_THRESHOLD_SUB_PAYLOAD_CONTROL_APPLY_TO_ALL_TOU_TIERS_OR_WHEN_BLOCK_ONLY_CHARGING (1)
-#define EMBER_AF_BLOCK_THRESHOLD_SUB_PAYLOAD_CONTROL_APPLY_TO_ALL_TOU_TIERS_OR_WHEN_BLOCK_ONLY_CHARGING_OFFSET (0)
-#define EMBER_AF_CO2_TRAILING_DIGIT_TRAILING_DIGIT (240)
-#define EMBER_AF_CO2_TRAILING_DIGIT_TRAILING_DIGIT_OFFSET (4)
-#define EMBER_AF_CALORIFIC_VALUE_TRAILING_DIGIT_TRAILING_DIGIT (240)
-#define EMBER_AF_CALORIFIC_VALUE_TRAILING_DIGIT_TRAILING_DIGIT_OFFSET (4)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL0 (1)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL0_OFFSET (0)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL0 (1)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL0_OFFSET (0)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL27 (1)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL27_OFFSET (0)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL35 (1)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL35_OFFSET (0)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL0 (1)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL0_OFFSET (0)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL1 (2)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL1_OFFSET (1)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL1 (2)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL1_OFFSET (1)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL28 (2)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL28_OFFSET (1)
-#define EMBER_AF_CHANNEL_MASK_853_CHANNEL36 (2)
-#define EMBER_AF_CHANNEL_MASK_853_CHANNEL36_OFFSET (1)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL1 (2)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL1_OFFSET (1)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL2 (4)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL2_OFFSET (2)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL2 (4)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL2_OFFSET (2)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL29 (4)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL29_OFFSET (2)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL37 (4)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL37_OFFSET (2)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL2 (4)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL2_OFFSET (2)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL3 (8)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL3_OFFSET (3)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL3 (8)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL3_OFFSET (3)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL30 (8)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL30_OFFSET (3)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL38 (8)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL38_OFFSET (3)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL3 (8)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL3_OFFSET (3)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL4 (16)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL4_OFFSET (4)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL4 (16)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL4_OFFSET (4)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL31 (16)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL31_OFFSET (4)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL39 (16)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL39_OFFSET (4)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL4 (16)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL4_OFFSET (4)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL5 (32)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL5_OFFSET (5)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL5 (32)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL5_OFFSET (5)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL32 (32)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL32_OFFSET (5)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL40 (32)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL40_OFFSET (5)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL5 (32)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL5_OFFSET (5)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL6 (64)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL6_OFFSET (6)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL6 (64)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL6_OFFSET (6)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL33 (64)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL33_OFFSET (6)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL41 (64)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL41_OFFSET (6)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL6 (64)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL6_OFFSET (6)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL7 (128)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL7_OFFSET (7)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL7 (128)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL7_OFFSET (7)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL34 (128)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL34_OFFSET (7)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL42 (128)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL42_OFFSET (7)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL7 (128)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL7_OFFSET (7)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL8 (256)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL8_OFFSET (8)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL8 (256)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL8_OFFSET (8)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL62 (256)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL62_OFFSET (8)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL43 (256)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL43_OFFSET (8)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL8 (256)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL8_OFFSET (8)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL9 (512)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL9_OFFSET (9)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL9 (512)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL9_OFFSET (9)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL44 (512)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL44_OFFSET (9)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL9 (512)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL9_OFFSET (9)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL10 (1024)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL10_OFFSET (10)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL10 (1024)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL10_OFFSET (10)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL45 (1024)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL45_OFFSET (10)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL10 (1024)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL10_OFFSET (10)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL11 (2048)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL11_OFFSET (11)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL11 (2048)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL11_OFFSET (11)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL46 (2048)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL46_OFFSET (11)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL11 (2048)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL11_OFFSET (11)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL12 (4096)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL12_OFFSET (12)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL12 (4096)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL12_OFFSET (12)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL47 (4096)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL47_OFFSET (12)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL12 (4096)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL12_OFFSET (12)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL13 (8192)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL13_OFFSET (13)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL13 (8192)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL13_OFFSET (13)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL48 (8192)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL48_OFFSET (13)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL13 (8192)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL13_OFFSET (13)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL14 (16384)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL14_OFFSET (14)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL14 (16384)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL14_OFFSET (14)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL49 (16384)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL49_OFFSET (14)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL14 (16384)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL14_OFFSET (14)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL15 (32768)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL15_OFFSET (15)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL15 (32768)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL15_OFFSET (15)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL50 (32768)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL50_OFFSET (15)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL15 (32768)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL15_OFFSET (15)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL16 (65536)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL16_OFFSET (16)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL16 (65536)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL16_OFFSET (16)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL51 (65536)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL51_OFFSET (16)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL16 (65536)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL16_OFFSET (16)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL17 (131072)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL17_OFFSET (17)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL17 (131072)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL17_OFFSET (17)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL52 (131072)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL52_OFFSET (17)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL17 (131072)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL17_OFFSET (17)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL18 (262144)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL18_OFFSET (18)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL18 (262144)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL18_OFFSET (18)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL53 (262144)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL53_OFFSET (18)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL18 (262144)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL18_OFFSET (18)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL19 (524288)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL19_OFFSET (19)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL19 (524288)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL19_OFFSET (19)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL54 (524288)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL54_OFFSET (19)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL19 (524288)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL19_OFFSET (19)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL20 (1048576)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL20_OFFSET (20)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL20 (1048576)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL20_OFFSET (20)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL55 (1048576)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL55_OFFSET (20)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL20 (1048576)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL20_OFFSET (20)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL21 (2097152)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL21_OFFSET (21)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL21 (2097152)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL21_OFFSET (21)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL56 (2097152)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL56_OFFSET (21)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL21 (2097152)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL21_OFFSET (21)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL22 (4194304)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL22_OFFSET (22)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL22 (4194304)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL22_OFFSET (22)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL57 (4194304)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL57_OFFSET (22)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL22 (4194304)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL22_OFFSET (22)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL23 (8388608)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL23_OFFSET (23)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL23 (8388608)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL23_OFFSET (23)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL58 (8388608)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL58_OFFSET (23)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL23 (8388608)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL23_OFFSET (23)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL24 (16777216)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL24_OFFSET (24)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL24 (16777216)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL24_OFFSET (24)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL59 (16777216)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL59_OFFSET (24)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL24 (16777216)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL24_OFFSET (24)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL25 (33554432)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL25_OFFSET (25)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL25 (33554432)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL25_OFFSET (25)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL60 (33554432)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL60_OFFSET (25)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL25 (33554432)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL25_OFFSET (25)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL26 (67108864)
-#define EMBER_AF_CHANNEL_MASK_CHANNEL26_OFFSET (26)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL26 (67108864)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL26_OFFSET (26)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL61 (67108864)
-#define EMBER_AF_CHANNEL_MASK_863_CHANNEL61_OFFSET (26)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL26 (67108864)
-#define EMBER_AF_CHANNEL_MASK_915_CHANNEL26_OFFSET (26)
-#define EMBER_AF_CHANNEL_MASK_PAGE (4160749568)
-#define EMBER_AF_CHANNEL_MASK_PAGE_OFFSET (27)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_ALL_LOGS_CLEARED (1)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_ALL_LOGS_CLEARED_OFFSET (0)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_TAMPER_LOG_CLEARED (2)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_TAMPER_LOG_CLEARED_OFFSET (1)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_FAULT_LOG_CLEARED (4)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_FAULT_LOG_CLEARED_OFFSET (2)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_GENERAL_EVENT_LOG_CLEARED (8)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_GENERAL_EVENT_LOG_CLEARED_OFFSET (3)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_SECURITY_EVENT_LOG_CLEARED (16)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_SECURITY_EVENT_LOG_CLEARED_OFFSET (4)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_NETWORK_EVENT_LOG_CLEARED (32)
-#define EMBER_AF_CLEARED_EVENTS_LOGS_NETWORK_EVENT_LOG_CLEARED_OFFSET (5)
-#define EMBER_AF_COLOR_CAPABILITIES_HUE_SATURATION_SUPPORTED (1)
-#define EMBER_AF_COLOR_CAPABILITIES_HUE_SATURATION_SUPPORTED_OFFSET (0)
-#define EMBER_AF_COLOR_CAPABILITIES_ENHANCED_HUE_SUPPORTED (2)
-#define EMBER_AF_COLOR_CAPABILITIES_ENHANCED_HUE_SUPPORTED_OFFSET (1)
-#define EMBER_AF_COLOR_CAPABILITIES_COLOR_LOOP_SUPPORTED (4)
-#define EMBER_AF_COLOR_CAPABILITIES_COLOR_LOOP_SUPPORTED_OFFSET (2)
-#define EMBER_AF_COLOR_CAPABILITIES_XY_ATTRIBUTES_SUPPORTED (8)
-#define EMBER_AF_COLOR_CAPABILITIES_XY_ATTRIBUTES_SUPPORTED_OFFSET (3)
-#define EMBER_AF_COLOR_CAPABILITIES_COLOR_TEMPERATURE_SUPPORTED (16)
-#define EMBER_AF_COLOR_CAPABILITIES_COLOR_TEMPERATURE_SUPPORTED_OFFSET (4)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_ACTION (1)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_ACTION_OFFSET (0)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_DIRECTION (2)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_DIRECTION_OFFSET (1)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_TIME (4)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_TIME_OFFSET (2)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_START_HUE (8)
-#define EMBER_AF_COLOR_LOOP_UPDATE_FLAGS_UPDATE_START_HUE_OFFSET (3)
-#define EMBER_AF_CONVERSION_FACTOR_TRAILING_DIGIT_TRAILING_DIGIT (240)
-#define EMBER_AF_CONVERSION_FACTOR_TRAILING_DIGIT_TRAILING_DIGIT_OFFSET (4)
-#define EMBER_AF_CREDIT_STATUS_CREDIT_OK (1)
-#define EMBER_AF_CREDIT_STATUS_CREDIT_OK_OFFSET (0)
-#define EMBER_AF_CREDIT_STATUS_LOW_CREDIT (2)
-#define EMBER_AF_CREDIT_STATUS_LOW_CREDIT_OFFSET (1)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_ENABLED (4)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_ENABLED_OFFSET (2)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_AVAILABLE (8)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_AVAILABLE_OFFSET (3)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_SELECTED (16)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_SELECTED_OFFSET (4)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_IN_USE (32)
-#define EMBER_AF_CREDIT_STATUS_EMERGENCY_CREDIT_IN_USE_OFFSET (5)
-#define EMBER_AF_CREDIT_STATUS_CREDIT_EXHAUSTED (64)
-#define EMBER_AF_CREDIT_STATUS_CREDIT_EXHAUSTED_OFFSET (6)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CLEAR_BILLING_INFO (1)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CLEAR_BILLING_INFO_OFFSET (0)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CONVERT_BILLING_INFO_USING_NEW_CURRENCY (2)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CONVERT_BILLING_INFO_USING_NEW_CURRENCY_OFFSET (1)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CLEAR_OLD_CONSUMPTION_DATA (4)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CLEAR_OLD_CONSUMPTION_DATA_OFFSET (2)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CONVERT_OLD_CONSUMPTION_DATA_USING_NEW_CURRENCY (8)
-#define EMBER_AF_CURRENCY_CHANGE_CONTROL_CONVERT_OLD_CONSUMPTION_DATA_USING_NEW_CURRENCY_OFFSET (3)
-#define EMBER_AF_CURRENT_EVENT_STATUS_RANDOMIZED_START_TIME (1)
-#define EMBER_AF_CURRENT_EVENT_STATUS_RANDOMIZED_START_TIME_OFFSET (0)
-#define EMBER_AF_CURRENT_EVENT_STATUS_RANDOMIZED_DURATION (2)
-#define EMBER_AF_CURRENT_EVENT_STATUS_RANDOMIZED_DURATION_OFFSET (1)
-#define EMBER_AF_CURRENT_EVENT_STATUS_EXTENDED_BITS_PRESENT (4)
-#define EMBER_AF_CURRENT_EVENT_STATUS_EXTENDED_BITS_PRESENT_OFFSET (2)
-#define EMBER_AF_CURRENT_EVENT_STATUS_EVENT_ACTIVE (8)
-#define EMBER_AF_CURRENT_EVENT_STATUS_EVENT_ACTIVE_OFFSET (3)
-#define EMBER_AF_CURRENT_EVENT_STATUS_DEVICE_PARTICIPATING_IN_EVENT (16)
-#define EMBER_AF_CURRENT_EVENT_STATUS_DEVICE_PARTICIPATING_IN_EVENT_OFFSET (4)
-#define EMBER_AF_CURRENT_EVENT_STATUS_REDUCING_LOAD (32)
-#define EMBER_AF_CURRENT_EVENT_STATUS_REDUCING_LOAD_OFFSET (5)
-#define EMBER_AF_CURRENT_EVENT_STATUS_ON_AT_END_OF_EVENT (64)
-#define EMBER_AF_CURRENT_EVENT_STATUS_ON_AT_END_OF_EVENT_OFFSET (6)
-#define EMBER_AF_DAY_OF_WEEK_SUNDAY (1)
-#define EMBER_AF_DAY_OF_WEEK_SUNDAY_OFFSET (0)
-#define EMBER_AF_DAY_OF_WEEK_MONDAY (2)
-#define EMBER_AF_DAY_OF_WEEK_MONDAY_OFFSET (1)
-#define EMBER_AF_DAY_OF_WEEK_TUESDAY (4)
-#define EMBER_AF_DAY_OF_WEEK_TUESDAY_OFFSET (2)
-#define EMBER_AF_DAY_OF_WEEK_WEDNESDAY (8)
-#define EMBER_AF_DAY_OF_WEEK_WEDNESDAY_OFFSET (3)
-#define EMBER_AF_DAY_OF_WEEK_THURSDAY (16)
-#define EMBER_AF_DAY_OF_WEEK_THURSDAY_OFFSET (4)
-#define EMBER_AF_DAY_OF_WEEK_FRIDAY (32)
-#define EMBER_AF_DAY_OF_WEEK_FRIDAY_OFFSET (5)
-#define EMBER_AF_DAY_OF_WEEK_SATURDAY (64)
-#define EMBER_AF_DAY_OF_WEEK_SATURDAY_OFFSET (6)
-#define EMBER_AF_DAY_OF_WEEK_AWAY_OR_VACATION (128)
-#define EMBER_AF_DAY_OF_WEEK_AWAY_OR_VACATION_OFFSET (7)
-#define EMBER_AF_DEVICE_TEMP_ALARM_MASK_TOO_LOW (1)
-#define EMBER_AF_DEVICE_TEMP_ALARM_MASK_TOO_LOW_OFFSET (0)
-#define EMBER_AF_DEVICE_TEMP_ALARM_MASK_TOO_HIGH (2)
-#define EMBER_AF_DEVICE_TEMP_ALARM_MASK_TOO_HIGH_OFFSET (1)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_SUNDAY (1)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_SUNDAY_OFFSET (0)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_MONDAY (2)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_MONDAY_OFFSET (1)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_TUESDAY (4)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_TUESDAY_OFFSET (2)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_WEDNESDAY (8)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_WEDNESDAY_OFFSET (3)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_THURSDAY (16)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_THURSDAY_OFFSET (4)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_FRIDAY (32)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_FRIDAY_OFFSET (5)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_SATURDAY (64)
-#define EMBER_AF_DOOR_LOCK_DAY_OF_WEEK_SATURDAY_OFFSET (6)
-#define EMBER_AF_ENERGY_FORMATTING_NUMBER_OF_DIGITS_TO_THE_RIGHT_OF_THE_DECIMAL_POINT (7)
-#define EMBER_AF_ENERGY_FORMATTING_NUMBER_OF_DIGITS_TO_THE_RIGHT_OF_THE_DECIMAL_POINT_OFFSET (0)
-#define EMBER_AF_ENERGY_FORMATTING_NUMBER_OF_DIGITS_TO_THE_LEFT_OF_THE_DECIMAL_POINT (120)
-#define EMBER_AF_ENERGY_FORMATTING_NUMBER_OF_DIGITS_TO_THE_LEFT_OF_THE_DECIMAL_POINT_OFFSET (3)
-#define EMBER_AF_ENERGY_FORMATTING_SUPPRESS_LEADING_ZEROS (128)
-#define EMBER_AF_ENERGY_FORMATTING_SUPPRESS_LEADING_ZEROS_OFFSET (7)
-#define EMBER_AF_EVENT_ACTION_CONTROL_REPORT_EVENT_TO_HAN_DEVICES (1)
-#define EMBER_AF_EVENT_ACTION_CONTROL_REPORT_EVENT_TO_HAN_DEVICES_OFFSET (0)
-#define EMBER_AF_EVENT_ACTION_CONTROL_REPORT_EVENT_TO_WAN (2)
-#define EMBER_AF_EVENT_ACTION_CONTROL_REPORT_EVENT_TO_WAN_OFFSET (1)
-#define EMBER_AF_EVENT_CONFIGURATION_LOG_ACTION (7)
-#define EMBER_AF_EVENT_CONFIGURATION_LOG_ACTION_OFFSET (0)
-#define EMBER_AF_EVENT_CONFIGURATION_PUSH_EVENT_TO_WAN (8)
-#define EMBER_AF_EVENT_CONFIGURATION_PUSH_EVENT_TO_WAN_OFFSET (3)
-#define EMBER_AF_EVENT_CONFIGURATION_PUSH_EVENT_TO_HAN (16)
-#define EMBER_AF_EVENT_CONFIGURATION_PUSH_EVENT_TO_HAN_OFFSET (4)
-#define EMBER_AF_EVENT_CONFIGURATION_RAISE_ALARM_ZIG_BEE (32)
-#define EMBER_AF_EVENT_CONFIGURATION_RAISE_ALARM_ZIG_BEE_OFFSET (5)
-#define EMBER_AF_EVENT_CONFIGURATION_RAISE_ALARM_PHYSICAL (64)
-#define EMBER_AF_EVENT_CONFIGURATION_RAISE_ALARM_PHYSICAL_OFFSET (6)
-#define EMBER_AF_EVENT_CONTROL_LOG_ID_LOG_ID (15)
-#define EMBER_AF_EVENT_CONTROL_LOG_ID_LOG_ID_OFFSET (0)
-#define EMBER_AF_EVENT_CONTROL_LOG_ID_EVENT_CONTROL (240)
-#define EMBER_AF_EVENT_CONTROL_LOG_ID_EVENT_CONTROL_OFFSET (4)
-#define EMBER_AF_FRIENDLY_CREDIT_FRIENDLY_CREDIT_ENABLED (1)
-#define EMBER_AF_FRIENDLY_CREDIT_FRIENDLY_CREDIT_ENABLED_OFFSET (0)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_NEW_OTA_FIRMWARE (1)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_NEW_OTA_FIRMWARE_OFFSET (0)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CBKE_UPDATE_REQUEST (2)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CBKE_UPDATE_REQUEST_OFFSET (1)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_TIME_SYNC (4)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_TIME_SYNC_OFFSET (2)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_STAY_AWAKE_REQUEST_HAN (16)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_STAY_AWAKE_REQUEST_HAN_OFFSET (4)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_STAY_AWAKE_REQUEST_WAN (32)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_STAY_AWAKE_REQUEST_WAN_OFFSET (5)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_HISTORICAL_METERING_DATA_ATTRIBUTE_SET (448)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_HISTORICAL_METERING_DATA_ATTRIBUTE_SET_OFFSET (6)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_HISTORICAL_PREPAYMENT_DATA_ATTRIBUTE_SET (3584)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_HISTORICAL_PREPAYMENT_DATA_ATTRIBUTE_SET_OFFSET (9)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_ALL_STATIC_DATA_BASIC_CLUSTER (4096)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_ALL_STATIC_DATA_BASIC_CLUSTER_OFFSET (12)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_ALL_STATIC_DATA_METERING_CLUSTER (8192)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_ALL_STATIC_DATA_METERING_CLUSTER_OFFSET (13)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_ALL_STATIC_DATA_PREPAYMENT_CLUSTER (16384)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_PUSH_ALL_STATIC_DATA_PREPAYMENT_CLUSTER_OFFSET (14)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_NETWORK_KEY_ACTIVE (32768)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_NETWORK_KEY_ACTIVE_OFFSET (15)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_DISPLAY_MESSAGE (65536)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_DISPLAY_MESSAGE_OFFSET (16)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CANCEL_ALL_MESSAGES (131072)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CANCEL_ALL_MESSAGES_OFFSET (17)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CHANGE_SUPPLY (262144)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CHANGE_SUPPLY_OFFSET (18)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_LOCAL_CHANGE_SUPPLY (524288)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_LOCAL_CHANGE_SUPPLY_OFFSET (19)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_SET_UNCONTROLLED_FLOW_THRESHOLD (1048576)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_SET_UNCONTROLLED_FLOW_THRESHOLD_OFFSET (20)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_TUNNEL_MESSAGE_PENDING (2097152)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_TUNNEL_MESSAGE_PENDING_OFFSET (21)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_GET_SNAPSHOT (4194304)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_GET_SNAPSHOT_OFFSET (22)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_GET_SAMPLED_DATA (8388608)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_GET_SAMPLED_DATA_OFFSET (23)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_NEW_SUB_GHZ_CHANNEL_MASKS_AVAILABLE (16777216)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_NEW_SUB_GHZ_CHANNEL_MASKS_AVAILABLE_OFFSET (24)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_ENERGY_SCAN_PENDING (33554432)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_ENERGY_SCAN_PENDING_OFFSET (25)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CHANNEL_CHANGE_PENDING (67108864)
-#define EMBER_AF_FUNCTIONAL_NOTIFICATION_FLAGS_CHANNEL_CHANGE_PENDING_OFFSET (26)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_ABSOLUTE_ONLY (1)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_ABSOLUTE_ONLY_OFFSET (0)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_RECALCULATE (2)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_RECALCULATE_OFFSET (1)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_BROADCAST (4)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_BROADCAST_OFFSET (2)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_BROADCAST_RESPONSE (8)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_BROADCAST_RESPONSE_OFFSET (3)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_COMPACT_RESPONSE (16)
-#define EMBER_AF_GET_LOCATION_DATA_FLAGS_COMPACT_RESPONSE_OFFSET (4)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_MANUFACTURE_ID_PRESENT (1)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_MANUFACTURE_ID_PRESENT_OFFSET (0)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_MODEL_ID_PRESENT (2)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_MODEL_ID_PRESENT_OFFSET (1)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_GPD_COMMANDS_PRESENT (4)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_GPD_COMMANDS_PRESENT_OFFSET (2)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_CLUSTER_LIST_PRESENT (8)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_CLUSTER_LIST_PRESENT_OFFSET (3)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_SWITCH_INFORMATION_PRESENT (16)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_SWITCH_INFORMATION_PRESENT_OFFSET (4)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_APPLICATION_DESCRIPTION_PRESENT (32)
-#define EMBER_AF_GP_APPLICATION_INFORMATION_APPLICATION_DESCRIPTION_PRESENT_OFFSET (5)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_RX_AFTER_TX (8)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_RX_AFTER_TX_OFFSET (3)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_SECURITY_LEVEL (48)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_SECURITY_LEVEL_OFFSET (4)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_SECURITY_KEY_TYPE (448)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_SECURITY_KEY_TYPE_OFFSET (6)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_SECURITY_PROCESSING_FAILED (512)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_SECURITY_PROCESSING_FAILED_OFFSET (9)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_BIDIRECTIONAL_CAPABILITY (1024)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_BIDIRECTIONAL_CAPABILITY_OFFSET (10)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_PROXY_INFO_PRESENT (2048)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_PROXY_INFO_PRESENT_OFFSET (11)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_RESERVED (61440)
-#define EMBER_AF_GP_COMMISSIONING_NOTIFICATION_OPTION_RESERVED_OFFSET (12)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_MASK (31)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_MASK_OFFSET (0)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_OPERATIONAL_CHANNEL (15)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_OPERATIONAL_CHANNEL_OFFSET (0)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_BASIC (16)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_BASIC_OFFSET (4)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_RESERVED (224)
-#define EMBER_AF_GP_GPD_CHANNEL_CONFIGURATION_CHANNEL_RESERVED_OFFSET (5)
-#define EMBER_AF_GP_GPD_CHANNEL_REQUEST_CHANNEL_TOGGLING_BEHAVIOUR_RX_CHANNEL_NEXT_ATTEMPT (15)
-#define EMBER_AF_GP_GPD_CHANNEL_REQUEST_CHANNEL_TOGGLING_BEHAVIOUR_RX_CHANNEL_NEXT_ATTEMPT_OFFSET (0)
-#define EMBER_AF_GP_GPD_CHANNEL_REQUEST_CHANNEL_TOGGLING_BEHAVIOUR_RX_CHANNEL_SECOND_NEXT_ATTEMPT (240)
-#define EMBER_AF_GP_GPD_CHANNEL_REQUEST_CHANNEL_TOGGLING_BEHAVIOUR_RX_CHANNEL_SECOND_NEXT_ATTEMPT_OFFSET (4)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_SECURITY_LEVEL_CAPABILITIES (3)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_SECURITY_LEVEL_CAPABILITIES_OFFSET (0)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_KEY_TYPE (28)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_KEY_TYPE_OFFSET (2)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_GPD_KEY_PRESENT (32)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_GPD_KEY_PRESENT_OFFSET (5)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_GPD_KEY_ENCRYPTION (64)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_GPD_KEY_ENCRYPTION_OFFSET (6)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_GPD_OUTGOING_COUNTER_PRESENT (128)
-#define EMBER_AF_GP_GPD_COMMISSIONING_EXTENDED_OPTIONS_GPD_OUTGOING_COUNTER_PRESENT_OFFSET (7)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_MAC_SEQ_NUM_CAP (1)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_MAC_SEQ_NUM_CAP_OFFSET (0)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_RX_ON_CAP (2)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_RX_ON_CAP_OFFSET (1)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_APPLICATION_INFORMATION_PRESENT (4)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_APPLICATION_INFORMATION_PRESENT_OFFSET (2)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_RESERVED (8)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_RESERVED_OFFSET (3)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_PAN_ID_REQUEST (16)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_PAN_ID_REQUEST_OFFSET (4)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_GP_SECURITY_KEY_REQUEST (32)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_GP_SECURITY_KEY_REQUEST_OFFSET (5)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_FIXED_LOCATION (64)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_FIXED_LOCATION_OFFSET (6)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_EXTENDED_OPTIONS_FIELD (128)
-#define EMBER_AF_GP_GPD_COMMISSIONING_OPTIONS_EXTENDED_OPTIONS_FIELD_OFFSET (7)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_PAN_ID_PRESENT (1)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_PAN_ID_PRESENT_OFFSET (0)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_GPD_SECURITY_KEY_PRESENT (2)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_GPD_SECURITY_KEY_PRESENT_OFFSET (1)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_GPDKEY_ENCRYPTION (4)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_GPDKEY_ENCRYPTION_OFFSET (2)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_SECURITY_LEVEL (24)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_SECURITY_LEVEL_OFFSET (3)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_KEY_TYPE (224)
-#define EMBER_AF_GP_GPD_COMMISSIONING_REPLY_OPTIONS_KEY_TYPE_OFFSET (5)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GP_FEATURE (1)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GP_FEATURE_OFFSET (0)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_DIRECT_COMMUNICATION (2)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_DIRECT_COMMUNICATION_OFFSET (1)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_DERIVED_GROUPCAST_COMMUNICATION (4)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_DERIVED_GROUPCAST_COMMUNICATION_OFFSET (2)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PRE_COMMISSIONED_GROUPCAST_COMMUNICATION (8)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PRE_COMMISSIONED_GROUPCAST_COMMUNICATION_OFFSET (3)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_FULL_UNICAST_COMMUNICATION (16)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_FULL_UNICAST_COMMUNICATION_OFFSET (4)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_LIGHTWEIGHT_UNICAST_COMMUNICATION (32)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_LIGHTWEIGHT_UNICAST_COMMUNICATION_OFFSET (5)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PROXIMITY_BIDIRECTIONAL_COMMUNICATION (64)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PROXIMITY_BIDIRECTIONAL_COMMUNICATION_OFFSET (6)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_MULTIHOP_BIDIRECTIONAL_COMMUNICATION (128)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_MULTIHOP_BIDIRECTIONAL_COMMUNICATION_OFFSET (7)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PROXY_TABLE_MAINTAINANCE (256)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PROXY_TABLE_MAINTAINANCE_OFFSET (8)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PROXIMITY_COMMUNICATION (512)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_PROXIMITY_COMMUNICATION_OFFSET (9)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_MULTIHOP_COMMUNICATION (1024)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_MULTIHOP_COMMUNICATION_OFFSET (10)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_CT_BASED_COMMISSIONING (2048)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_CT_BASED_COMMISSIONING_OFFSET (11)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_MAINTAINANCE_GPDF (4096)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_MAINTAINANCE_GPDF_OFFSET (12)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL0_IN_OPERATION (8192)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL0_IN_OPERATION_OFFSET (13)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL1_IN_OPERATION (16384)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL1_IN_OPERATION_OFFSET (14)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL2_IN_OPERATION (32768)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL2_IN_OPERATION_OFFSET (15)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL3_IN_OPERATION (65536)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_SECURITY_LEVEL3_IN_OPERATION_OFFSET (16)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_SINK_TABLE_BASED_GROUPCAST_FORWARDING (131072)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_SINK_TABLE_BASED_GROUPCAST_FORWARDING_OFFSET (17)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_TRANSLATION_TABLE (262144)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_TRANSLATION_TABLE_OFFSET (18)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_IEEE_ADDRESS (524288)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_GPD_IEEE_ADDRESS_OFFSET (19)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_COMPACT_ATTRIBUTE_REPORTING (1048576)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_COMPACT_ATTRIBUTE_REPORTING_OFFSET (20)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_RESERVED (14680064)
-#define EMBER_AF_GP_GPS_FUNCTIONALITY_RESERVED_OFFSET (21)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_ALSO_UNICAST (8)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_ALSO_UNICAST_OFFSET (3)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_ALSO_DERIVED_GROUP (16)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_ALSO_DERIVED_GROUP_OFFSET (4)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_ALSO_COMMISSIONED_GROUP (32)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_ALSO_COMMISSIONED_GROUP_OFFSET (5)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_SECURITY_LEVEL (192)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_SECURITY_LEVEL_OFFSET (6)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_SECURITY_KEY_TYPE (1792)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_SECURITY_KEY_TYPE_OFFSET (8)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_RX_AFTER_TX (2048)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_RX_AFTER_TX_OFFSET (11)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_GP_TX_QUEUE_FULL (4096)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_GP_TX_QUEUE_FULL_OFFSET (12)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_BIDIRECTIONAL_CAPABILITY (8192)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_BIDIRECTIONAL_CAPABILITY_OFFSET (13)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_PROXY_INFO_PRESENT (16384)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_PROXY_INFO_PRESENT_OFFSET (14)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_RESERVED (32768)
-#define EMBER_AF_GP_NOTIFICATION_OPTION_RESERVED_OFFSET (15)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_FIRST_TO_FORWARD (8)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_FIRST_TO_FORWARD_OFFSET (3)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_NO_PAIRING (16)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_NO_PAIRING_OFFSET (4)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_RESERVED (224)
-#define EMBER_AF_GP_NOTIFICATION_RESPONSE_OPTION_RESERVED_OFFSET (5)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_ACTIONS_ACTION (7)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_ACTIONS_ACTION_OFFSET (0)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_ACTIONS_SEND_GP_PAIRING (8)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_ACTIONS_SEND_GP_PAIRING_OFFSET (3)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_ACTIONS_RESERVED (240)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_ACTIONS_RESERVED_OFFSET (4)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_COMMUNICATION_MODE (24)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_COMMUNICATION_MODE_OFFSET (3)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_SEQUENCE_NUMBER_CAPABILITIES (32)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_SEQUENCE_NUMBER_CAPABILITIES_OFFSET (5)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_RX_ON_CAPABILITY (64)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_RX_ON_CAPABILITY_OFFSET (6)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_FIXED_LOCATION (128)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_FIXED_LOCATION_OFFSET (7)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_ASSIGNED_ALIAS (256)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_ASSIGNED_ALIAS_OFFSET (8)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_SECURITY_USE (512)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_SECURITY_USE_OFFSET (9)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_APPLICATION_INFORMATION_PRESENT (1024)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_APPLICATION_INFORMATION_PRESENT_OFFSET (10)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_RESERVED (63488)
-#define EMBER_AF_GP_PAIRING_CONFIGURATION_OPTION_RESERVED_OFFSET (11)
-#define EMBER_AF_GP_PAIRING_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_PAIRING_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_PAIRING_OPTION_ADD_SINK (8)
-#define EMBER_AF_GP_PAIRING_OPTION_ADD_SINK_OFFSET (3)
-#define EMBER_AF_GP_PAIRING_OPTION_REMOVE_GPD (16)
-#define EMBER_AF_GP_PAIRING_OPTION_REMOVE_GPD_OFFSET (4)
-#define EMBER_AF_GP_PAIRING_OPTION_COMMUNICATION_MODE (96)
-#define EMBER_AF_GP_PAIRING_OPTION_COMMUNICATION_MODE_OFFSET (5)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_FIXED (128)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_FIXED_OFFSET (7)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_MAC_SEQUENCE_NUMBER_CAPABILITIES (256)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_MAC_SEQUENCE_NUMBER_CAPABILITIES_OFFSET (8)
-#define EMBER_AF_GP_PAIRING_OPTION_SECURITY_LEVEL (1536)
-#define EMBER_AF_GP_PAIRING_OPTION_SECURITY_LEVEL_OFFSET (9)
-#define EMBER_AF_GP_PAIRING_OPTION_SECURITY_KEY_TYPE (14336)
-#define EMBER_AF_GP_PAIRING_OPTION_SECURITY_KEY_TYPE_OFFSET (11)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_SECURITY_FRAME_COUNTER_PRESENT (16384)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_SECURITY_FRAME_COUNTER_PRESENT_OFFSET (14)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_SECURITY_KEY_PRESENT (32768)
-#define EMBER_AF_GP_PAIRING_OPTION_GPD_SECURITY_KEY_PRESENT_OFFSET (15)
-#define EMBER_AF_GP_PAIRING_OPTION_ASSIGNED_ALIAS_PRESENT (65536)
-#define EMBER_AF_GP_PAIRING_OPTION_ASSIGNED_ALIAS_PRESENT_OFFSET (16)
-#define EMBER_AF_GP_PAIRING_OPTION_GROUPCAST_RADIUS_PRESENT (131072)
-#define EMBER_AF_GP_PAIRING_OPTION_GROUPCAST_RADIUS_PRESENT_OFFSET (17)
-#define EMBER_AF_GP_PAIRING_OPTION_RESERVED (16515072)
-#define EMBER_AF_GP_PAIRING_OPTION_RESERVED_OFFSET (18)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_UNICAST_SINKS (8)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_UNICAST_SINKS_OFFSET (3)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_DERIVED_GROUPCAST_SINKS (16)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_DERIVED_GROUPCAST_SINKS_OFFSET (4)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_COMMISSIONED_GROUPCAST_SINKS (32)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_COMMISSIONED_GROUPCAST_SINKS_OFFSET (5)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_GPD_SECURITY_FRAME_COUNTER (64)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_GPD_SECURITY_FRAME_COUNTER_OFFSET (6)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_GPD_SECURITY_KEY (128)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_REQUEST_GPD_SECURITY_KEY_OFFSET (7)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_RESERVED (65280)
-#define EMBER_AF_GP_PAIRING_SEARCH_OPTION_RESERVED_OFFSET (8)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_EXIT_MODE_ON_COMMISSIONING_WINDOW_EXPIRATION (2)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_EXIT_MODE_ON_COMMISSIONING_WINDOW_EXPIRATION_OFFSET (1)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_EXIT_MODE_ON_FIRST_PAIRING_SUCCESS (4)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_EXIT_MODE_ON_FIRST_PAIRING_SUCCESS_OFFSET (2)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_EXIT_MODE_ON_GP_PROXY_COMMISSIONING_MODE_EXIT (8)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_EXIT_MODE_ON_GP_PROXY_COMMISSIONING_MODE_EXIT_OFFSET (3)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_ACTION (1)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_ACTION_OFFSET (0)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_COMMISSIONING_WINDOW_PRESENT (2)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_COMMISSIONING_WINDOW_PRESENT_OFFSET (1)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_EXIT_MODE (12)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_EXIT_MODE_OFFSET (2)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_CHANNEL_PRESENT (16)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_CHANNEL_PRESENT_OFFSET (4)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_UNICAST_COMMUNICATION (32)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_UNICAST_COMMUNICATION_OFFSET (5)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_RESERVED (192)
-#define EMBER_AF_GP_PROXY_COMMISSIONING_MODE_OPTION_RESERVED_OFFSET (6)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_APPLICATION_ID (7)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_ENTRY_ACTIVE (8)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_ENTRY_ACTIVE_OFFSET (3)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_ENTRY_VALID (16)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_ENTRY_VALID_OFFSET (4)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_SEQUENCE_NUMBER_CAP (32)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_SEQUENCE_NUMBER_CAP_OFFSET (5)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_LIGHTWEIGHT_UNICAST_GPS (64)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_LIGHTWEIGHT_UNICAST_GPS_OFFSET (6)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_DERIVED_GROUP_GPS (128)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_DERIVED_GROUP_GPS_OFFSET (7)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_COMMISIONED_GROUP_GPS (256)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_COMMISIONED_GROUP_GPS_OFFSET (8)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_FIRST_TO_FORWARD (512)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_FIRST_TO_FORWARD_OFFSET (9)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_IN_RANGE (1024)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_IN_RANGE_OFFSET (10)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_GPD_FIXED (2048)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_GPD_FIXED_OFFSET (11)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_HAS_ALL_UNICAST_ROUTES (4096)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_HAS_ALL_UNICAST_ROUTES_OFFSET (12)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_ASSIGNED_ALIAS (8192)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_ASSIGNED_ALIAS_OFFSET (13)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_SECURITY_USE (16384)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_SECURITY_USE_OFFSET (14)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_EXTENSION (32768)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_EXTENSION_OFFSET (15)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_FULL_UNICAST_GPS (65536)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_OPTIONS_FULL_UNICAST_GPS_OFFSET (16)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_LEVEL (3)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_LEVEL_OFFSET (0)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_KEY_TYPE (28)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_KEY_TYPE_OFFSET (2)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_SECURITY_OPTIONS_RESERVED (224)
-#define EMBER_AF_GP_PROXY_TABLE_ENTRY_SECURITY_OPTIONS_RESERVED_OFFSET (5)
-#define EMBER_AF_GP_PROXY_TABLE_REQUEST_OPTIONS_APPLICATION_ID (7)
-#define EMBER_AF_GP_PROXY_TABLE_REQUEST_OPTIONS_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_PROXY_TABLE_REQUEST_OPTIONS_REQUEST_TYPE (24)
-#define EMBER_AF_GP_PROXY_TABLE_REQUEST_OPTIONS_REQUEST_TYPE_OFFSET (3)
-#define EMBER_AF_GP_PROXY_TABLE_REQUEST_OPTIONS_RESERVED (224)
-#define EMBER_AF_GP_PROXY_TABLE_REQUEST_OPTIONS_RESERVED_OFFSET (5)
-#define EMBER_AF_GP_RESPONSE_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_RESPONSE_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_RESPONSE_OPTION_TRANSMIT_ON_END_POINT_MATCH (8)
-#define EMBER_AF_GP_RESPONSE_OPTION_TRANSMIT_ON_END_POINT_MATCH_OFFSET (3)
-#define EMBER_AF_GP_RESPONSE_OPTION_RESERVED (240)
-#define EMBER_AF_GP_RESPONSE_OPTION_RESERVED_OFFSET (4)
-#define EMBER_AF_GP_RESPONSE_TEMP_MASTER_TX_CHANNEL_TRANSMIT_CHANNEL (15)
-#define EMBER_AF_GP_RESPONSE_TEMP_MASTER_TX_CHANNEL_TRANSMIT_CHANNEL_OFFSET (0)
-#define EMBER_AF_GP_RESPONSE_TEMP_MASTER_TX_CHANNEL_RESERVED (240)
-#define EMBER_AF_GP_RESPONSE_TEMP_MASTER_TX_CHANNEL_RESERVED_OFFSET (4)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_ON_COMMISSIONING_WINDOW_EXPIRATION (1)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_ON_COMMISSIONING_WINDOW_EXPIRATION_OFFSET (0)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_ON_FIRST_PAIRING_SUCCESS (2)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_ON_FIRST_PAIRING_SUCCESS_OFFSET (1)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_ON_GP_PROXY_COMMISSIONING_MODE_EXIT (4)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_ON_GP_PROXY_COMMISSIONING_MODE_EXIT_OFFSET (2)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_RESERVED (248)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_EXIT_MODE_RESERVED_OFFSET (3)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_ACTION (1)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_ACTION_OFFSET (0)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_INVOLVE_GPM_IN_SECURITY (2)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_INVOLVE_GPM_IN_SECURITY_OFFSET (1)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_INVOLVE_GPM_IN_PAIRING (4)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_INVOLVE_GPM_IN_PAIRING_OFFSET (2)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_INVOLVE_PROXIES (8)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_INVOLVE_PROXIES_OFFSET (3)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_RESERVED (240)
-#define EMBER_AF_GP_SINK_COMMISSIONING_MODE_OPTIONS_RESERVED_OFFSET (4)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_APPLICATION_ID (7)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_COMMUNICATION_MODE (24)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_COMMUNICATION_MODE_OFFSET (3)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_SEQUENCE_NUM_CAPABILITIES (32)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_SEQUENCE_NUM_CAPABILITIES_OFFSET (5)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_RX_ON_CAPABILITY (64)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_RX_ON_CAPABILITY_OFFSET (6)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_FIXED_LOCATION (128)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_FIXED_LOCATION_OFFSET (7)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_ASSIGNED_ALIAS (256)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_ASSIGNED_ALIAS_OFFSET (8)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_SECURITY_USE (512)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_SECURITY_USE_OFFSET (9)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_RESERVED (64512)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_OPTIONS_RESERVED_OFFSET (10)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_LEVEL (3)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_LEVEL_OFFSET (0)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_KEY_TYPE (28)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_SECURITY_OPTIONS_SECURITY_KEY_TYPE_OFFSET (2)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_SECURITY_OPTIONS_RESERVED (224)
-#define EMBER_AF_GP_SINK_TABLE_ENTRY_SECURITY_OPTIONS_RESERVED_OFFSET (5)
-#define EMBER_AF_GP_SINK_TABLE_REQUEST_OPTIONS_APPLICATION_ID (7)
-#define EMBER_AF_GP_SINK_TABLE_REQUEST_OPTIONS_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_SINK_TABLE_REQUEST_OPTIONS_REQUEST_TYPE (24)
-#define EMBER_AF_GP_SINK_TABLE_REQUEST_OPTIONS_REQUEST_TYPE_OFFSET (3)
-#define EMBER_AF_GP_SINK_TABLE_REQUEST_OPTIONS_RESERVED (224)
-#define EMBER_AF_GP_SINK_TABLE_REQUEST_OPTIONS_RESERVED_OFFSET (5)
-#define EMBER_AF_GP_TRANSLATION_TABLE_RESPONSE_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_TRANSLATION_TABLE_RESPONSE_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_TRANSLATION_TABLE_RESPONSE_OPTION_ADDITIONAL_INFORMATION_BLOCK_PRESENT (8)
-#define EMBER_AF_GP_TRANSLATION_TABLE_RESPONSE_OPTION_ADDITIONAL_INFORMATION_BLOCK_PRESENT_OFFSET (3)
-#define EMBER_AF_GP_TRANSLATION_TABLE_RESPONSE_OPTION_RESERVED (240)
-#define EMBER_AF_GP_TRANSLATION_TABLE_RESPONSE_OPTION_RESERVED_OFFSET (4)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_GPD_ID (1)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_GPD_ID_OFFSET (0)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_CMD_ID (2)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_CMD_ID_OFFSET (1)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_PAYLOAD (4)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_PAYLOAD_OFFSET (2)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_ZB_ENDPOINT (8)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_ZB_ENDPOINT_OFFSET (3)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_ADDITIONAL_INFO_BLOCK (16)
-#define EMBER_AF_GP_TRANSLATION_TABLE_SCAN_LEVEL_ADDITIONAL_INFO_BLOCK_OFFSET (4)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_ACTION (24)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_ACTION_OFFSET (3)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_NUMBER_OF_TRANSLATIONS (224)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_NUMBER_OF_TRANSLATIONS_OFFSET (5)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_ADDITIONAL_INFORMATION_BLOCK_PRESENT (256)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_ADDITIONAL_INFORMATION_BLOCK_PRESENT_OFFSET (8)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_RESERVED (65024)
-#define EMBER_AF_GP_TRANSLATION_TABLE_UPDATE_OPTION_RESERVED_OFFSET (9)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_APPLICATION_ID (7)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_APPLICATION_ID_OFFSET (0)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_ALSO_DERIVED_GROUP (8)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_ALSO_DERIVED_GROUP_OFFSET (3)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_ALSO_COMMISSIONED_GROUP (16)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_ALSO_COMMISSIONED_GROUP_OFFSET (4)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_RESERVED (224)
-#define EMBER_AF_GP_TUNNELING_STOP_OPTION_RESERVED_OFFSET (5)
-#define EMBER_AF_IAS_ZONE_STATUS_ALARM1 (1)
-#define EMBER_AF_IAS_ZONE_STATUS_ALARM1_OFFSET (0)
-#define EMBER_AF_IAS_ZONE_STATUS_ALARM2 (2)
-#define EMBER_AF_IAS_ZONE_STATUS_ALARM2_OFFSET (1)
-#define EMBER_AF_IAS_ZONE_STATUS_TAMPER (4)
-#define EMBER_AF_IAS_ZONE_STATUS_TAMPER_OFFSET (2)
-#define EMBER_AF_IAS_ZONE_STATUS_BATTERY (8)
-#define EMBER_AF_IAS_ZONE_STATUS_BATTERY_OFFSET (3)
-#define EMBER_AF_IAS_ZONE_STATUS_SUPERVISION_REPORTS (16)
-#define EMBER_AF_IAS_ZONE_STATUS_SUPERVISION_REPORTS_OFFSET (4)
-#define EMBER_AF_IAS_ZONE_STATUS_RESTORE_REPORTS (32)
-#define EMBER_AF_IAS_ZONE_STATUS_RESTORE_REPORTS_OFFSET (5)
-#define EMBER_AF_IAS_ZONE_STATUS_TROUBLE (64)
-#define EMBER_AF_IAS_ZONE_STATUS_TROUBLE_OFFSET (6)
-#define EMBER_AF_IAS_ZONE_STATUS_AC (128)
-#define EMBER_AF_IAS_ZONE_STATUS_AC_OFFSET (7)
-#define EMBER_AF_IAS_ZONE_STATUS_TEST (256)
-#define EMBER_AF_IAS_ZONE_STATUS_TEST_OFFSET (8)
-#define EMBER_AF_IAS_ZONE_STATUS_BATTERY_DEFECT (512)
-#define EMBER_AF_IAS_ZONE_STATUS_BATTERY_DEFECT_OFFSET (9)
-#define EMBER_AF_KEY_BITMASK_DEVELOPMENT (1)
-#define EMBER_AF_KEY_BITMASK_DEVELOPMENT_OFFSET (0)
-#define EMBER_AF_KEY_BITMASK_MASTER (16)
-#define EMBER_AF_KEY_BITMASK_MASTER_OFFSET (4)
-#define EMBER_AF_KEY_BITMASK_CERTIFICATION (32768)
-#define EMBER_AF_KEY_BITMASK_CERTIFICATION_OFFSET (15)
-#define EMBER_AF_LAMP_ALARM_MODE_LAMP_BURN_HOURS (1)
-#define EMBER_AF_LAMP_ALARM_MODE_LAMP_BURN_HOURS_OFFSET (0)
-#define EMBER_AF_LOAD_CONTROL_STATE_RELAY_OPEN_OR_CONSUMPTION_INTERUPTED (1)
-#define EMBER_AF_LOAD_CONTROL_STATE_RELAY_OPEN_OR_CONSUMPTION_INTERUPTED_OFFSET (0)
-#define EMBER_AF_LOAD_CONTROL_STATE_EVENT_IN_PROGRESS (2)
-#define EMBER_AF_LOAD_CONTROL_STATE_EVENT_IN_PROGRESS_OFFSET (1)
-#define EMBER_AF_LOAD_CONTROL_STATE_POWER_STABILIZING (4)
-#define EMBER_AF_LOAD_CONTROL_STATE_POWER_STABILIZING_OFFSET (2)
-#define EMBER_AF_LOAD_CONTROL_STATE_OTHER_LOAD_REDUCTION (8)
-#define EMBER_AF_LOAD_CONTROL_STATE_OTHER_LOAD_REDUCTION_OFFSET (3)
-#define EMBER_AF_LOAD_CONTROL_STATE_CURRENT_FLOW_OR_CONSUMING_COMMODITY (16)
-#define EMBER_AF_LOAD_CONTROL_STATE_CURRENT_FLOW_OR_CONSUMING_COMMODITY_OFFSET (4)
-#define EMBER_AF_LOAD_CONTROL_STATE_LOAD_CALL (32)
-#define EMBER_AF_LOAD_CONTROL_STATE_LOAD_CALL_OFFSET (5)
-#define EMBER_AF_LOCATION_TYPE_ABSOLUTE (1)
-#define EMBER_AF_LOCATION_TYPE_ABSOLUTE_OFFSET (0)
-#define EMBER_AF_LOCATION_TYPE_2_D (2)
-#define EMBER_AF_LOCATION_TYPE_2_D_OFFSET (1)
-#define EMBER_AF_LOCATION_TYPE_COORDINATE_SYSTEM (12)
-#define EMBER_AF_LOCATION_TYPE_COORDINATE_SYSTEM_OFFSET (2)
-#define EMBER_AF_MAINS_ALARM_MASK_VOLTAGE_TOO_LOW (1)
-#define EMBER_AF_MAINS_ALARM_MASK_VOLTAGE_TOO_LOW_OFFSET (0)
-#define EMBER_AF_MAINS_ALARM_MASK_VOLTAGE_TOO_HIGH (2)
-#define EMBER_AF_MAINS_ALARM_MASK_VOLTAGE_TOO_HIGH_OFFSET (1)
-#define EMBER_AF_MAINS_ALARM_MASK_MAINS_POWER_SUPPLY_LOST (4)
-#define EMBER_AF_MAINS_ALARM_MASK_MAINS_POWER_SUPPLY_LOST_OFFSET (2)
-#define EMBER_AF_MESSAGING_CONFIRMATION_CONTROL_NO_RETURNED (1)
-#define EMBER_AF_MESSAGING_CONFIRMATION_CONTROL_NO_RETURNED_OFFSET (0)
-#define EMBER_AF_MESSAGING_CONFIRMATION_CONTROL_YES_RETURNED (2)
-#define EMBER_AF_MESSAGING_CONFIRMATION_CONTROL_YES_RETURNED_OFFSET (1)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_TRANS_MECHANISM (3)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_TRANS_MECHANISM_OFFSET (0)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_MESSAGE_URGENCY (12)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_MESSAGE_URGENCY_OFFSET (2)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_ENHANCED_CONFIRMATION_REQUEST (32)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_ENHANCED_CONFIRMATION_REQUEST_OFFSET (5)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_MESSAGE_CONFIRMATION (128)
-#define EMBER_AF_MESSAGING_CONTROL_MASK_MESSAGE_CONFIRMATION_OFFSET (7)
-#define EMBER_AF_MESSAGING_EXTENDED_CONTROL_MASK_MESSAGE_CONFIRMATION_STATUS (1)
-#define EMBER_AF_MESSAGING_EXTENDED_CONTROL_MASK_MESSAGE_CONFIRMATION_STATUS_OFFSET (0)
-#define EMBER_AF_METERING_EXTENDED_STATUS_METER_COVER_REMOVED (1)
-#define EMBER_AF_METERING_EXTENDED_STATUS_METER_COVER_REMOVED_OFFSET (0)
-#define EMBER_AF_METERING_EXTENDED_STATUS_STRONG_MAGNETIC_FIELD_DETECTED (2)
-#define EMBER_AF_METERING_EXTENDED_STATUS_STRONG_MAGNETIC_FIELD_DETECTED_OFFSET (1)
-#define EMBER_AF_METERING_EXTENDED_STATUS_BATTERY_FAILURE (4)
-#define EMBER_AF_METERING_EXTENDED_STATUS_BATTERY_FAILURE_OFFSET (2)
-#define EMBER_AF_METERING_EXTENDED_STATUS_PROGRAM_MEMORY_ERROR (8)
-#define EMBER_AF_METERING_EXTENDED_STATUS_PROGRAM_MEMORY_ERROR_OFFSET (3)
-#define EMBER_AF_METERING_EXTENDED_STATUS_RAM_ERROR (16)
-#define EMBER_AF_METERING_EXTENDED_STATUS_RAM_ERROR_OFFSET (4)
-#define EMBER_AF_METERING_EXTENDED_STATUS_NV_MEMORY_ERROR (32)
-#define EMBER_AF_METERING_EXTENDED_STATUS_NV_MEMORY_ERROR_OFFSET (5)
-#define EMBER_AF_METERING_EXTENDED_STATUS_MEASUREMENT_SYSTEM_ERROR (64)
-#define EMBER_AF_METERING_EXTENDED_STATUS_MEASUREMENT_SYSTEM_ERROR_OFFSET (6)
-#define EMBER_AF_METERING_EXTENDED_STATUS_WATCHDOG_ERROR (128)
-#define EMBER_AF_METERING_EXTENDED_STATUS_WATCHDOG_ERROR_OFFSET (7)
-#define EMBER_AF_METERING_EXTENDED_STATUS_SUPPLY_DISCONNECT_FAILURE (256)
-#define EMBER_AF_METERING_EXTENDED_STATUS_SUPPLY_DISCONNECT_FAILURE_OFFSET (8)
-#define EMBER_AF_METERING_EXTENDED_STATUS_SUPPLY_CONNECT_FAILURE (512)
-#define EMBER_AF_METERING_EXTENDED_STATUS_SUPPLY_CONNECT_FAILURE_OFFSET (9)
-#define EMBER_AF_METERING_EXTENDED_STATUS_MEASUREMENT_SW_CHANGED_TAMPERED (1024)
-#define EMBER_AF_METERING_EXTENDED_STATUS_MEASUREMENT_SW_CHANGED_TAMPERED_OFFSET (10)
-#define EMBER_AF_METERING_EXTENDED_STATUS_CLOCK_INVALID (2048)
-#define EMBER_AF_METERING_EXTENDED_STATUS_CLOCK_INVALID_OFFSET (11)
-#define EMBER_AF_METERING_EXTENDED_STATUS_TEMPERATURE_EXCEEDED (4096)
-#define EMBER_AF_METERING_EXTENDED_STATUS_TEMPERATURE_EXCEEDED_OFFSET (12)
-#define EMBER_AF_METERING_EXTENDED_STATUS_MOISTURE_DETECTED (8192)
-#define EMBER_AF_METERING_EXTENDED_STATUS_MOISTURE_DETECTED_OFFSET (13)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_TERMINAL_COVER_REMOVED (16777216)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_TERMINAL_COVER_REMOVED_OFFSET (24)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_INCORRECT_POLARITY (33554432)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_INCORRECT_POLARITY_OFFSET (25)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_CURRENT_WITH_NO_VOLTAGE (67108864)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_CURRENT_WITH_NO_VOLTAGE_OFFSET (26)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_LIMIT_THRESHOLD_EXCEEDED (134217728)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_LIMIT_THRESHOLD_EXCEEDED_OFFSET (27)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_UNDER_VOLTAGE (268435456)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_UNDER_VOLTAGE_OFFSET (28)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_OVER_VOLTAGE (536870912)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_OVER_VOLTAGE_OFFSET (29)
-#define EMBER_AF_METERING_EXTENDED_STATUS_GAS_METER_BATTERY_COVER_REMOVED (16777216)
-#define EMBER_AF_METERING_EXTENDED_STATUS_GAS_METER_BATTERY_COVER_REMOVED_OFFSET (24)
-#define EMBER_AF_METERING_EXTENDED_STATUS_GAS_METER_TILT_TAMPER (33554432)
-#define EMBER_AF_METERING_EXTENDED_STATUS_GAS_METER_TILT_TAMPER_OFFSET (25)
-#define EMBER_AF_METERING_EXTENDED_STATUS_GAS_METER_EXCESS_FLOW (67108864)
-#define EMBER_AF_METERING_EXTENDED_STATUS_GAS_METER_EXCESS_FLOW_OFFSET (26)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVER_POWER (1073741824)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVER_POWER_OFFSET (30)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVER_VOLTAGE (2147483648)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVER_VOLTAGE_OFFSET (31)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_REMOTE_LOAD_CONTROL (3221225472)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_REMOTE_LOAD_CONTROL_OFFSET (30)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_BY_OTHER_REMOTE_COMMAND (4294967296)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_BY_OTHER_REMOTE_COMMAND_OFFSET (32)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVERHEATING_SHORT_CIRCUIT \
- (5368709120)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVERHEATING_SHORT_CIRCUIT_OFFSET \
- (30)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVERHEATING_OTHER (6442450944)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_SERVICE_DISCONNECTION_REASON_OFF_DUE_TO_OVERHEATING_OTHER_OFFSET (31)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_BI_DIRECTIONAL_OPERATION (17179869184)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_BI_DIRECTIONAL_OPERATION_OFFSET (34)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_ACTIVE_POWER_RECEIVED (34359738368)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_ACTIVE_POWER_RECEIVED_OFFSET (35)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_MODE_OF_OPERATION (68719476736)
-#define EMBER_AF_METERING_EXTENDED_STATUS_ELECTRICITY_METER_MODE_OF_OPERATION_OFFSET (36)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_CHECK_METER (1)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_CHECK_METER_OFFSET (0)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_LOW_BATTERY (2)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_LOW_BATTERY_OFFSET (1)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_TAMPER_DETECT (4)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_TAMPER_DETECT_OFFSET (2)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_POWER_FAILURE (8)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_POWER_FAILURE_OFFSET (3)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_POWER_QUALITY (16)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_POWER_QUALITY_OFFSET (4)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_LEAK_DETECT (32)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_LEAK_DETECT_OFFSET (5)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_SERVICE_DISCONNECT_OPEN (64)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_SERVICE_DISCONNECT_OPEN_OFFSET (6)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_RESERVED (128)
-#define EMBER_AF_METERING_STATUS_ELECTRICITY_RESERVED_OFFSET (7)
-#define EMBER_AF_METERING_STATUS_GAS_CHECK_METER (1)
-#define EMBER_AF_METERING_STATUS_GAS_CHECK_METER_OFFSET (0)
-#define EMBER_AF_METERING_STATUS_GAS_LOW_BATTERY (2)
-#define EMBER_AF_METERING_STATUS_GAS_LOW_BATTERY_OFFSET (1)
-#define EMBER_AF_METERING_STATUS_GAS_TAMPER_DETECT (4)
-#define EMBER_AF_METERING_STATUS_GAS_TAMPER_DETECT_OFFSET (2)
-#define EMBER_AF_METERING_STATUS_GAS_NOT_DEFINED (8)
-#define EMBER_AF_METERING_STATUS_GAS_NOT_DEFINED_OFFSET (3)
-#define EMBER_AF_METERING_STATUS_GAS_LOW_PRESSURE (16)
-#define EMBER_AF_METERING_STATUS_GAS_LOW_PRESSURE_OFFSET (4)
-#define EMBER_AF_METERING_STATUS_GAS_LEAK_DETECT (32)
-#define EMBER_AF_METERING_STATUS_GAS_LEAK_DETECT_OFFSET (5)
-#define EMBER_AF_METERING_STATUS_GAS_SERVICE_DISCONNECT (64)
-#define EMBER_AF_METERING_STATUS_GAS_SERVICE_DISCONNECT_OFFSET (6)
-#define EMBER_AF_METERING_STATUS_GAS_REVERSE_FLOW (128)
-#define EMBER_AF_METERING_STATUS_GAS_REVERSE_FLOW_OFFSET (7)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_CHECK_METER (1)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_CHECK_METER_OFFSET (0)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_LOW_BATTERY (2)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_LOW_BATTERY_OFFSET (1)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_TAMPER_DETECT (4)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_TAMPER_DETECT_OFFSET (2)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_TEMPERATURE_SENSOR (8)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_TEMPERATURE_SENSOR_OFFSET (3)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_BURST_DETECT (16)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_BURST_DETECT_OFFSET (4)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_LEAK_DETECT (32)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_LEAK_DETECT_OFFSET (5)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_SERVICE_DISCONNECT (64)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_SERVICE_DISCONNECT_OFFSET (6)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_FLOW_SENSOR (128)
-#define EMBER_AF_METERING_STATUS_HEAT_AND_COOLING_FLOW_SENSOR_OFFSET (7)
-#define EMBER_AF_METERING_STATUS_WATER_CHECK_METER (1)
-#define EMBER_AF_METERING_STATUS_WATER_CHECK_METER_OFFSET (0)
-#define EMBER_AF_METERING_STATUS_WATER_LOW_BATTERY (2)
-#define EMBER_AF_METERING_STATUS_WATER_LOW_BATTERY_OFFSET (1)
-#define EMBER_AF_METERING_STATUS_WATER_TAMPER_DETECT (4)
-#define EMBER_AF_METERING_STATUS_WATER_TAMPER_DETECT_OFFSET (2)
-#define EMBER_AF_METERING_STATUS_WATER_PIPE_EMPTY (8)
-#define EMBER_AF_METERING_STATUS_WATER_PIPE_EMPTY_OFFSET (3)
-#define EMBER_AF_METERING_STATUS_WATER_LOW_PRESSURE (16)
-#define EMBER_AF_METERING_STATUS_WATER_LOW_PRESSURE_OFFSET (4)
-#define EMBER_AF_METERING_STATUS_WATER_LEAK_DETECT (32)
-#define EMBER_AF_METERING_STATUS_WATER_LEAK_DETECT_OFFSET (5)
-#define EMBER_AF_METERING_STATUS_WATER_SERVICE_DISCONNECT (64)
-#define EMBER_AF_METERING_STATUS_WATER_SERVICE_DISCONNECT_OFFSET (6)
-#define EMBER_AF_METERING_STATUS_WATER_REVERSE_FLOW (128)
-#define EMBER_AF_METERING_STATUS_WATER_REVERSE_FLOW_OFFSET (7)
-#define EMBER_AF_MODE_FOR_SEQUENCE_HEAT_SETPOINT_FIELD_PRESENT (1)
-#define EMBER_AF_MODE_FOR_SEQUENCE_HEAT_SETPOINT_FIELD_PRESENT_OFFSET (0)
-#define EMBER_AF_MODE_FOR_SEQUENCE_COOL_SETPOINT_FIELD_PRESENT (2)
-#define EMBER_AF_MODE_FOR_SEQUENCE_COOL_SETPOINT_FIELD_PRESENT_OFFSET (1)
-#define EMBER_AF_NUMBER_OF_EVENTS_LOG_PAYLOAD_CONTROL_LOG_PAYLOAD_CONTROL (15)
-#define EMBER_AF_NUMBER_OF_EVENTS_LOG_PAYLOAD_CONTROL_LOG_PAYLOAD_CONTROL_OFFSET (0)
-#define EMBER_AF_NUMBER_OF_EVENTS_LOG_PAYLOAD_CONTROL_NUMBER_OF_EVENTS (240)
-#define EMBER_AF_NUMBER_OF_EVENTS_LOG_PAYLOAD_CONTROL_NUMBER_OF_EVENTS_OFFSET (4)
-#define EMBER_AF_OCCUPANCY_OCCUPIED (1)
-#define EMBER_AF_OCCUPANCY_OCCUPIED_OFFSET (0)
-#define EMBER_AF_OCCUPANCY_SENSOR_TYPE_BITMAP_PIR (1)
-#define EMBER_AF_OCCUPANCY_SENSOR_TYPE_BITMAP_PIR_OFFSET (0)
-#define EMBER_AF_OCCUPANCY_SENSOR_TYPE_BITMAP_ULTRASONIC (2)
-#define EMBER_AF_OCCUPANCY_SENSOR_TYPE_BITMAP_ULTRASONIC_OFFSET (1)
-#define EMBER_AF_OCCUPANCY_SENSOR_TYPE_BITMAP_PHYSICAL_CONTACT (4)
-#define EMBER_AF_OCCUPANCY_SENSOR_TYPE_BITMAP_PHYSICAL_CONTACT_OFFSET (2)
-#define EMBER_AF_ON_OFF_CONTROL_ACCEPT_ONLY_WHEN_ON (1)
-#define EMBER_AF_ON_OFF_CONTROL_ACCEPT_ONLY_WHEN_ON_OFFSET (0)
-#define EMBER_AF_ORIGINATOR_ID_SUPPLY_CONTROL_BITS_ACKNOWLEDGE_REQUIRED (1)
-#define EMBER_AF_ORIGINATOR_ID_SUPPLY_CONTROL_BITS_ACKNOWLEDGE_REQUIRED_OFFSET (0)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_DISCONNECTION_ENABLED (1)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_DISCONNECTION_ENABLED_OFFSET (0)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_PREPAYMENT_ENABLED (2)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_PREPAYMENT_ENABLED_OFFSET (1)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_CREDIT_MANAGEMENT_ENABLED (4)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_CREDIT_MANAGEMENT_ENABLED_OFFSET (2)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_CREDIT_DISPLAY_ENABLED (16)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_CREDIT_DISPLAY_ENABLED_OFFSET (4)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_ACCOUNT_BASE (64)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_ACCOUNT_BASE_OFFSET (6)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_CONTACTOR_FITTED (128)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_CONTACTOR_FITTED_OFFSET (7)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_STANDING_CHARGE_CONFIGURATION (256)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_STANDING_CHARGE_CONFIGURATION_OFFSET (8)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_EMERGENCY_STANDING_CHARGE_CONFIGURATION (512)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_EMERGENCY_STANDING_CHARGE_CONFIGURATION_OFFSET (9)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_DEBT_CONFIGURATION (1024)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_DEBT_CONFIGURATION_OFFSET (10)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_EMERGENCY_DEBT_CONFIGURATION (2048)
-#define EMBER_AF_PAYMENT_CONTROL_CONFIGURATION_EMERGENCY_DEBT_CONFIGURATION_OFFSET (11)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_GENERAL (1)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_GENERAL_OFFSET (0)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_TARIFF_INFORMATION (8)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_TARIFF_INFORMATION_OFFSET (3)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_PRICE_MATRIX (16)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_PRICE_MATRIX_OFFSET (4)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_MANUALLY_TRIGGERED_FROM_CLIENT (1024)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_MANUALLY_TRIGGERED_FROM_CLIENT_OFFSET (10)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_TENANCY (4096)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_TENANCY_OFFSET (12)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_SUPPLIER (8192)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_SUPPLIER_OFFSET (13)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_METER_MODE (16384)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_CHANGE_OF_METER_MODE_OFFSET (14)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_TOP_UP_ADDITION (262144)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_TOP_UP_ADDITION_OFFSET (18)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_DEBT_CREDIT_ADDITION (524288)
-#define EMBER_AF_PREPAY_SNAPSHOT_PAYLOAD_CAUSE_DEBT_CREDIT_ADDITION_OFFSET (19)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_LOW_CREDIT_WARNING (1)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_LOW_CREDIT_WARNING_OFFSET (0)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_TOP_UP_CODE_ERROR (2)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_TOP_UP_CODE_ERROR_OFFSET (1)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_TOP_UP_CODE_ALREADY_USED (4)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_TOP_UP_CODE_ALREADY_USED_OFFSET (2)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_TOP_UP_CODE_INVALID (8)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_TOP_UP_CODE_INVALID_OFFSET (3)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_FRIENDLY_CREDIT_IN_USE (16)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_FRIENDLY_CREDIT_IN_USE_OFFSET (4)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_FRIENDLY_CREDIT_PERIOD_END_WARNING (32)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_FRIENDLY_CREDIT_PERIOD_END_WARNING_OFFSET (5)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_EC_AVAILABLE (64)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_EC_AVAILABLE_OFFSET (6)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_UNAUTHORISED_ENERGY_USE (128)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_UNAUTHORISED_ENERGY_USE_OFFSET (7)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_DISCONNECTED_SUPPLY_DUE_TO_CREDIT (256)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_DISCONNECTED_SUPPLY_DUE_TO_CREDIT_OFFSET (8)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_DISCONNECTED_SUPPLY_DUE_TO_TAMPER (512)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_DISCONNECTED_SUPPLY_DUE_TO_TAMPER_OFFSET (9)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_DISCONNECTED_SUPPLY_DUE_TO_HES (1024)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_DISCONNECTED_SUPPLY_DUE_TO_HES_OFFSET (10)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_PHYSICAL_ATTACK (2048)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_PHYSICAL_ATTACK_OFFSET (11)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_ELECTRONIC_ATTACK (4096)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_ELECTRONIC_ATTACK_OFFSET (12)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_MANUFACTURE_ALARM_CODE_A (8192)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_MANUFACTURE_ALARM_CODE_A_OFFSET (13)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_MANUFACTURE_ALARM_CODE_B (16384)
-#define EMBER_AF_PREPAYMENT_ALARM_STATUS_MANUFACTURE_ALARM_CODE_B_OFFSET (14)
-#define EMBER_AF_PRICE_CONTROL_MASK_PRICE_ACKNOWLEDGEMENT_REQUIRED (1)
-#define EMBER_AF_PRICE_CONTROL_MASK_PRICE_ACKNOWLEDGEMENT_REQUIRED_OFFSET (0)
-#define EMBER_AF_PRICE_CONTROL_MASK_TOTAL_TIERS_EXCEEDS15 (2)
-#define EMBER_AF_PRICE_CONTROL_MASK_TOTAL_TIERS_EXCEEDS15_OFFSET (1)
-#define EMBER_AF_PRICE_MATRIX_SUB_PAYLOAD_CONTROL_TOU_BASED (1)
-#define EMBER_AF_PRICE_MATRIX_SUB_PAYLOAD_CONTROL_TOU_BASED_OFFSET (0)
-#define EMBER_AF_PRICE_NUMBER_OF_PRICE_TIERS_AND_REGISTER_TIER_REGISTER_TIER (15)
-#define EMBER_AF_PRICE_NUMBER_OF_PRICE_TIERS_AND_REGISTER_TIER_REGISTER_TIER_OFFSET (0)
-#define EMBER_AF_PRICE_NUMBER_OF_PRICE_TIERS_AND_REGISTER_TIER_NUMBER_OF_PRICE_TIERS (240)
-#define EMBER_AF_PRICE_NUMBER_OF_PRICE_TIERS_AND_REGISTER_TIER_NUMBER_OF_PRICE_TIERS_OFFSET (4)
-#define EMBER_AF_PRICE_TRAILING_DIGIT_TRAILING_DIGIT (240)
-#define EMBER_AF_PRICE_TRAILING_DIGIT_TRAILING_DIGIT_OFFSET (4)
-#define EMBER_AF_PRICE_TRAILING_DIGIT_AND_PRICE_TIER_PRICE_TIER (15)
-#define EMBER_AF_PRICE_TRAILING_DIGIT_AND_PRICE_TIER_PRICE_TIER_OFFSET (0)
-#define EMBER_AF_PRICE_TRAILING_DIGIT_AND_PRICE_TIER_TRAILING_DIGIT (240)
-#define EMBER_AF_PRICE_TRAILING_DIGIT_AND_PRICE_TIER_TRAILING_DIGIT_OFFSET (4)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_PRE_SNAPSHOTS (1)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_PRE_SNAPSHOTS_OFFSET (0)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_POST_SNAPSHOTS (2)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_POST_SNAPSHOTS_OFFSET (1)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_RESET_CREDIT_REGISTER (4)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_RESET_CREDIT_REGISTER_OFFSET (2)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_RESET_DEBIT_REGISTER (8)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_RESET_DEBIT_REGISTER_OFFSET (3)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_RESET_BILLING_PERIOD (16)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_RESET_BILLING_PERIOD_OFFSET (4)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_TARIFF_PLAN (32)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_TARIFF_PLAN_OFFSET (5)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_STANDING_CHARGE (64)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_STANDING_CHARGE_OFFSET (6)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_BLOCK_HISTORICAL_LOAD_PROFILE_INFORMATION (128)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_BLOCK_HISTORICAL_LOAD_PROFILE_INFORMATION_OFFSET (7)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_HISTORICAL_LOAD_PROFILE_INFORMATION (256)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_HISTORICAL_LOAD_PROFILE_INFORMATION_OFFSET (8)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_IHD_DATA_CONSUMER (512)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_IHD_DATA_CONSUMER_OFFSET (9)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_IHD_DATA_SUPPLIER (1024)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_IHD_DATA_SUPPLIER_OFFSET (10)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_METER_CONNECTOR_STATE_ON_OFF_ARMED (6144)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_METER_CONNECTOR_STATE_ON_OFF_ARMED_OFFSET (11)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_TRANSACTION_LOG (8192)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_TRANSACTION_LOG_OFFSET (13)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_PREPAYMENT_LOG (16384)
-#define EMBER_AF_PROPOSED_CHANGE_CONTROL_CLEAR_PREPAYMENT_LOG_OFFSET (14)
-#define EMBER_AF_PUMP_ALARM_MASK_SUPPLY_VOLTAGE_LOW (1)
-#define EMBER_AF_PUMP_ALARM_MASK_SUPPLY_VOLTAGE_LOW_OFFSET (0)
-#define EMBER_AF_PUMP_ALARM_MASK_SUPPLY_VOLTAGE_HIGH (2)
-#define EMBER_AF_PUMP_ALARM_MASK_SUPPLY_VOLTAGE_HIGH_OFFSET (1)
-#define EMBER_AF_PUMP_ALARM_MASK_POWER_MISSING_PHASE (4)
-#define EMBER_AF_PUMP_ALARM_MASK_POWER_MISSING_PHASE_OFFSET (2)
-#define EMBER_AF_PUMP_ALARM_MASK_SYSTEM_PRESSURE_LOW (8)
-#define EMBER_AF_PUMP_ALARM_MASK_SYSTEM_PRESSURE_LOW_OFFSET (3)
-#define EMBER_AF_PUMP_ALARM_MASK_SYSTEM_PRESSURE_HIGH (16)
-#define EMBER_AF_PUMP_ALARM_MASK_SYSTEM_PRESSURE_HIGH_OFFSET (4)
-#define EMBER_AF_PUMP_ALARM_MASK_DRY_RUNNING (32)
-#define EMBER_AF_PUMP_ALARM_MASK_DRY_RUNNING_OFFSET (5)
-#define EMBER_AF_PUMP_ALARM_MASK_MOTOR_TEMPERATURE_HIGH (64)
-#define EMBER_AF_PUMP_ALARM_MASK_MOTOR_TEMPERATURE_HIGH_OFFSET (6)
-#define EMBER_AF_PUMP_ALARM_MASK_PUMP_MOTOR_FATAL_FAILURE (128)
-#define EMBER_AF_PUMP_ALARM_MASK_PUMP_MOTOR_FATAL_FAILURE_OFFSET (7)
-#define EMBER_AF_PUMP_ALARM_MASK_ELECTRONIC_TEMPERATURE_HIGH (256)
-#define EMBER_AF_PUMP_ALARM_MASK_ELECTRONIC_TEMPERATURE_HIGH_OFFSET (8)
-#define EMBER_AF_PUMP_ALARM_MASK_PUMP_BLOCKED (512)
-#define EMBER_AF_PUMP_ALARM_MASK_PUMP_BLOCKED_OFFSET (9)
-#define EMBER_AF_PUMP_ALARM_MASK_SENSOR_FAILURE (1024)
-#define EMBER_AF_PUMP_ALARM_MASK_SENSOR_FAILURE_OFFSET (10)
-#define EMBER_AF_PUMP_ALARM_MASK_ELECTRONIC_NON_FATAL_FAILURE (2048)
-#define EMBER_AF_PUMP_ALARM_MASK_ELECTRONIC_NON_FATAL_FAILURE_OFFSET (11)
-#define EMBER_AF_PUMP_ALARM_MASK_ELECTRONIC_FATAL_FAILURE (4096)
-#define EMBER_AF_PUMP_ALARM_MASK_ELECTRONIC_FATAL_FAILURE_OFFSET (12)
-#define EMBER_AF_PUMP_ALARM_MASK_GENERAL_FAULT (8192)
-#define EMBER_AF_PUMP_ALARM_MASK_GENERAL_FAULT_OFFSET (13)
-#define EMBER_AF_PUMP_ALARM_MASK_LEAKAGE (16384)
-#define EMBER_AF_PUMP_ALARM_MASK_LEAKAGE_OFFSET (14)
-#define EMBER_AF_PUMP_ALARM_MASK_AIR_DETECTION (32768)
-#define EMBER_AF_PUMP_ALARM_MASK_AIR_DETECTION_OFFSET (15)
-#define EMBER_AF_PUMP_ALARM_MASK_TURBINE_OPERATION (65536)
-#define EMBER_AF_PUMP_ALARM_MASK_TURBINE_OPERATION_OFFSET (16)
-#define EMBER_AF_PUMP_STATUS_DEVICE_FAULT (1)
-#define EMBER_AF_PUMP_STATUS_DEVICE_FAULT_OFFSET (0)
-#define EMBER_AF_PUMP_STATUS_SUPPLYFAULT (2)
-#define EMBER_AF_PUMP_STATUS_SUPPLYFAULT_OFFSET (1)
-#define EMBER_AF_PUMP_STATUS_SPEED_LOW (4)
-#define EMBER_AF_PUMP_STATUS_SPEED_LOW_OFFSET (2)
-#define EMBER_AF_PUMP_STATUS_SPEED_HIGH (8)
-#define EMBER_AF_PUMP_STATUS_SPEED_HIGH_OFFSET (3)
-#define EMBER_AF_PUMP_STATUS_LOCAL_OVERRIDE (16)
-#define EMBER_AF_PUMP_STATUS_LOCAL_OVERRIDE_OFFSET (4)
-#define EMBER_AF_PUMP_STATUS_RUNNING (32)
-#define EMBER_AF_PUMP_STATUS_RUNNING_OFFSET (5)
-#define EMBER_AF_PUMP_STATUS_REMOTE_PRESSURE (64)
-#define EMBER_AF_PUMP_STATUS_REMOTE_PRESSURE_OFFSET (6)
-#define EMBER_AF_PUMP_STATUS_REMOTE_FLOW (128)
-#define EMBER_AF_PUMP_STATUS_REMOTE_FLOW_OFFSET (7)
-#define EMBER_AF_PUMP_STATUS_REMOTE_TEMPERATURE (256)
-#define EMBER_AF_PUMP_STATUS_REMOTE_TEMPERATURE_OFFSET (8)
-#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_REMOTE_ENABLE_FLAGS (15)
-#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_REMOTE_ENABLE_FLAGS_OFFSET (0)
-#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_DEVICE_STATUS2_STRUCTURE (240)
-#define EMBER_AF_REMOTE_ENABLE_FLAGS_AND_DEVICE_STATUS2_DEVICE_STATUS2_STRUCTURE_OFFSET (4)
-#define EMBER_AF_RESET_OPTIONS_RESET_CURRENT (1)
-#define EMBER_AF_RESET_OPTIONS_RESET_CURRENT_OFFSET (0)
-#define EMBER_AF_RESET_OPTIONS_RESET_ALL (2)
-#define EMBER_AF_RESET_OPTIONS_RESET_ALL_OFFSET (1)
-#define EMBER_AF_RESET_OPTIONS_ERASE_INDEX (4)
-#define EMBER_AF_RESET_OPTIONS_ERASE_INDEX_OFFSET (2)
-#define EMBER_AF_RESTART_OPTIONS_START_MODE1 (1)
-#define EMBER_AF_RESTART_OPTIONS_START_MODE1_OFFSET (0)
-#define EMBER_AF_RESTART_OPTIONS_STARTUP_MODE2 (2)
-#define EMBER_AF_RESTART_OPTIONS_STARTUP_MODE2_OFFSET (1)
-#define EMBER_AF_RESTART_OPTIONS_STARTUP_MODE3 (4)
-#define EMBER_AF_RESTART_OPTIONS_STARTUP_MODE3_OFFSET (2)
-#define EMBER_AF_RESTART_OPTIONS_IMMEDIATE (8)
-#define EMBER_AF_RESTART_OPTIONS_IMMEDIATE_OFFSET (3)
-#define EMBER_AF_SCENES_COPY_MODE_COPY_ALL_SCENES (1)
-#define EMBER_AF_SCENES_COPY_MODE_COPY_ALL_SCENES_OFFSET (0)
-#define EMBER_AF_SECURITY_TYPE_UNENCRYPTED (1)
-#define EMBER_AF_SECURITY_TYPE_UNENCRYPTED_OFFSET (0)
-#define EMBER_AF_SECURITY_TYPE_WEP_PERSONAL (2)
-#define EMBER_AF_SECURITY_TYPE_WEP_PERSONAL_OFFSET (1)
-#define EMBER_AF_SECURITY_TYPE_WPA_PERSONAL (4)
-#define EMBER_AF_SECURITY_TYPE_WPA_PERSONAL_OFFSET (2)
-#define EMBER_AF_SECURITY_TYPE_WPA2_PERSONAL (8)
-#define EMBER_AF_SECURITY_TYPE_WPA2_PERSONAL_OFFSET (3)
-#define EMBER_AF_SECURITY_TYPE_WPA3_PERSONAL (16)
-#define EMBER_AF_SECURITY_TYPE_WPA3_PERSONAL_OFFSET (4)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_OPERATIONAL (1)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_OPERATIONAL_OFFSET (0)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_ADJUSTING (2)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_ADJUSTING_OFFSET (1)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_OPENING (4)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_OPENING_OFFSET (2)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_MOTOR_OPENING (8)
-#define EMBER_AF_SHADE_CLOSURE_STATUS_MOTOR_OPENING_OFFSET (3)
-#define EMBER_AF_SNAPSHOT_CAUSE_GENERAL (1)
-#define EMBER_AF_SNAPSHOT_CAUSE_GENERAL_OFFSET (0)
-#define EMBER_AF_SNAPSHOT_CAUSE_END_OF_BILLING_PERIOD (2)
-#define EMBER_AF_SNAPSHOT_CAUSE_END_OF_BILLING_PERIOD_OFFSET (1)
-#define EMBER_AF_SNAPSHOT_CAUSE_END_OF_BLOCK_PERIOD (4)
-#define EMBER_AF_SNAPSHOT_CAUSE_END_OF_BLOCK_PERIOD_OFFSET (2)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_TARIFF_INFORMATION (8)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_TARIFF_INFORMATION_OFFSET (3)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_PRICE_MATRIX (16)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_PRICE_MATRIX_OFFSET (4)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_BLOCK_THRESHOLDS (32)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_BLOCK_THRESHOLDS_OFFSET (5)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_CV (64)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_CV_OFFSET (6)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_CF (128)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_CF_OFFSET (7)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_CALENDAR (256)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_CALENDAR_OFFSET (8)
-#define EMBER_AF_SNAPSHOT_CAUSE_CRITICAL_PEAK_PRICING (512)
-#define EMBER_AF_SNAPSHOT_CAUSE_CRITICAL_PEAK_PRICING_OFFSET (9)
-#define EMBER_AF_SNAPSHOT_CAUSE_MANUALLY_TRIGGERED_FROM_CLIENT (1024)
-#define EMBER_AF_SNAPSHOT_CAUSE_MANUALLY_TRIGGERED_FROM_CLIENT_OFFSET (10)
-#define EMBER_AF_SNAPSHOT_CAUSE_END_OF_RESOLVE_PERIOD (2048)
-#define EMBER_AF_SNAPSHOT_CAUSE_END_OF_RESOLVE_PERIOD_OFFSET (11)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_TENANCY (4096)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_TENANCY_OFFSET (12)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_SUPPLIER (8192)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_SUPPLIER_OFFSET (13)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_MODE (16384)
-#define EMBER_AF_SNAPSHOT_CAUSE_CHANGE_OF_MODE_OFFSET (14)
-#define EMBER_AF_SNAPSHOT_CAUSE_DEBT_PAYMENT (32768)
-#define EMBER_AF_SNAPSHOT_CAUSE_DEBT_PAYMENT_OFFSET (15)
-#define EMBER_AF_SNAPSHOT_CAUSE_SCHEDULED_SNAPSHOT (65536)
-#define EMBER_AF_SNAPSHOT_CAUSE_SCHEDULED_SNAPSHOT_OFFSET (16)
-#define EMBER_AF_SNAPSHOT_CAUSE_OTA_FIRMWARE_DOWNLOAD (131072)
-#define EMBER_AF_SNAPSHOT_CAUSE_OTA_FIRMWARE_DOWNLOAD_OFFSET (17)
-#define EMBER_AF_SQUAWK_INFO_MODE (240)
-#define EMBER_AF_SQUAWK_INFO_MODE_OFFSET (4)
-#define EMBER_AF_SQUAWK_INFO_STROBE (8)
-#define EMBER_AF_SQUAWK_INFO_STROBE_OFFSET (3)
-#define EMBER_AF_SQUAWK_INFO_LEVEL (3)
-#define EMBER_AF_SQUAWK_INFO_LEVEL_OFFSET (0)
-#define EMBER_AF_START_TIME_MINUTES (63)
-#define EMBER_AF_START_TIME_MINUTES_OFFSET (0)
-#define EMBER_AF_START_TIME_TIME_ENCODING (192)
-#define EMBER_AF_START_TIME_TIME_ENCODING_OFFSET (6)
-#define EMBER_AF_START_TIME_HOURS (65280)
-#define EMBER_AF_START_TIME_HOURS_OFFSET (8)
-#define EMBER_AF_SUPPLY_CONTROL_BITS_ACKNOWLEDGE_REQUIRED (1)
-#define EMBER_AF_SUPPLY_CONTROL_BITS_ACKNOWLEDGE_REQUIRED_OFFSET (0)
-#define EMBER_AF_TARIFF_TYPE_CHARGING_SCHEME_TARIFF_TYPE (15)
-#define EMBER_AF_TARIFF_TYPE_CHARGING_SCHEME_TARIFF_TYPE_OFFSET (0)
-#define EMBER_AF_TARIFF_TYPE_CHARGING_SCHEME_TARIFF_CHARGING_SCHEME (240)
-#define EMBER_AF_TARIFF_TYPE_CHARGING_SCHEME_TARIFF_CHARGING_SCHEME_OFFSET (4)
-#define EMBER_AF_THERMOSTAT_ALARM_MASK_INITIALIZATION_FAILURE (1)
-#define EMBER_AF_THERMOSTAT_ALARM_MASK_INITIALIZATION_FAILURE_OFFSET (0)
-#define EMBER_AF_THERMOSTAT_ALARM_MASK_HARDWARE_FAILURE (2)
-#define EMBER_AF_THERMOSTAT_ALARM_MASK_HARDWARE_FAILURE_OFFSET (1)
-#define EMBER_AF_THERMOSTAT_ALARM_MASK_SELFCALIBRATION_FAILURE (4)
-#define EMBER_AF_THERMOSTAT_ALARM_MASK_SELFCALIBRATION_FAILURE_OFFSET (2)
-#define EMBER_AF_THERMOSTAT_OCCUPANCY_OCCUPIED (1)
-#define EMBER_AF_THERMOSTAT_OCCUPANCY_OCCUPIED_OFFSET (0)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_HEAT_STATE_ON (1)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_HEAT_STATE_ON_OFFSET (0)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_COOL_STATE_ON (2)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_COOL_STATE_ON_OFFSET (1)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_FAN_STATE_ON (4)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_FAN_STATE_ON_OFFSET (2)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_HEAT_SECOND_STAGE_STATE_ON (8)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_HEAT_SECOND_STAGE_STATE_ON_OFFSET (3)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_COOL_SECOND_STAGE_STATE_ON (16)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_COOL_SECOND_STAGE_STATE_ON_OFFSET (4)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_FAN_SECOND_STAGE_STATE_ON (32)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_FAN_SECOND_STAGE_STATE_ON_OFFSET (5)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_FAN_THIRD_STAGE_STATE_ON (64)
-#define EMBER_AF_THERMOSTAT_RUNNING_STATE_FAN_THIRD_STAGE_STATE_ON_OFFSET (6)
-#define EMBER_AF_THERMOSTAT_SENSING_LOCAL_TEMP_SENSED_REMOTELY (1)
-#define EMBER_AF_THERMOSTAT_SENSING_LOCAL_TEMP_SENSED_REMOTELY_OFFSET (0)
-#define EMBER_AF_THERMOSTAT_SENSING_OUTDOOR_TEMP_SENSED_REMOTELY (2)
-#define EMBER_AF_THERMOSTAT_SENSING_OUTDOOR_TEMP_SENSED_REMOTELY_OFFSET (1)
-#define EMBER_AF_THERMOSTAT_SENSING_OCCUPANCY_SENSED_REMOTELY (4)
-#define EMBER_AF_THERMOSTAT_SENSING_OCCUPANCY_SENSED_REMOTELY_OFFSET (2)
-#define EMBER_AF_TIME_STATUS_MASK_MASTER_CLOCK (1)
-#define EMBER_AF_TIME_STATUS_MASK_MASTER_CLOCK_OFFSET (0)
-#define EMBER_AF_TIME_STATUS_MASK_SYNCHRONIZED (2)
-#define EMBER_AF_TIME_STATUS_MASK_SYNCHRONIZED_OFFSET (1)
-#define EMBER_AF_TIME_STATUS_MASK_MASTER_ZONE_DST (4)
-#define EMBER_AF_TIME_STATUS_MASK_MASTER_ZONE_DST_OFFSET (2)
-#define EMBER_AF_TIME_STATUS_MASK_SUPERSEDING (8)
-#define EMBER_AF_TIME_STATUS_MASK_SUPERSEDING_OFFSET (3)
-#define EMBER_AF_WARNING_INFO_MODE (240)
-#define EMBER_AF_WARNING_INFO_MODE_OFFSET (4)
-#define EMBER_AF_WARNING_INFO_STROBE (12)
-#define EMBER_AF_WARNING_INFO_STROBE_OFFSET (2)
-#define EMBER_AF_WARNING_INFO_SIREN_LEVEL (3)
-#define EMBER_AF_WARNING_INFO_SIREN_LEVEL_OFFSET (0)
-#define EMBER_AF_ZIGBEE_INFORMATION_LOGICAL_TYPE (3)
-#define EMBER_AF_ZIGBEE_INFORMATION_LOGICAL_TYPE_OFFSET (0)
-#define EMBER_AF_ZIGBEE_INFORMATION_RX_ON_WHEN_IDLE (4)
-#define EMBER_AF_ZIGBEE_INFORMATION_RX_ON_WHEN_IDLE_OFFSET (2)
-#define EMBER_AF_ZLL_INFORMATION_FACTORY_NEW (1)
-#define EMBER_AF_ZLL_INFORMATION_FACTORY_NEW_OFFSET (0)
-#define EMBER_AF_ZLL_INFORMATION_ADDRESS_ASSIGNMENT (2)
-#define EMBER_AF_ZLL_INFORMATION_ADDRESS_ASSIGNMENT_OFFSET (1)
-#define EMBER_AF_ZLL_INFORMATION_TOUCH_LINK_INITIATOR (16)
-#define EMBER_AF_ZLL_INFORMATION_TOUCH_LINK_INITIATOR_OFFSET (4)
-#define EMBER_AF_ZLL_INFORMATION_TOUCH_LINK_PRIORITY_REQUEST (32)
-#define EMBER_AF_ZLL_INFORMATION_TOUCH_LINK_PRIORITY_REQUEST_OFFSET (5)
-#define EMBER_AF_ZLL_INFORMATION_PROFILE_INTEROP (128)
-#define EMBER_AF_ZLL_INFORMATION_PROFILE_INTEROP_OFFSET (7)
diff --git a/examples/chip-tool/gen/gen_config.h b/examples/chip-tool/gen/gen_config.h
deleted file mode 100644
index 806babf..0000000
--- a/examples/chip-tool/gen/gen_config.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// User options for plugin Binding Table Library
-#define EMBER_BINDING_TABLE_SIZE 10
-
-/**** Network Section ****/
-#define EMBER_SUPPORTED_NETWORKS (1)
-
-#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
-
-/**** Cluster endpoint counts ****/
-#define EMBER_AF_ACCOUNT_LOGIN_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_APPLICATION_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_APPLICATION_LAUNCHER_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_AUDIO_OUTPUT_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)
-#define EMBER_AF_COLOR_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_CONTENT_LAUNCH_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_DESCRIPTOR_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_DOOR_LOCK_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_GENERAL_DIAGNOSTICS_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_GROUP_KEY_MANAGEMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_GROUPS_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_IDENTIFY_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_KEYPAD_INPUT_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_LEVEL_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_LOW_POWER_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_MEDIA_INPUT_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_MEDIA_PLAYBACK_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_NETWORK_COMMISSIONING_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_ON_OFF_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_OPERATIONAL_CREDENTIALS_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_PUMP_CONFIG_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_SCENES_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_SWITCH_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_TV_CHANNEL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_TARGET_NAVIGATOR_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_TEMP_MEASUREMENT_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_TEST_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_THERMOSTAT_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-#define EMBER_AF_WAKE_ON_LAN_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
-
-/**** Cluster Plugins ****/
-
-// Use this macro to check if the client side of the Account Login cluster is included
-#define ZCL_USING_ACCOUNT_LOGIN_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_ACCOUNT_LOGIN_CLIENT
-
-// 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 Application Launcher cluster is included
-#define ZCL_USING_APPLICATION_LAUNCHER_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_APPLICATION_LAUNCHER_CLIENT
-
-// Use this macro to check if the client side of the Audio Output cluster is included
-#define ZCL_USING_AUDIO_OUTPUT_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_AUDIO_OUTPUT_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
-
-// Use this macro to check if the client side of the Basic cluster is included
-#define ZCL_USING_BASIC_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_BASIC_CLIENT
-
-// Use this macro to check if the client side of the Binding cluster is included
-#define ZCL_USING_BINDING_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_BINDING_CLIENT
-
-// Use this macro to check if the client side of the Color Control cluster is included
-#define ZCL_USING_COLOR_CONTROL_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_COLOR_CONTROL_CLIENT
-
-// Use this macro to check if the client side of the Content Launch cluster is included
-#define ZCL_USING_CONTENT_LAUNCH_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_CONTENT_LAUNCH_CLIENT
-
-// Use this macro to check if the client side of the Descriptor cluster is included
-#define ZCL_USING_DESCRIPTOR_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_DESCRIPTOR_CLIENT
-
-// Use this macro to check if the client side of the Door Lock cluster is included
-#define ZCL_USING_DOOR_LOCK_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_DOOR_LOCK_CLIENT
-
-// Use this macro to check if the client side of the Ethernet Network Diagnostics cluster is included
-#define ZCL_USING_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_ETHERNET_NETWORK_DIAGNOSTICS_CLIENT
-
-// Use this macro to check if the client side of the General Commissioning cluster is included
-#define ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_GENERAL_COMMISSIONING_CLIENT
-
-// Use this macro to check if the client side of the General Diagnostics cluster is included
-#define ZCL_USING_GENERAL_DIAGNOSTICS_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_GENERAL_DIAGNOSTICS_CLIENT
-
-// Use this macro to check if the client side of the Group Key Management cluster is included
-#define ZCL_USING_GROUP_KEY_MANAGEMENT_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_GROUP_KEY_MANAGEMENT_CLIENT
-
-// Use this macro to check if the client side of the Groups cluster is included
-#define ZCL_USING_GROUPS_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_GROUPS_CLIENT
-
-// Use this macro to check if the client side of the Identify cluster is included
-#define ZCL_USING_IDENTIFY_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_IDENTIFY_CLIENT
-
-// Use this macro to check if the client side of the Keypad Input cluster is included
-#define ZCL_USING_KEYPAD_INPUT_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_KEYPAD_INPUT_CLIENT
-
-// Use this macro to check if the client side of the Level Control cluster is included
-#define ZCL_USING_LEVEL_CONTROL_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_LEVEL_CONTROL_CLIENT
-
-// Use this macro to check if the client side of the Low Power cluster is included
-#define ZCL_USING_LOW_POWER_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_LOW_POWER_CLIENT
-
-// Use this macro to check if the client side of the Media Input cluster is included
-#define ZCL_USING_MEDIA_INPUT_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_MEDIA_INPUT_CLIENT
-
-// Use this macro to check if the client side of the Media Playback cluster is included
-#define ZCL_USING_MEDIA_PLAYBACK_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_MEDIA_PLAYBACK_CLIENT
-
-// Use this macro to check if the client side of the Network Commissioning cluster is included
-#define ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING_CLIENT
-
-// Use this macro to check if the client side of the On/off cluster is included
-#define ZCL_USING_ON_OFF_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_ON_OFF_CLIENT
-
-// Use this macro to check if the client side of the Operational Credentials cluster is included
-#define ZCL_USING_OPERATIONAL_CREDENTIALS_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_OPERATIONAL_CREDENTIALS_CLIENT
-
-// Use this macro to check if the client side of the Pump Configuration and Control cluster is included
-#define ZCL_USING_PUMP_CONFIG_CONTROL_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_PUMP_CONFIGURATION_AND_CONTROL_CLIENT
-
-// Use this macro to check if the client side of the Scenes cluster is included
-#define ZCL_USING_SCENES_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_SCENES_CLIENT
-
-// Use this macro to check if the client side of the Switch cluster is included
-#define ZCL_USING_SWITCH_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_SWITCH_CLIENT
-
-// Use this macro to check if the client side of the TV Channel cluster is included
-#define ZCL_USING_TV_CHANNEL_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_TV_CHANNEL_CLIENT
-
-// Use this macro to check if the client side of the Target Navigator cluster is included
-#define ZCL_USING_TARGET_NAVIGATOR_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_TARGET_NAVIGATOR_CLIENT
-
-// Use this macro to check if the client side of the Temperature Measurement cluster is included
-#define ZCL_USING_TEMP_MEASUREMENT_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_TEMPERATURE_MEASUREMENT_CLIENT
-
-// Use this macro to check if the client side of the Test Cluster cluster is included
-#define ZCL_USING_TEST_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_TEST_CLUSTER_CLIENT
-
-// Use this macro to check if the client side of the Thermostat cluster is included
-#define ZCL_USING_THERMOSTAT_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_THERMOSTAT_CLIENT
-
-// Use this macro to check if the client side of the Wake on LAN cluster is included
-#define ZCL_USING_WAKE_ON_LAN_CLUSTER_CLIENT
-#define EMBER_AF_PLUGIN_WAKE_ON_LAN_CLIENT
diff --git a/examples/chip-tool/gen/gen_tokens.h b/examples/chip-tool/gen/gen_tokens.h
deleted file mode 100644
index 860bf57..0000000
--- a/examples/chip-tool/gen/gen_tokens.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// This file contains the tokens for attributes stored in flash
-
-// Identifier tags for tokens
-
-// Types for the tokens
-#ifdef DEFINETYPES
-#endif // DEFINETYPES
-
-// Actual token definitions
-#ifdef DEFINETOKENS
-#endif // DEFINETOKENS
-
-// Macro snippet that loads all the attributes from tokens
-#define GENERATED_TOKEN_LOADER(endpoint) \
- do \
- { \
- } while (false)
-
-// Macro snippet that saves the attribute to token
-#define GENERATED_TOKEN_SAVER \
- do \
- { \
- } while (false)
diff --git a/examples/chip-tool/gen/print-cluster.h b/examples/chip-tool/gen/print-cluster.h
deleted file mode 100644
index bda8e89..0000000
--- a/examples/chip-tool/gen/print-cluster.h
+++ /dev/null
@@ -1,1054 +0,0 @@
-/*
- *
- * Copyright (c) 2021 Project CHIP Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-// This is the mapping of IDs to cluster names assuming a format according
-// to the "EmberAfClusterName" defined in the ZCL header.
-// The names of clusters that are not present, are removed.
-
-#if defined(ZCL_USING_POWER_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_POWER_CONFIG_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_POWER_CONFIG_CLUSTER { ZCL_POWER_CONFIG_CLUSTER_ID, 1, "Power Configuration" },
-#else
-#define CHIP_PRINTCLUSTER_POWER_CONFIG_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DEVICE_TEMP_CLUSTER_SERVER) || defined(ZCL_USING_DEVICE_TEMP_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DEVICE_TEMP_CLUSTER { ZCL_DEVICE_TEMP_CLUSTER_ID, 2, "Device Temperature Configuration" },
-#else
-#define CHIP_PRINTCLUSTER_DEVICE_TEMP_CLUSTER
-#endif
-
-#if defined(ZCL_USING_IDENTIFY_CLUSTER_SERVER) || defined(ZCL_USING_IDENTIFY_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_IDENTIFY_CLUSTER { ZCL_IDENTIFY_CLUSTER_ID, 3, "Identify" },
-#else
-#define CHIP_PRINTCLUSTER_IDENTIFY_CLUSTER
-#endif
-
-#if defined(ZCL_USING_GROUPS_CLUSTER_SERVER) || defined(ZCL_USING_GROUPS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_GROUPS_CLUSTER { ZCL_GROUPS_CLUSTER_ID, 4, "Groups" },
-#else
-#define CHIP_PRINTCLUSTER_GROUPS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SCENES_CLUSTER_SERVER) || defined(ZCL_USING_SCENES_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SCENES_CLUSTER { ZCL_SCENES_CLUSTER_ID, 5, "Scenes" },
-#else
-#define CHIP_PRINTCLUSTER_SCENES_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ON_OFF_CLUSTER_SERVER) || defined(ZCL_USING_ON_OFF_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ON_OFF_CLUSTER { ZCL_ON_OFF_CLUSTER_ID, 6, "On/off" },
-#else
-#define CHIP_PRINTCLUSTER_ON_OFF_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ON_OFF_SWITCH_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_ON_OFF_SWITCH_CONFIG_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ON_OFF_SWITCH_CONFIG_CLUSTER { ZCL_ON_OFF_SWITCH_CONFIG_CLUSTER_ID, 7, "On/off Switch Configuration" },
-#else
-#define CHIP_PRINTCLUSTER_ON_OFF_SWITCH_CONFIG_CLUSTER
-#endif
-
-#if defined(ZCL_USING_LEVEL_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_LEVEL_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_LEVEL_CONTROL_CLUSTER { ZCL_LEVEL_CONTROL_CLUSTER_ID, 8, "Level Control" },
-#else
-#define CHIP_PRINTCLUSTER_LEVEL_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ALARM_CLUSTER_SERVER) || defined(ZCL_USING_ALARM_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ALARM_CLUSTER { ZCL_ALARM_CLUSTER_ID, 9, "Alarms" },
-#else
-#define CHIP_PRINTCLUSTER_ALARM_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TIME_CLUSTER_SERVER) || defined(ZCL_USING_TIME_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TIME_CLUSTER { ZCL_TIME_CLUSTER_ID, 10, "Time" },
-#else
-#define CHIP_PRINTCLUSTER_TIME_CLUSTER
-#endif
-
-#if defined(ZCL_USING_RSSI_LOCATION_CLUSTER_SERVER) || defined(ZCL_USING_RSSI_LOCATION_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_RSSI_LOCATION_CLUSTER { ZCL_RSSI_LOCATION_CLUSTER_ID, 11, "RSSI Location" },
-#else
-#define CHIP_PRINTCLUSTER_RSSI_LOCATION_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BINARY_INPUT_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_BINARY_INPUT_BASIC_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BINARY_INPUT_BASIC_CLUSTER { ZCL_BINARY_INPUT_BASIC_CLUSTER_ID, 15, "Binary Input (Basic)" },
-#else
-#define CHIP_PRINTCLUSTER_BINARY_INPUT_BASIC_CLUSTER
-#endif
-
-#if defined(ZCL_USING_COMMISSIONING_CLUSTER_SERVER) || defined(ZCL_USING_COMMISSIONING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_COMMISSIONING_CLUSTER { ZCL_COMMISSIONING_CLUSTER_ID, 21, "Commissioning" },
-#else
-#define CHIP_PRINTCLUSTER_COMMISSIONING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_PARTITION_CLUSTER_SERVER) || defined(ZCL_USING_PARTITION_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_PARTITION_CLUSTER { ZCL_PARTITION_CLUSTER_ID, 22, "Partition" },
-#else
-#define CHIP_PRINTCLUSTER_PARTITION_CLUSTER
-#endif
-
-#if defined(ZCL_USING_OTA_BOOTLOAD_CLUSTER_SERVER) || defined(ZCL_USING_OTA_BOOTLOAD_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OTA_BOOTLOAD_CLUSTER { ZCL_OTA_BOOTLOAD_CLUSTER_ID, 25, "Over the Air Bootloading" },
-#else
-#define CHIP_PRINTCLUSTER_OTA_BOOTLOAD_CLUSTER
-#endif
-
-#if defined(ZCL_USING_POWER_PROFILE_CLUSTER_SERVER) || defined(ZCL_USING_POWER_PROFILE_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_POWER_PROFILE_CLUSTER { ZCL_POWER_PROFILE_CLUSTER_ID, 26, "Power Profile" },
-#else
-#define CHIP_PRINTCLUSTER_POWER_PROFILE_CLUSTER
-#endif
-
-#if defined(ZCL_USING_APPLIANCE_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_APPLIANCE_CONTROL_CLUSTER { ZCL_APPLIANCE_CONTROL_CLUSTER_ID, 27, "Appliance Control" },
-#else
-#define CHIP_PRINTCLUSTER_APPLIANCE_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DESCRIPTOR_CLUSTER_SERVER) || defined(ZCL_USING_DESCRIPTOR_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DESCRIPTOR_CLUSTER { ZCL_DESCRIPTOR_CLUSTER_ID, 29, "Descriptor" },
-#else
-#define CHIP_PRINTCLUSTER_DESCRIPTOR_CLUSTER
-#endif
-
-#if defined(ZCL_USING_POLL_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_POLL_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_POLL_CONTROL_CLUSTER { ZCL_POLL_CONTROL_CLUSTER_ID, 32, "Poll Control" },
-#else
-#define CHIP_PRINTCLUSTER_POLL_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_GREEN_POWER_CLUSTER_SERVER) || defined(ZCL_USING_GREEN_POWER_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_GREEN_POWER_CLUSTER { ZCL_GREEN_POWER_CLUSTER_ID, 33, "Green Power" },
-#else
-#define CHIP_PRINTCLUSTER_GREEN_POWER_CLUSTER
-#endif
-
-#if defined(ZCL_USING_KEEPALIVE_CLUSTER_SERVER) || defined(ZCL_USING_KEEPALIVE_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_KEEPALIVE_CLUSTER { ZCL_KEEPALIVE_CLUSTER_ID, 37, "Keep-Alive" },
-#else
-#define CHIP_PRINTCLUSTER_KEEPALIVE_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BASIC_CLUSTER_SERVER) || defined(ZCL_USING_BASIC_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BASIC_CLUSTER { ZCL_BASIC_CLUSTER_ID, 40, "Basic" },
-#else
-#define CHIP_PRINTCLUSTER_BASIC_CLUSTER
-#endif
-
-#if defined(ZCL_USING_OTA_SERVER_CLUSTER_SERVER) || defined(ZCL_USING_OTA_SERVER_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OTA_SERVER_CLUSTER { ZCL_OTA_SERVER_CLUSTER_ID, 41, "OTA Software Update Server" },
-#else
-#define CHIP_PRINTCLUSTER_OTA_SERVER_CLUSTER
-#endif
-
-#if defined(ZCL_USING_OTA_CLIENT_CLUSTER_SERVER) || defined(ZCL_USING_OTA_CLIENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OTA_CLIENT_CLUSTER { ZCL_OTA_CLIENT_CLUSTER_ID, 42, "OTA Software Update Client" },
-#else
-#define CHIP_PRINTCLUSTER_OTA_CLIENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_SERVER) || defined(ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_GENERAL_COMMISSIONING_CLUSTER { ZCL_GENERAL_COMMISSIONING_CLUSTER_ID, 48, "General Commissioning" },
-#else
-#define CHIP_PRINTCLUSTER_GENERAL_COMMISSIONING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_SERVER) || defined(ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_NETWORK_COMMISSIONING_CLUSTER { ZCL_NETWORK_COMMISSIONING_CLUSTER_ID, 49, "Network Commissioning" },
-#else
-#define CHIP_PRINTCLUSTER_NETWORK_COMMISSIONING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_GENERAL_DIAGNOSTICS_CLUSTER_SERVER) || defined(ZCL_USING_GENERAL_DIAGNOSTICS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_GENERAL_DIAGNOSTICS_CLUSTER { ZCL_GENERAL_DIAGNOSTICS_CLUSTER_ID, 51, "General Diagnostics" },
-#else
-#define CHIP_PRINTCLUSTER_GENERAL_DIAGNOSTICS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_SERVER) || defined(ZCL_USING_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_THREAD_NETWORK_DIAGNOSTICS_CLUSTER \
- { ZCL_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_ID, 53, "Thread Network Diagnostics" },
-#else
-#define CHIP_PRINTCLUSTER_THREAD_NETWORK_DIAGNOSTICS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER) || defined(ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_WIFI_NETWORK_DIAGNOSTICS_CLUSTER \
- { ZCL_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_ID, 54, "WiFi Network Diagnostics" },
-#else
-#define CHIP_PRINTCLUSTER_WIFI_NETWORK_DIAGNOSTICS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_SERVER) || defined(ZCL_USING_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER \
- { ZCL_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_ID, 55, "Ethernet Network Diagnostics" },
-#else
-#define CHIP_PRINTCLUSTER_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SWITCH_CLUSTER_SERVER) || defined(ZCL_USING_SWITCH_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SWITCH_CLUSTER { ZCL_SWITCH_CLUSTER_ID, 59, "Switch" },
-#else
-#define CHIP_PRINTCLUSTER_SWITCH_CLUSTER
-#endif
-
-#if defined(ZCL_USING_OPERATIONAL_CREDENTIALS_CLUSTER_SERVER) || defined(ZCL_USING_OPERATIONAL_CREDENTIALS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OPERATIONAL_CREDENTIALS_CLUSTER { ZCL_OPERATIONAL_CREDENTIALS_CLUSTER_ID, 62, "Operational Credentials" },
-#else
-#define CHIP_PRINTCLUSTER_OPERATIONAL_CREDENTIALS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TRUSTED_ROOT_CERTIFICATES_CLUSTER_SERVER) || defined(ZCL_USING_TRUSTED_ROOT_CERTIFICATES_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TRUSTED_ROOT_CERTIFICATES_CLUSTER \
- { ZCL_TRUSTED_ROOT_CERTIFICATES_CLUSTER_ID, 63, "Trusted Root Certificates" },
-#else
-#define CHIP_PRINTCLUSTER_TRUSTED_ROOT_CERTIFICATES_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SHADE_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_SHADE_CONFIG_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER { ZCL_SHADE_CONFIG_CLUSTER_ID, 256, "Shade Configuration" },
-#else
-#define CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DOOR_LOCK_CLUSTER_SERVER) || defined(ZCL_USING_DOOR_LOCK_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DOOR_LOCK_CLUSTER { ZCL_DOOR_LOCK_CLUSTER_ID, 257, "Door Lock" },
-#else
-#define CHIP_PRINTCLUSTER_DOOR_LOCK_CLUSTER
-#endif
-
-#if defined(ZCL_USING_WINDOW_COVERING_CLUSTER_SERVER) || defined(ZCL_USING_WINDOW_COVERING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_WINDOW_COVERING_CLUSTER { ZCL_WINDOW_COVERING_CLUSTER_ID, 258, "Window Covering" },
-#else
-#define CHIP_PRINTCLUSTER_WINDOW_COVERING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BARRIER_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_BARRIER_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BARRIER_CONTROL_CLUSTER { ZCL_BARRIER_CONTROL_CLUSTER_ID, 259, "Barrier Control" },
-#else
-#define CHIP_PRINTCLUSTER_BARRIER_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_PUMP_CONFIG_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_PUMP_CONFIG_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_PUMP_CONFIG_CONTROL_CLUSTER { ZCL_PUMP_CONFIG_CONTROL_CLUSTER_ID, 512, "Pump Configuration and Control" },
-#else
-#define CHIP_PRINTCLUSTER_PUMP_CONFIG_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_THERMOSTAT_CLUSTER_SERVER) || defined(ZCL_USING_THERMOSTAT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_THERMOSTAT_CLUSTER { ZCL_THERMOSTAT_CLUSTER_ID, 513, "Thermostat" },
-#else
-#define CHIP_PRINTCLUSTER_THERMOSTAT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_FAN_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_FAN_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_FAN_CONTROL_CLUSTER { ZCL_FAN_CONTROL_CLUSTER_ID, 514, "Fan Control" },
-#else
-#define CHIP_PRINTCLUSTER_FAN_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DEHUMID_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_DEHUMID_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DEHUMID_CONTROL_CLUSTER { ZCL_DEHUMID_CONTROL_CLUSTER_ID, 515, "Dehumidification Control" },
-#else
-#define CHIP_PRINTCLUSTER_DEHUMID_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_THERMOSTAT_UI_CONFIG_CLUSTER_SERVER) || defined(ZCL_USING_THERMOSTAT_UI_CONFIG_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_THERMOSTAT_UI_CONFIG_CLUSTER \
- { ZCL_THERMOSTAT_UI_CONFIG_CLUSTER_ID, 516, "Thermostat User Interface Configuration" },
-#else
-#define CHIP_PRINTCLUSTER_THERMOSTAT_UI_CONFIG_CLUSTER
-#endif
-
-#if defined(ZCL_USING_COLOR_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_COLOR_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_COLOR_CONTROL_CLUSTER { ZCL_COLOR_CONTROL_CLUSTER_ID, 768, "Color Control" },
-#else
-#define CHIP_PRINTCLUSTER_COLOR_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BALLAST_CONFIGURATION_CLUSTER_SERVER) || defined(ZCL_USING_BALLAST_CONFIGURATION_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BALLAST_CONFIGURATION_CLUSTER { ZCL_BALLAST_CONFIGURATION_CLUSTER_ID, 769, "Ballast Configuration" },
-#else
-#define CHIP_PRINTCLUSTER_BALLAST_CONFIGURATION_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ILLUM_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_ILLUM_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ILLUM_MEASUREMENT_CLUSTER { ZCL_ILLUM_MEASUREMENT_CLUSTER_ID, 1024, "Illuminance Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_ILLUM_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ILLUM_LEVEL_SENSING_CLUSTER_SERVER) || defined(ZCL_USING_ILLUM_LEVEL_SENSING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ILLUM_LEVEL_SENSING_CLUSTER { ZCL_ILLUM_LEVEL_SENSING_CLUSTER_ID, 1025, "Illuminance Level Sensing" },
-#else
-#define CHIP_PRINTCLUSTER_ILLUM_LEVEL_SENSING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TEMP_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_TEMP_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TEMP_MEASUREMENT_CLUSTER { ZCL_TEMP_MEASUREMENT_CLUSTER_ID, 1026, "Temperature Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_TEMP_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_PRESSURE_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_PRESSURE_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_PRESSURE_MEASUREMENT_CLUSTER { ZCL_PRESSURE_MEASUREMENT_CLUSTER_ID, 1027, "Pressure Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_PRESSURE_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_FLOW_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_FLOW_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_FLOW_MEASUREMENT_CLUSTER { ZCL_FLOW_MEASUREMENT_CLUSTER_ID, 1028, "Flow Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_FLOW_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER \
- { ZCL_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_ID, 1029, "Relative Humidity Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_OCCUPANCY_SENSING_CLUSTER_SERVER) || defined(ZCL_USING_OCCUPANCY_SENSING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OCCUPANCY_SENSING_CLUSTER { ZCL_OCCUPANCY_SENSING_CLUSTER_ID, 1030, "Occupancy Sensing" },
-#else
-#define CHIP_PRINTCLUSTER_OCCUPANCY_SENSING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1036, "Carbon Monoxide Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1037, "Carbon Dioxide Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1038, "Ethylene Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1039, "Ethylene Oxide Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1040, "Hydrogen Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1041, "Hydrogen Sulphide Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1042, "Nitric Oxide Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1043, "Nitrogen Dioxide Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1044, "Oxygen Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1045, "Ozone Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1046, "Sulfur Dioxide Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1047, "Dissolved Oxygen Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1048, "Bromate Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1049, "Chloramines Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1050, "Chlorine Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1051, \
- "Fecal coliform and E. Coli Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1052, "Fluoride Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1053, "Haloacetic Acids Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1054, "Total Trihalomethanes Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1055, "Total Coliform Bacteria Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1056, "Turbidity Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1057, "Copper Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1058, "Lead Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1059, "Manganese Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1060, "Sulfate Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1061, "Bromodichloromethane Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1062, "Bromoform Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1063, "Chlorodibromomethane Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1064, "Chloroform Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER) || \
- defined(ZCL_USING_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER \
- { ZCL_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_ID, 1065, "Sodium Concentration Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_IAS_ZONE_CLUSTER_SERVER) || defined(ZCL_USING_IAS_ZONE_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_IAS_ZONE_CLUSTER { ZCL_IAS_ZONE_CLUSTER_ID, 1280, "IAS Zone" },
-#else
-#define CHIP_PRINTCLUSTER_IAS_ZONE_CLUSTER
-#endif
-
-#if defined(ZCL_USING_IAS_ACE_CLUSTER_SERVER) || defined(ZCL_USING_IAS_ACE_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_IAS_ACE_CLUSTER { ZCL_IAS_ACE_CLUSTER_ID, 1281, "IAS ACE" },
-#else
-#define CHIP_PRINTCLUSTER_IAS_ACE_CLUSTER
-#endif
-
-#if defined(ZCL_USING_IAS_WD_CLUSTER_SERVER) || defined(ZCL_USING_IAS_WD_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_IAS_WD_CLUSTER { ZCL_IAS_WD_CLUSTER_ID, 1282, "IAS WD" },
-#else
-#define CHIP_PRINTCLUSTER_IAS_WD_CLUSTER
-#endif
-
-#if defined(ZCL_USING_WAKE_ON_LAN_CLUSTER_SERVER) || defined(ZCL_USING_WAKE_ON_LAN_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_WAKE_ON_LAN_CLUSTER { ZCL_WAKE_ON_LAN_CLUSTER_ID, 1283, "Wake on LAN" },
-#else
-#define CHIP_PRINTCLUSTER_WAKE_ON_LAN_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TV_CHANNEL_CLUSTER_SERVER) || defined(ZCL_USING_TV_CHANNEL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TV_CHANNEL_CLUSTER { ZCL_TV_CHANNEL_CLUSTER_ID, 1284, "TV Channel" },
-#else
-#define CHIP_PRINTCLUSTER_TV_CHANNEL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TARGET_NAVIGATOR_CLUSTER_SERVER) || defined(ZCL_USING_TARGET_NAVIGATOR_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TARGET_NAVIGATOR_CLUSTER { ZCL_TARGET_NAVIGATOR_CLUSTER_ID, 1285, "Target Navigator" },
-#else
-#define CHIP_PRINTCLUSTER_TARGET_NAVIGATOR_CLUSTER
-#endif
-
-#if defined(ZCL_USING_MEDIA_PLAYBACK_CLUSTER_SERVER) || defined(ZCL_USING_MEDIA_PLAYBACK_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_MEDIA_PLAYBACK_CLUSTER { ZCL_MEDIA_PLAYBACK_CLUSTER_ID, 1286, "Media Playback" },
-#else
-#define CHIP_PRINTCLUSTER_MEDIA_PLAYBACK_CLUSTER
-#endif
-
-#if defined(ZCL_USING_MEDIA_INPUT_CLUSTER_SERVER) || defined(ZCL_USING_MEDIA_INPUT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_MEDIA_INPUT_CLUSTER { ZCL_MEDIA_INPUT_CLUSTER_ID, 1287, "Media Input" },
-#else
-#define CHIP_PRINTCLUSTER_MEDIA_INPUT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_LOW_POWER_CLUSTER_SERVER) || defined(ZCL_USING_LOW_POWER_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_LOW_POWER_CLUSTER { ZCL_LOW_POWER_CLUSTER_ID, 1288, "Low Power" },
-#else
-#define CHIP_PRINTCLUSTER_LOW_POWER_CLUSTER
-#endif
-
-#if defined(ZCL_USING_KEYPAD_INPUT_CLUSTER_SERVER) || defined(ZCL_USING_KEYPAD_INPUT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_KEYPAD_INPUT_CLUSTER { ZCL_KEYPAD_INPUT_CLUSTER_ID, 1289, "Keypad Input" },
-#else
-#define CHIP_PRINTCLUSTER_KEYPAD_INPUT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CONTENT_LAUNCH_CLUSTER_SERVER) || defined(ZCL_USING_CONTENT_LAUNCH_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER { ZCL_CONTENT_LAUNCH_CLUSTER_ID, 1290, "Content Launch" },
-#else
-#define CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER
-#endif
-
-#if defined(ZCL_USING_AUDIO_OUTPUT_CLUSTER_SERVER) || defined(ZCL_USING_AUDIO_OUTPUT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_AUDIO_OUTPUT_CLUSTER { ZCL_AUDIO_OUTPUT_CLUSTER_ID, 1291, "Audio Output" },
-#else
-#define CHIP_PRINTCLUSTER_AUDIO_OUTPUT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_APPLICATION_LAUNCHER_CLUSTER_SERVER) || defined(ZCL_USING_APPLICATION_LAUNCHER_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_APPLICATION_LAUNCHER_CLUSTER { ZCL_APPLICATION_LAUNCHER_CLUSTER_ID, 1292, "Application Launcher" },
-#else
-#define CHIP_PRINTCLUSTER_APPLICATION_LAUNCHER_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_ACCOUNT_LOGIN_CLUSTER_SERVER) || defined(ZCL_USING_ACCOUNT_LOGIN_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ACCOUNT_LOGIN_CLUSTER { ZCL_ACCOUNT_LOGIN_CLUSTER_ID, 1294, "Account Login" },
-#else
-#define CHIP_PRINTCLUSTER_ACCOUNT_LOGIN_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TEST_CLUSTER_SERVER) || defined(ZCL_USING_TEST_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TEST_CLUSTER { ZCL_TEST_CLUSTER_ID, 1295, "Test Cluster" },
-#else
-#define CHIP_PRINTCLUSTER_TEST_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
-#define CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BACNET_PROTOCOL_TUNNEL_CLUSTER_SERVER) || defined(ZCL_USING_BACNET_PROTOCOL_TUNNEL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BACNET_PROTOCOL_TUNNEL_CLUSTER { ZCL_BACNET_PROTOCOL_TUNNEL_CLUSTER_ID, 1537, "BACnet Protocol Tunnel" },
-#else
-#define CHIP_PRINTCLUSTER_BACNET_PROTOCOL_TUNNEL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_11073_PROTOCOL_TUNNEL_CLUSTER_SERVER) || defined(ZCL_USING_11073_PROTOCOL_TUNNEL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_11073_PROTOCOL_TUNNEL_CLUSTER { ZCL_11073_PROTOCOL_TUNNEL_CLUSTER_ID, 1556, "11073 Protocol Tunnel" },
-#else
-#define CHIP_PRINTCLUSTER_11073_PROTOCOL_TUNNEL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ISO7816_PROTOCOL_TUNNEL_CLUSTER_SERVER) || defined(ZCL_USING_ISO7816_PROTOCOL_TUNNEL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ISO7816_PROTOCOL_TUNNEL_CLUSTER \
- { ZCL_ISO7816_PROTOCOL_TUNNEL_CLUSTER_ID, 1557, "ISO 7816 Protocol Tunnel" },
-#else
-#define CHIP_PRINTCLUSTER_ISO7816_PROTOCOL_TUNNEL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_PRICE_CLUSTER_SERVER) || defined(ZCL_USING_PRICE_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_PRICE_CLUSTER { ZCL_PRICE_CLUSTER_ID, 1792, "Price" },
-#else
-#define CHIP_PRINTCLUSTER_PRICE_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER \
- { ZCL_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER_ID, 1793, "Demand Response and Load Control" },
-#else
-#define CHIP_PRINTCLUSTER_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SIMPLE_METERING_CLUSTER_SERVER) || defined(ZCL_USING_SIMPLE_METERING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SIMPLE_METERING_CLUSTER { ZCL_SIMPLE_METERING_CLUSTER_ID, 1794, "Simple Metering" },
-#else
-#define CHIP_PRINTCLUSTER_SIMPLE_METERING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_MESSAGING_CLUSTER_SERVER) || defined(ZCL_USING_MESSAGING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_MESSAGING_CLUSTER { ZCL_MESSAGING_CLUSTER_ID, 1795, "Messaging" },
-#else
-#define CHIP_PRINTCLUSTER_MESSAGING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_TUNNELING_CLUSTER_SERVER) || defined(ZCL_USING_TUNNELING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_TUNNELING_CLUSTER { ZCL_TUNNELING_CLUSTER_ID, 1796, "Tunneling" },
-#else
-#define CHIP_PRINTCLUSTER_TUNNELING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_PREPAYMENT_CLUSTER_SERVER) || defined(ZCL_USING_PREPAYMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_PREPAYMENT_CLUSTER { ZCL_PREPAYMENT_CLUSTER_ID, 1797, "Prepayment" },
-#else
-#define CHIP_PRINTCLUSTER_PREPAYMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ENERGY_MANAGEMENT_CLUSTER_SERVER) || defined(ZCL_USING_ENERGY_MANAGEMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ENERGY_MANAGEMENT_CLUSTER { ZCL_ENERGY_MANAGEMENT_CLUSTER_ID, 1798, "Energy Management" },
-#else
-#define CHIP_PRINTCLUSTER_ENERGY_MANAGEMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CALENDAR_CLUSTER_SERVER) || defined(ZCL_USING_CALENDAR_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CALENDAR_CLUSTER { ZCL_CALENDAR_CLUSTER_ID, 1799, "Calendar" },
-#else
-#define CHIP_PRINTCLUSTER_CALENDAR_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DEVICE_MANAGEMENT_CLUSTER_SERVER) || defined(ZCL_USING_DEVICE_MANAGEMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DEVICE_MANAGEMENT_CLUSTER { ZCL_DEVICE_MANAGEMENT_CLUSTER_ID, 1800, "Device Management" },
-#else
-#define CHIP_PRINTCLUSTER_DEVICE_MANAGEMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_EVENTS_CLUSTER_SERVER) || defined(ZCL_USING_EVENTS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_EVENTS_CLUSTER { ZCL_EVENTS_CLUSTER_ID, 1801, "Events" },
-#else
-#define CHIP_PRINTCLUSTER_EVENTS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_MDU_PAIRING_CLUSTER_SERVER) || defined(ZCL_USING_MDU_PAIRING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_MDU_PAIRING_CLUSTER { ZCL_MDU_PAIRING_CLUSTER_ID, 1802, "MDU Pairing" },
-#else
-#define CHIP_PRINTCLUSTER_MDU_PAIRING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SUB_GHZ_CLUSTER_SERVER) || defined(ZCL_USING_SUB_GHZ_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SUB_GHZ_CLUSTER { ZCL_SUB_GHZ_CLUSTER_ID, 1803, "Sub-GHz" },
-#else
-#define CHIP_PRINTCLUSTER_SUB_GHZ_CLUSTER
-#endif
-
-#if defined(ZCL_USING_KEY_ESTABLISHMENT_CLUSTER_SERVER) || defined(ZCL_USING_KEY_ESTABLISHMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_KEY_ESTABLISHMENT_CLUSTER { ZCL_KEY_ESTABLISHMENT_CLUSTER_ID, 2048, "Key Establishment" },
-#else
-#define CHIP_PRINTCLUSTER_KEY_ESTABLISHMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_INFORMATION_CLUSTER_SERVER) || defined(ZCL_USING_INFORMATION_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_INFORMATION_CLUSTER { ZCL_INFORMATION_CLUSTER_ID, 2304, "Information" },
-#else
-#define CHIP_PRINTCLUSTER_INFORMATION_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DATA_SHARING_CLUSTER_SERVER) || defined(ZCL_USING_DATA_SHARING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DATA_SHARING_CLUSTER { ZCL_DATA_SHARING_CLUSTER_ID, 2305, "Data Sharing" },
-#else
-#define CHIP_PRINTCLUSTER_DATA_SHARING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_GAMING_CLUSTER_SERVER) || defined(ZCL_USING_GAMING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_GAMING_CLUSTER { ZCL_GAMING_CLUSTER_ID, 2306, "Gaming" },
-#else
-#define CHIP_PRINTCLUSTER_GAMING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DATA_RATE_CONTROL_CLUSTER_SERVER) || defined(ZCL_USING_DATA_RATE_CONTROL_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DATA_RATE_CONTROL_CLUSTER { ZCL_DATA_RATE_CONTROL_CLUSTER_ID, 2307, "Data Rate Control" },
-#else
-#define CHIP_PRINTCLUSTER_DATA_RATE_CONTROL_CLUSTER
-#endif
-
-#if defined(ZCL_USING_VOICE_OVER_ZIGBEE_CLUSTER_SERVER) || defined(ZCL_USING_VOICE_OVER_ZIGBEE_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_VOICE_OVER_ZIGBEE_CLUSTER { ZCL_VOICE_OVER_ZIGBEE_CLUSTER_ID, 2308, "Voice over ZigBee" },
-#else
-#define CHIP_PRINTCLUSTER_VOICE_OVER_ZIGBEE_CLUSTER
-#endif
-
-#if defined(ZCL_USING_CHATTING_CLUSTER_SERVER) || defined(ZCL_USING_CHATTING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_CHATTING_CLUSTER { ZCL_CHATTING_CLUSTER_ID, 2309, "Chatting" },
-#else
-#define CHIP_PRINTCLUSTER_CHATTING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_PAYMENT_CLUSTER_SERVER) || defined(ZCL_USING_PAYMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_PAYMENT_CLUSTER { ZCL_PAYMENT_CLUSTER_ID, 2561, "Payment" },
-#else
-#define CHIP_PRINTCLUSTER_PAYMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BILLING_CLUSTER_SERVER) || defined(ZCL_USING_BILLING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BILLING_CLUSTER { ZCL_BILLING_CLUSTER_ID, 2562, "Billing" },
-#else
-#define CHIP_PRINTCLUSTER_BILLING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_APPLIANCE_IDENTIFICATION_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_IDENTIFICATION_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_APPLIANCE_IDENTIFICATION_CLUSTER \
- { ZCL_APPLIANCE_IDENTIFICATION_CLUSTER_ID, 2816, "Appliance Identification" },
-#else
-#define CHIP_PRINTCLUSTER_APPLIANCE_IDENTIFICATION_CLUSTER
-#endif
-
-#if defined(ZCL_USING_METER_IDENTIFICATION_CLUSTER_SERVER) || defined(ZCL_USING_METER_IDENTIFICATION_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_METER_IDENTIFICATION_CLUSTER { ZCL_METER_IDENTIFICATION_CLUSTER_ID, 2817, "Meter Identification" },
-#else
-#define CHIP_PRINTCLUSTER_METER_IDENTIFICATION_CLUSTER
-#endif
-
-#if defined(ZCL_USING_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_APPLIANCE_EVENTS_AND_ALERT_CLUSTER \
- { ZCL_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_ID, 2818, "Appliance Events and Alert" },
-#else
-#define CHIP_PRINTCLUSTER_APPLIANCE_EVENTS_AND_ALERT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_APPLIANCE_STATISTICS_CLUSTER_SERVER) || defined(ZCL_USING_APPLIANCE_STATISTICS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_APPLIANCE_STATISTICS_CLUSTER { ZCL_APPLIANCE_STATISTICS_CLUSTER_ID, 2819, "Appliance Statistics" },
-#else
-#define CHIP_PRINTCLUSTER_APPLIANCE_STATISTICS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ELECTRICAL_MEASUREMENT_CLUSTER_SERVER) || defined(ZCL_USING_ELECTRICAL_MEASUREMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ELECTRICAL_MEASUREMENT_CLUSTER { ZCL_ELECTRICAL_MEASUREMENT_CLUSTER_ID, 2820, "Electrical Measurement" },
-#else
-#define CHIP_PRINTCLUSTER_ELECTRICAL_MEASUREMENT_CLUSTER
-#endif
-
-#if defined(ZCL_USING_DIAGNOSTICS_CLUSTER_SERVER) || defined(ZCL_USING_DIAGNOSTICS_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_DIAGNOSTICS_CLUSTER { ZCL_DIAGNOSTICS_CLUSTER_ID, 2821, "Diagnostics" },
-#else
-#define CHIP_PRINTCLUSTER_DIAGNOSTICS_CLUSTER
-#endif
-
-#if defined(ZCL_USING_ZLL_COMMISSIONING_CLUSTER_SERVER) || defined(ZCL_USING_ZLL_COMMISSIONING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_ZLL_COMMISSIONING_CLUSTER { ZCL_ZLL_COMMISSIONING_CLUSTER_ID, 4096, "ZLL Commissioning" },
-#else
-#define CHIP_PRINTCLUSTER_ZLL_COMMISSIONING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_BINDING_CLUSTER_SERVER) || defined(ZCL_USING_BINDING_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_BINDING_CLUSTER { ZCL_BINDING_CLUSTER_ID, 61440, "Binding" },
-#else
-#define CHIP_PRINTCLUSTER_BINDING_CLUSTER
-#endif
-
-#if defined(ZCL_USING_GROUP_KEY_MANAGEMENT_CLUSTER_SERVER) || defined(ZCL_USING_GROUP_KEY_MANAGEMENT_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_GROUP_KEY_MANAGEMENT_CLUSTER { ZCL_GROUP_KEY_MANAGEMENT_CLUSTER_ID, 61444, "Group Key Management" },
-#else
-#define CHIP_PRINTCLUSTER_GROUP_KEY_MANAGEMENT_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
-#define CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_2_SERVER) || defined(ZCL_USING_SAMPLE_MFG_SPECIFIC_CLUSTER_2_CLIENT)
-#define CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER_2 \
- { ZCL_SAMPLE_MFG_SPECIFIC_CLUSTER_2_ID, 64512, "Sample Mfg Specific Cluster 2" },
-#else
-#define CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER_2
-#endif
-
-#if defined(ZCL_USING_OTA_CONFIGURATION_CLUSTER_SERVER) || defined(ZCL_USING_OTA_CONFIGURATION_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_OTA_CONFIGURATION_CLUSTER { ZCL_OTA_CONFIGURATION_CLUSTER_ID, 64513, "Configuration Cluster" },
-#else
-#define CHIP_PRINTCLUSTER_OTA_CONFIGURATION_CLUSTER
-#endif
-
-#if defined(ZCL_USING_MFGLIB_CLUSTER_SERVER) || defined(ZCL_USING_MFGLIB_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_MFGLIB_CLUSTER { ZCL_MFGLIB_CLUSTER_ID, 64514, "MFGLIB Cluster" },
-#else
-#define CHIP_PRINTCLUSTER_MFGLIB_CLUSTER
-#endif
-
-#if defined(ZCL_USING_SL_WWAH_CLUSTER_SERVER) || defined(ZCL_USING_SL_WWAH_CLUSTER_CLIENT)
-#define CHIP_PRINTCLUSTER_SL_WWAH_CLUSTER { ZCL_SL_WWAH_CLUSTER_ID, 64599, "SL Works With All Hubs" },
-#else
-#define CHIP_PRINTCLUSTER_SL_WWAH_CLUSTER
-#endif
-
-#define CLUSTER_IDS_TO_NAMES \
- CHIP_PRINTCLUSTER_POWER_CONFIG_CLUSTER \
- CHIP_PRINTCLUSTER_DEVICE_TEMP_CLUSTER \
- CHIP_PRINTCLUSTER_IDENTIFY_CLUSTER \
- CHIP_PRINTCLUSTER_GROUPS_CLUSTER \
- CHIP_PRINTCLUSTER_SCENES_CLUSTER \
- CHIP_PRINTCLUSTER_ON_OFF_CLUSTER \
- CHIP_PRINTCLUSTER_ON_OFF_SWITCH_CONFIG_CLUSTER \
- CHIP_PRINTCLUSTER_LEVEL_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_ALARM_CLUSTER \
- CHIP_PRINTCLUSTER_TIME_CLUSTER \
- CHIP_PRINTCLUSTER_RSSI_LOCATION_CLUSTER \
- CHIP_PRINTCLUSTER_BINARY_INPUT_BASIC_CLUSTER \
- CHIP_PRINTCLUSTER_COMMISSIONING_CLUSTER \
- CHIP_PRINTCLUSTER_PARTITION_CLUSTER \
- CHIP_PRINTCLUSTER_OTA_BOOTLOAD_CLUSTER \
- CHIP_PRINTCLUSTER_POWER_PROFILE_CLUSTER \
- CHIP_PRINTCLUSTER_APPLIANCE_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_DESCRIPTOR_CLUSTER \
- CHIP_PRINTCLUSTER_POLL_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_GREEN_POWER_CLUSTER \
- CHIP_PRINTCLUSTER_KEEPALIVE_CLUSTER \
- CHIP_PRINTCLUSTER_BASIC_CLUSTER \
- CHIP_PRINTCLUSTER_OTA_SERVER_CLUSTER \
- CHIP_PRINTCLUSTER_OTA_CLIENT_CLUSTER \
- CHIP_PRINTCLUSTER_GENERAL_COMMISSIONING_CLUSTER \
- CHIP_PRINTCLUSTER_NETWORK_COMMISSIONING_CLUSTER \
- CHIP_PRINTCLUSTER_GENERAL_DIAGNOSTICS_CLUSTER \
- CHIP_PRINTCLUSTER_THREAD_NETWORK_DIAGNOSTICS_CLUSTER \
- CHIP_PRINTCLUSTER_WIFI_NETWORK_DIAGNOSTICS_CLUSTER \
- CHIP_PRINTCLUSTER_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER \
- CHIP_PRINTCLUSTER_SWITCH_CLUSTER \
- CHIP_PRINTCLUSTER_OPERATIONAL_CREDENTIALS_CLUSTER \
- CHIP_PRINTCLUSTER_TRUSTED_ROOT_CERTIFICATES_CLUSTER \
- CHIP_PRINTCLUSTER_SHADE_CONFIG_CLUSTER \
- CHIP_PRINTCLUSTER_DOOR_LOCK_CLUSTER \
- CHIP_PRINTCLUSTER_WINDOW_COVERING_CLUSTER \
- CHIP_PRINTCLUSTER_BARRIER_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_PUMP_CONFIG_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_THERMOSTAT_CLUSTER \
- CHIP_PRINTCLUSTER_FAN_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_DEHUMID_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_THERMOSTAT_UI_CONFIG_CLUSTER \
- CHIP_PRINTCLUSTER_COLOR_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_BALLAST_CONFIGURATION_CLUSTER \
- CHIP_PRINTCLUSTER_ILLUM_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_ILLUM_LEVEL_SENSING_CLUSTER \
- CHIP_PRINTCLUSTER_TEMP_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_PRESSURE_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_FLOW_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_OCCUPANCY_SENSING_CLUSTER \
- CHIP_PRINTCLUSTER_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_IAS_ZONE_CLUSTER \
- CHIP_PRINTCLUSTER_IAS_ACE_CLUSTER \
- CHIP_PRINTCLUSTER_IAS_WD_CLUSTER \
- CHIP_PRINTCLUSTER_WAKE_ON_LAN_CLUSTER \
- CHIP_PRINTCLUSTER_TV_CHANNEL_CLUSTER \
- CHIP_PRINTCLUSTER_TARGET_NAVIGATOR_CLUSTER \
- CHIP_PRINTCLUSTER_MEDIA_PLAYBACK_CLUSTER \
- CHIP_PRINTCLUSTER_MEDIA_INPUT_CLUSTER \
- CHIP_PRINTCLUSTER_LOW_POWER_CLUSTER \
- CHIP_PRINTCLUSTER_KEYPAD_INPUT_CLUSTER \
- CHIP_PRINTCLUSTER_CONTENT_LAUNCH_CLUSTER \
- CHIP_PRINTCLUSTER_AUDIO_OUTPUT_CLUSTER \
- CHIP_PRINTCLUSTER_APPLICATION_LAUNCHER_CLUSTER \
- CHIP_PRINTCLUSTER_APPLICATION_BASIC_CLUSTER \
- CHIP_PRINTCLUSTER_ACCOUNT_LOGIN_CLUSTER \
- CHIP_PRINTCLUSTER_TEST_CLUSTER \
- CHIP_PRINTCLUSTER_GENERIC_TUNNEL_CLUSTER \
- CHIP_PRINTCLUSTER_BACNET_PROTOCOL_TUNNEL_CLUSTER \
- CHIP_PRINTCLUSTER_11073_PROTOCOL_TUNNEL_CLUSTER \
- CHIP_PRINTCLUSTER_ISO7816_PROTOCOL_TUNNEL_CLUSTER \
- CHIP_PRINTCLUSTER_PRICE_CLUSTER \
- CHIP_PRINTCLUSTER_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_SIMPLE_METERING_CLUSTER \
- CHIP_PRINTCLUSTER_MESSAGING_CLUSTER \
- CHIP_PRINTCLUSTER_TUNNELING_CLUSTER \
- CHIP_PRINTCLUSTER_PREPAYMENT_CLUSTER \
- CHIP_PRINTCLUSTER_ENERGY_MANAGEMENT_CLUSTER \
- CHIP_PRINTCLUSTER_CALENDAR_CLUSTER \
- CHIP_PRINTCLUSTER_DEVICE_MANAGEMENT_CLUSTER \
- CHIP_PRINTCLUSTER_EVENTS_CLUSTER \
- CHIP_PRINTCLUSTER_MDU_PAIRING_CLUSTER \
- CHIP_PRINTCLUSTER_SUB_GHZ_CLUSTER \
- CHIP_PRINTCLUSTER_KEY_ESTABLISHMENT_CLUSTER \
- CHIP_PRINTCLUSTER_INFORMATION_CLUSTER \
- CHIP_PRINTCLUSTER_DATA_SHARING_CLUSTER \
- CHIP_PRINTCLUSTER_GAMING_CLUSTER \
- CHIP_PRINTCLUSTER_DATA_RATE_CONTROL_CLUSTER \
- CHIP_PRINTCLUSTER_VOICE_OVER_ZIGBEE_CLUSTER \
- CHIP_PRINTCLUSTER_CHATTING_CLUSTER \
- CHIP_PRINTCLUSTER_PAYMENT_CLUSTER \
- CHIP_PRINTCLUSTER_BILLING_CLUSTER \
- CHIP_PRINTCLUSTER_APPLIANCE_IDENTIFICATION_CLUSTER \
- CHIP_PRINTCLUSTER_METER_IDENTIFICATION_CLUSTER \
- CHIP_PRINTCLUSTER_APPLIANCE_EVENTS_AND_ALERT_CLUSTER \
- CHIP_PRINTCLUSTER_APPLIANCE_STATISTICS_CLUSTER \
- CHIP_PRINTCLUSTER_ELECTRICAL_MEASUREMENT_CLUSTER \
- CHIP_PRINTCLUSTER_DIAGNOSTICS_CLUSTER \
- CHIP_PRINTCLUSTER_ZLL_COMMISSIONING_CLUSTER \
- CHIP_PRINTCLUSTER_BINDING_CLUSTER \
- CHIP_PRINTCLUSTER_GROUP_KEY_MANAGEMENT_CLUSTER \
- CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER \
- CHIP_PRINTCLUSTER_SAMPLE_MFG_SPECIFIC_CLUSTER_2 \
- CHIP_PRINTCLUSTER_OTA_CONFIGURATION_CLUSTER \
- CHIP_PRINTCLUSTER_MFGLIB_CLUSTER \
- CHIP_PRINTCLUSTER_SL_WWAH_CLUSTER
-
-#define MAX_CLUSTER_NAME_LENGTH 52
diff --git a/examples/lighting-app/lighting-common/gen/CHIPClusters.cpp b/examples/lighting-app/lighting-common/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/lighting-app/lighting-common/gen/CHIPClusters.cpp
+++ b/examples/lighting-app/lighting-common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/lighting-app/lighting-common/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/lighting-app/lighting-common/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/lighting-app/lighting-common/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/lighting-app/lighting-common/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/lighting-app/lighting-common/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/lighting-app/lighting-common/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/lock-app/lock-common/gen/CHIPClusters.cpp b/examples/lock-app/lock-common/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/lock-app/lock-common/gen/CHIPClusters.cpp
+++ b/examples/lock-app/lock-common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/lock-app/lock-common/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/lock-app/lock-common/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/lock-app/lock-common/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/lock-app/lock-common/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/lock-app/lock-common/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/lock-app/lock-common/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/pump-app/pump-common/gen/CHIPClusters.cpp b/examples/pump-app/pump-common/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/pump-app/pump-common/gen/CHIPClusters.cpp
+++ b/examples/pump-app/pump-common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/pump-app/pump-common/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/pump-app/pump-common/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/pump-app/pump-common/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/pump-app/pump-common/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/pump-app/pump-common/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/pump-app/pump-common/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/pump-controller-app/pump-controller-common/gen/CHIPClusters.cpp b/examples/pump-controller-app/pump-controller-common/gen/CHIPClusters.cpp
index b8f4eef..f632747 100644
--- a/examples/pump-controller-app/pump-controller-common/gen/CHIPClusters.cpp
+++ b/examples/pump-controller-app/pump-controller-common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/pump-controller-app/pump-controller-common/gen/chip-zcl-zpro-codec-api.h b/examples/pump-controller-app/pump-controller-common/gen/chip-zcl-zpro-codec-api.h
new file mode 100644
index 0000000..bc96766
--- /dev/null
+++ b/examples/pump-controller-app/pump-controller-common/gen/chip-zcl-zpro-codec-api.h
@@ -0,0 +1,179 @@
+/*
+ *
+ * Copyright (c) 2021 Project CHIP Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// THIS FILE IS GENERATED BY ZAP
+
+// Prevent multiple inclusion
+#pragma once
+
+#include <app/util/basic-types.h>
+#include <lib/support/Span.h>
+#include <stdint.h>
+#include <system/SystemPacketBuffer.h>
+
+/*----------------------------------------------------------------------------*\
+| Cluster Name | ID |
+|---------------------------------------------------------------------+--------|
+| Basic | 0x0028 |
+| GeneralCommissioning | 0x0030 |
+| NetworkCommissioning | 0x0031 |
+| OnOff | 0x0006 |
+| OperationalCredentials | 0x003E |
+| PumpConfigurationAndControl | 0x0200 |
+| ThreadNetworkDiagnostics | 0x0035 |
+| TrustedRootCertificates | 0x003F |
+\*----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------*\
+| Cluster OnOff | 0x0006 |
+|------------------------------------------------------------------------------|
+| Commands: | |
+| * Off | 0x00 |
+| * On | 0x01 |
+| * Toggle | 0x02 |
+|------------------------------------------------------------------------------|
+| Attributes: | |
+| * OnOff | 0x0000 |
+| * ClusterRevision | 0xFFFD |
+\*----------------------------------------------------------------------------*/
+
+/**
+ * @brief
+ * Encode a On/off server discover command into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle encodeOnOffClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a On/off server read command for the on/off attribute into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle encodeOnOffClusterReadOnOffAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a On/off server configure report command for the on/off attribute into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle encodeOnOffClusterConfigureOnOffAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
+ uint16_t minInterval, uint16_t maxInterval);
+
+/**
+ * @brief
+ * Encode a On/off server read command for the cluster revision attribute into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle encodeOnOffClusterReadClusterRevisionAttribute(uint8_t seqNum,
+ chip::EndpointId destinationEndpoint);
+
+/*----------------------------------------------------------------------------*\
+| Cluster PumpConfigurationAndControl | 0x0200 |
+|------------------------------------------------------------------------------|
+| Commands: | |
+|------------------------------------------------------------------------------|
+| Attributes: | |
+| * MaxPressure | 0x0000 |
+| * MaxSpeed | 0x0001 |
+| * MaxFlow | 0x0002 |
+| * EffectiveOperationMode | 0x0011 |
+| * EffectiveControlMode | 0x0012 |
+| * Capacity | 0x0013 |
+| * OperationMode | 0x0020 |
+| * ClusterRevision | 0xFFFD |
+\*----------------------------------------------------------------------------*/
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server discover command into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle encodePumpConfigurationAndControlClusterDiscoverAttributes(uint8_t seqNum,
+ chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the max pressure attribute into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterReadMaxPressureAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the max speed attribute into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterReadMaxSpeedAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the max flow attribute into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle encodePumpConfigurationAndControlClusterReadMaxFlowAttribute(uint8_t seqNum,
+ chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the effective operation mode attribute into buffer including
+ * the APS frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterReadEffectiveOperationModeAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the effective control mode attribute into buffer including the
+ * APS frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterReadEffectiveControlModeAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the capacity attribute into buffer including the APS frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterReadCapacityAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server configure report command for the capacity attribute into buffer including the
+ * APS frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterConfigureCapacityAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
+ uint16_t minInterval, uint16_t maxInterval, int16_t change);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the operation mode attribute into buffer including the APS
+ * frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterReadOperationModeAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server write command for the operation mode attribute into buffer including the APS
+ * frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterWriteOperationModeAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
+ uint8_t operationMode);
+
+/**
+ * @brief
+ * Encode a Pump Configuration and Control server read command for the cluster revision attribute into buffer including the APS
+ * frame
+ */
+chip::System::PacketBufferHandle
+encodePumpConfigurationAndControlClusterReadClusterRevisionAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
diff --git a/examples/pump-controller-app/pump-controller-common/gen/encoder.cpp b/examples/pump-controller-app/pump-controller-common/gen/encoder.cpp
new file mode 100644
index 0000000..175986f
--- /dev/null
+++ b/examples/pump-controller-app/pump-controller-common/gen/encoder.cpp
@@ -0,0 +1,304 @@
+/*
+ *
+ * Copyright (c) 2021 Project CHIP Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// THIS FILE IS GENERATED BY ZAP
+
+#include <app/chip-zcl-zpro-codec.h>
+
+#include <support/BufferWriter.h>
+#include <support/SafeInt.h>
+#include <support/logging/CHIPLogging.h>
+
+#include <app/util/basic-types.h>
+#include <lib/support/Span.h>
+
+using namespace chip;
+using namespace chip::System;
+using namespace chip::Encoding::LittleEndian;
+
+#define COMMAND_HEADER(name, clusterId) \
+ const char * kName = name; \
+ \
+ PacketBufferWriter buf(System::PacketBufferHandle::New(kMaxBufferSize)); \
+ if (buf.IsNull()) \
+ { \
+ ChipLogError(Zcl, "Could not allocate packet buffer while trying to encode %s command", kName); \
+ return PacketBufferHandle(); \
+ } \
+ \
+ if (doEncodeApsFrame(buf, clusterId, kSourceEndpoint, destinationEndpoint, 0, 0, 0, 0, false)) \
+ {
+
+#define COMMAND_FOOTER() \
+ } \
+ if (!buf.Fit()) \
+ { \
+ ChipLogError(Zcl, "Command %s can't fit in the allocated buffer", kName); \
+ } \
+ return buf.Finalize();
+
+/*----------------------------------------------------------------------------*\
+| Cluster Name | ID |
+|---------------------------------------------------------------------+--------|
+| Basic | 0x0028 |
+| GeneralCommissioning | 0x0030 |
+| NetworkCommissioning | 0x0031 |
+| OnOff | 0x0006 |
+| OperationalCredentials | 0x003E |
+| PumpConfigurationAndControl | 0x0200 |
+| ThreadNetworkDiagnostics | 0x0035 |
+| TrustedRootCertificates | 0x003F |
+\*----------------------------------------------------------------------------*/
+
+#define EMBER_ZCL_REPORTING_DIRECTION_REPORTED 0x00
+
+#define ZCL_READ_ATTRIBUTES_COMMAND_ID (0x00)
+#define ZCL_READ_ATTRIBUTES_RESPONSE_COMMAND_ID (0x01)
+#define ZCL_WRITE_ATTRIBUTES_COMMAND_ID (0x02)
+#define ZCL_WRITE_ATTRIBUTES_UNDIVIDED_COMMAND_ID (0x03)
+#define ZCL_WRITE_ATTRIBUTES_RESPONSE_COMMAND_ID (0x04)
+#define ZCL_WRITE_ATTRIBUTES_NO_RESPONSE_COMMAND_ID (0x05)
+#define ZCL_CONFIGURE_REPORTING_COMMAND_ID (0x06)
+#define ZCL_CONFIGURE_REPORTING_RESPONSE_COMMAND_ID (0x07)
+#define ZCL_READ_REPORTING_CONFIGURATION_COMMAND_ID (0x08)
+#define ZCL_READ_REPORTING_CONFIGURATION_RESPONSE_COMMAND_ID (0x09)
+#define ZCL_REPORT_ATTRIBUTES_COMMAND_ID (0x0A)
+#define ZCL_DEFAULT_RESPONSE_COMMAND_ID (0x0B)
+#define ZCL_DISCOVER_ATTRIBUTES_COMMAND_ID (0x0C)
+#define ZCL_DISCOVER_ATTRIBUTES_RESPONSE_COMMAND_ID (0x0D)
+#define ZCL_READ_ATTRIBUTES_STRUCTURED_COMMAND_ID (0x0E)
+#define ZCL_WRITE_ATTRIBUTES_STRUCTURED_COMMAND_ID (0x0F)
+#define ZCL_WRITE_ATTRIBUTES_STRUCTURED_RESPONSE_COMMAND_ID (0x10)
+#define ZCL_DISCOVER_COMMANDS_RECEIVED_COMMAND_ID (0x11)
+#define ZCL_DISCOVER_COMMANDS_RECEIVED_RESPONSE_COMMAND_ID (0x12)
+#define ZCL_DISCOVER_COMMANDS_GENERATED_COMMAND_ID (0x13)
+#define ZCL_DISCOVER_COMMANDS_GENERATED_RESPONSE_COMMAND_ID (0x14)
+#define ZCL_DISCOVER_ATTRIBUTES_EXTENDED_COMMAND_ID (0x15)
+#define ZCL_DISCOVER_ATTRIBUTES_EXTENDED_RESPONSE_COMMAND_ID (0x16)
+
+#define ON_OFF_CLUSTER_ID 0x0006
+#define ZCL_OFF_COMMAND_ID (0x00)
+#define ZCL_ON_COMMAND_ID (0x01)
+#define ZCL_TOGGLE_COMMAND_ID (0x02)
+
+#define PUMP_CONFIG_CONTROL_CLUSTER_ID 0x0200
+
+// TODO: Find a way to calculate maximum message length for clusters
+// https://github.com/project-chip/connectedhomeip/issues/965
+constexpr uint16_t kMaxBufferSize = 1024;
+
+// This is a global command, so the low bits are 0b00. The command is
+// standard, so does not need a manufacturer code, and we're sending client
+// to server, so all the remaining bits are 0.
+constexpr uint8_t kFrameControlGlobalCommand = 0x00;
+
+// Pick source endpoint as 1 for now
+constexpr EndpointId kSourceEndpoint = 1;
+
+/*----------------------------------------------------------------------------*\
+| Cluster OnOff | 0x0006 |
+|------------------------------------------------------------------------------|
+| Commands: | |
+| * Off | 0x00 |
+| * On | 0x01 |
+| * Toggle | 0x02 |
+|------------------------------------------------------------------------------|
+| Attributes: | |
+| * OnOff | 0x0000 |
+| * ClusterRevision | 0xFFFD |
+\*----------------------------------------------------------------------------*/
+
+PacketBufferHandle encodeOnOffClusterDiscoverAttributes(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("DiscoverOnOffAttributes", ON_OFF_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_DISCOVER_ATTRIBUTES_COMMAND_ID).Put16(0x0000).Put8(0xFF);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute OnOff
+ */
+PacketBufferHandle encodeOnOffClusterReadOnOffAttribute(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadOnOffOnOff", ON_OFF_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0000);
+ COMMAND_FOOTER();
+}
+
+PacketBufferHandle encodeOnOffClusterConfigureOnOffAttribute(uint8_t seqNum, EndpointId destinationEndpoint, uint16_t minInterval,
+ uint16_t maxInterval)
+{
+ COMMAND_HEADER("ReportOnOffOnOff", ON_OFF_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand)
+ .Put8(seqNum)
+ .Put8(ZCL_CONFIGURE_REPORTING_COMMAND_ID)
+ .Put8(EMBER_ZCL_REPORTING_DIRECTION_REPORTED)
+ .Put16(0x0000)
+ .Put8(16)
+ .Put16(minInterval)
+ .Put16(maxInterval);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute ClusterRevision
+ */
+PacketBufferHandle encodeOnOffClusterReadClusterRevisionAttribute(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadOnOffClusterRevision", ON_OFF_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0xFFFD);
+ COMMAND_FOOTER();
+}
+
+/*----------------------------------------------------------------------------*\
+| Cluster PumpConfigurationAndControl | 0x0200 |
+|------------------------------------------------------------------------------|
+| Commands: | |
+|------------------------------------------------------------------------------|
+| Attributes: | |
+| * MaxPressure | 0x0000 |
+| * MaxSpeed | 0x0001 |
+| * MaxFlow | 0x0002 |
+| * EffectiveOperationMode | 0x0011 |
+| * EffectiveControlMode | 0x0012 |
+| * Capacity | 0x0013 |
+| * OperationMode | 0x0020 |
+| * ClusterRevision | 0xFFFD |
+\*----------------------------------------------------------------------------*/
+
+PacketBufferHandle encodePumpConfigurationAndControlClusterDiscoverAttributes(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("DiscoverPumpConfigurationAndControlAttributes", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_DISCOVER_ATTRIBUTES_COMMAND_ID).Put16(0x0000).Put8(0xFF);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute MaxPressure
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadMaxPressureAttribute(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlMaxPressure", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0000);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute MaxSpeed
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadMaxSpeedAttribute(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlMaxSpeed", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0001);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute MaxFlow
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadMaxFlowAttribute(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlMaxFlow", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0002);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute EffectiveOperationMode
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadEffectiveOperationModeAttribute(uint8_t seqNum,
+ EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlEffectiveOperationMode", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0011);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute EffectiveControlMode
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadEffectiveControlModeAttribute(uint8_t seqNum,
+ EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlEffectiveControlMode", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0012);
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute Capacity
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadCapacityAttribute(uint8_t seqNum, EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlCapacity", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0013);
+ COMMAND_FOOTER();
+}
+
+PacketBufferHandle encodePumpConfigurationAndControlClusterConfigureCapacityAttribute(uint8_t seqNum,
+ EndpointId destinationEndpoint,
+ uint16_t minInterval, uint16_t maxInterval,
+ int16_t change)
+{
+ COMMAND_HEADER("ReportPumpConfigurationAndControlCapacity", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand)
+ .Put8(seqNum)
+ .Put8(ZCL_CONFIGURE_REPORTING_COMMAND_ID)
+ .Put8(EMBER_ZCL_REPORTING_DIRECTION_REPORTED)
+ .Put16(0x0013)
+ .Put8(41)
+ .Put16(minInterval)
+ .Put16(maxInterval);
+ buf.Put16(static_cast<uint16_t>(change));
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute OperationMode
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadOperationModeAttribute(uint8_t seqNum,
+ EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlOperationMode", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0x0020);
+ COMMAND_FOOTER();
+}
+
+PacketBufferHandle encodePumpConfigurationAndControlClusterWriteOperationModeAttribute(uint8_t seqNum,
+ EndpointId destinationEndpoint,
+ uint8_t operationMode)
+{
+ COMMAND_HEADER("WritePumpConfigurationAndControlOperationMode", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand)
+ .Put8(seqNum)
+ .Put8(ZCL_WRITE_ATTRIBUTES_COMMAND_ID)
+ .Put16(0x0020)
+ .Put8(48)
+ .Put8(static_cast<uint8_t>(operationMode));
+ COMMAND_FOOTER();
+}
+
+/*
+ * Attribute ClusterRevision
+ */
+PacketBufferHandle encodePumpConfigurationAndControlClusterReadClusterRevisionAttribute(uint8_t seqNum,
+ EndpointId destinationEndpoint)
+{
+ COMMAND_HEADER("ReadPumpConfigurationAndControlClusterRevision", PUMP_CONFIG_CONTROL_CLUSTER_ID);
+ buf.Put8(kFrameControlGlobalCommand).Put8(seqNum).Put8(ZCL_READ_ATTRIBUTES_COMMAND_ID).Put16(0xFFFD);
+ COMMAND_FOOTER();
+}
diff --git a/examples/temperature-measurement-app/esp32/main/gen/CHIPClusters.cpp b/examples/temperature-measurement-app/esp32/main/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/temperature-measurement-app/esp32/main/gen/CHIPClusters.cpp
+++ b/examples/temperature-measurement-app/esp32/main/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/temperature-measurement-app/esp32/main/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/temperature-measurement-app/esp32/main/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/temperature-measurement-app/esp32/main/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/temperature-measurement-app/esp32/main/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/temperature-measurement-app/esp32/main/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/temperature-measurement-app/esp32/main/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/tv-app/tv-common/BUILD.gn b/examples/tv-app/tv-common/BUILD.gn
index bbba32d..f5b472c 100644
--- a/examples/tv-app/tv-common/BUILD.gn
+++ b/examples/tv-app/tv-common/BUILD.gn
@@ -20,4 +20,5 @@
zap_file = "tv-app.zap"
zap_pregenerated_dir = "gen"
+ is_server = true
}
diff --git a/examples/tv-app/tv-common/gen/CHIPClusters.cpp b/examples/tv-app/tv-common/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/tv-app/tv-common/gen/CHIPClusters.cpp
+++ b/examples/tv-app/tv-common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/tv-app/tv-common/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/tv-app/tv-common/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/tv-app/tv-common/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/tv-app/tv-common/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/tv-app/tv-common/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/tv-app/tv-common/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/window-app/common/gen/CHIPClusters.cpp b/examples/window-app/common/gen/CHIPClusters.cpp
index 991b915..58bc848 100644
--- a/examples/window-app/common/gen/CHIPClusters.cpp
+++ b/examples/window-app/common/gen/CHIPClusters.cpp
@@ -20,7 +20,7 @@
#include <cstdint>
-#include <app/chip-zcl-zpro-codec-api.h>
+#include "chip-zcl-zpro-codec-api.h"
#include <lib/support/Span.h>
namespace chip {
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/window-app/common/gen/chip-zcl-zpro-codec-api.h
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/window-app/common/gen/chip-zcl-zpro-codec-api.h
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/window-app/common/gen/chip-zcl-zpro-codec-api.h
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>
diff --git a/examples/chip-tool/gen/call-command-handler.h b/examples/window-app/common/gen/encoder.cpp
similarity index 89%
copy from examples/chip-tool/gen/call-command-handler.h
copy to examples/window-app/common/gen/encoder.cpp
index 50a4e86..759d13c 100644
--- a/examples/chip-tool/gen/call-command-handler.h
+++ b/examples/window-app/common/gen/encoder.cpp
@@ -16,8 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
-
-// Prevent multiple inclusion
-#pragma once
-
-#include <app/util/af-types.h>