zigbee-herdsman 10.6.3 → 10.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -381,7 +381,7 @@ exports.Clusters = {
381
381
  currentGroup: { name: "currentGroup", ID: 0x0002, type: enums_1.DataType.UINT16, required: true, max: 0xfff7, default: 0 },
382
382
  sceneValid: { name: "sceneValid", ID: 0x0003, type: enums_1.DataType.BOOLEAN, required: true, default: 0 },
383
383
  nameSupport: { name: "nameSupport", ID: 0x0004, type: enums_1.DataType.BITMAP8, required: true, default: 0 },
384
- lastCfgBy: { name: "lastCfgBy", ID: 0x0005, type: enums_1.DataType.IEEE_ADDR, special: [["UnknownOrNotConfigured", "ffffffffffffffff"]] },
384
+ lastCfgBy: { name: "lastCfgBy", ID: 0x0005, type: enums_1.DataType.IEEE_ADDR, special: { "0xffffffffffffffff": "UnknownOrNotConfigured" } },
385
385
  },
386
386
  commands: {
387
387
  add: {
@@ -558,11 +558,11 @@ exports.Clusters = {
558
558
  type: enums_1.DataType.UINT8,
559
559
  min: 0,
560
560
  max: 0xff,
561
- special: [
562
- ["NoFurtherScenesMayBeAdded", "00"],
563
- ["AtLeastOneFurtherSceneMayBeAdded", "fe"],
564
- ["Unknown", "ff"],
565
- ],
561
+ special: {
562
+ 0: "NoFurtherScenesMayBeAdded",
563
+ 254: "AtLeastOneFurtherSceneMayBeAdded",
564
+ 255: "Unknown",
565
+ },
566
566
  },
567
567
  { name: "groupid", type: enums_1.DataType.UINT16 },
568
568
  {
@@ -630,7 +630,7 @@ exports.Clusters = {
630
630
  globalSceneCtrl: { name: "globalSceneCtrl", ID: 0x4000, type: enums_1.DataType.BOOLEAN, default: 1 },
631
631
  onTime: { name: "onTime", ID: 0x4001, type: enums_1.DataType.UINT16, write: true, max: 0xffff, default: 0 },
632
632
  offWaitTime: { name: "offWaitTime", ID: 0x4002, type: enums_1.DataType.UINT16, write: true, max: 0xffff, default: 0 },
633
- startUpOnOff: { name: "startUpOnOff", ID: 0x4003, type: enums_1.DataType.ENUM8, write: true, max: 0xff, special: [["SetToPreviousValue", "ff"]] },
633
+ startUpOnOff: { name: "startUpOnOff", ID: 0x4003, type: enums_1.DataType.ENUM8, write: true, max: 0xff, special: { 255: "SetToPreviousValue" } },
634
634
  },
635
635
  commands: {
636
636
  off: { name: "off", ID: 0x00, parameters: [], required: true },
@@ -701,10 +701,10 @@ exports.Clusters = {
701
701
  type: enums_1.DataType.UINT8,
702
702
  write: true,
703
703
  max: 0xff,
704
- special: [
705
- ["MinimumDeviceValuePermitted", "00"],
706
- ["SetToPreviousValue", "ff"],
707
- ],
704
+ special: {
705
+ 0: "MinimumDeviceValuePermitted",
706
+ 255: "SetToPreviousValue",
707
+ },
708
708
  },
709
709
  },
710
710
  commands: {
@@ -1414,21 +1414,21 @@ exports.Clusters = {
1414
1414
  write: true,
1415
1415
  required: true,
1416
1416
  default: "0xffffffffffffffff",
1417
- special: [["PANIdUnspecified", "ffffffffffffffff"]],
1417
+ special: { "0xffffffffffffffff": "PANIdUnspecified" },
1418
1418
  },
1419
1419
  panId: { name: "panId", ID: 0x0002, type: enums_1.DataType.UINT16, write: true, required: true, max: 0xffff },
1420
1420
  channelmask: { name: "channelmask", ID: 0x0003, type: enums_1.DataType.BITMAP32, write: true, required: true },
1421
1421
  protocolVersion: { name: "protocolVersion", ID: 0x0004, type: enums_1.DataType.UINT8, write: true, required: true, min: 0x02, max: 0x02 },
1422
1422
  stackProfile: { name: "stackProfile", ID: 0x0005, type: enums_1.DataType.UINT8, write: true, required: true, min: 0x01, max: 0x02 },
1423
1423
  startupControl: { name: "startupControl", ID: 0x0006, type: enums_1.DataType.ENUM8, write: true, required: true, max: 0x03 },
1424
- trustCenterress: {
1425
- name: "trustCenterress",
1424
+ trustCenterAddress: {
1425
+ name: "trustCenterAddress",
1426
1426
  ID: 0x0010,
1427
1427
  type: enums_1.DataType.IEEE_ADDR,
1428
1428
  write: true,
1429
1429
  required: true,
1430
1430
  default: "0x0000000000000000",
1431
- special: [["AddressUnspecified", "0000000000000000"]],
1431
+ special: { "0x0000000000000000": "AddressUnspecified" },
1432
1432
  },
1433
1433
  trustCenterMasterKey: { name: "trustCenterMasterKey", ID: 0x0011, type: enums_1.DataType.SEC_KEY, write: true },
1434
1434
  networkKey: { name: "networkKey", ID: 0x0012, type: enums_1.DataType.SEC_KEY, write: true, required: true },
@@ -2223,10 +2223,10 @@ exports.Clusters = {
2223
2223
  type: enums_1.DataType.UINT8,
2224
2224
  write: true,
2225
2225
  max: 0xff,
2226
- special: [
2227
- ["MinimumDeviceValuePermitted", "00"],
2228
- ["SetToPreviousValue", "ff"],
2229
- ],
2226
+ special: {
2227
+ 0: "MinimumDeviceValuePermitted",
2228
+ 255: "SetToPreviousValue",
2229
+ },
2230
2230
  },
2231
2231
  },
2232
2232
  commands: {
@@ -2895,7 +2895,7 @@ exports.Clusters = {
2895
2895
  write: true,
2896
2896
  max: 0xffff,
2897
2897
  default: 0xffff,
2898
- special: [["Never", "ffff"]],
2898
+ special: { 65535: "Never" },
2899
2899
  },
2900
2900
  },
2901
2901
  commands: {},
@@ -3043,7 +3043,7 @@ exports.Clusters = {
3043
3043
  writeOptional: true,
3044
3044
  report: true,
3045
3045
  default: 0,
3046
- special: [["Disabled", "0"]],
3046
+ special: { 0: "Disabled" },
3047
3047
  },
3048
3048
  soundVolume: { name: "soundVolume", ID: 0x0024, type: enums_1.DataType.UINT8, write: true, writeOptional: true, report: true, default: 0 },
3049
3049
  operatingMode: { name: "operatingMode", ID: 0x0025, type: enums_1.DataType.ENUM8, write: true, writeOptional: true, report: true, default: 0 },
@@ -3129,7 +3129,7 @@ exports.Clusters = {
3129
3129
  name: "getLogRecord",
3130
3130
  ID: 0x04,
3131
3131
  response: 0x04,
3132
- parameters: [{ name: "logindex", type: enums_1.DataType.UINT16, special: [["MostRecent", "0"]] }],
3132
+ parameters: [{ name: "logindex", type: enums_1.DataType.UINT16, special: { 0: "MostRecent" } }],
3133
3133
  },
3134
3134
  setPinCode: {
3135
3135
  name: "setPinCode",
@@ -3499,7 +3499,7 @@ exports.Clusters = {
3499
3499
  scene: true,
3500
3500
  required: true,
3501
3501
  max: 100,
3502
- special: [["PositionUnknown", "ff"]],
3502
+ special: { 255: "PositionUnknown" },
3503
3503
  },
3504
3504
  },
3505
3505
  commands: {
@@ -3780,7 +3780,7 @@ exports.Clusters = {
3780
3780
  scene: true,
3781
3781
  max: 0xfeff,
3782
3782
  default: 0x00fa,
3783
- special: [["Undefined", "0000"]],
3783
+ special: { 0: "Undefined" },
3784
3784
  },
3785
3785
  colorMode: { name: "colorMode", ID: 0x0008, type: enums_1.DataType.ENUM8, required: true, max: 0x02, default: 1 },
3786
3786
  options: { name: "options", ID: 0x000f, type: enums_1.DataType.BITMAP8, write: true, required: true, default: 0 },
@@ -3853,7 +3853,7 @@ exports.Clusters = {
3853
3853
  type: enums_1.DataType.UINT16,
3854
3854
  write: true,
3855
3855
  max: 0xfeff,
3856
- special: [["SetColorTempToPreviousValue", "ffff"]],
3856
+ special: { 65535: "SetColorTempToPreviousValue" },
3857
3857
  },
3858
3858
  },
3859
3859
  commands: {
@@ -4222,15 +4222,15 @@ exports.Clusters = {
4222
4222
  required: true,
4223
4223
  max: 0xfffe,
4224
4224
  default: 0,
4225
- special: [
4226
- ["TooLowToBeMeasured", "0000"],
4227
- ["Invalid", "ffff"],
4228
- ],
4225
+ special: {
4226
+ 0: "TooLowToBeMeasured",
4227
+ 65535: "Invalid",
4228
+ },
4229
4229
  },
4230
4230
  minMeasuredValue: { name: "minMeasuredValue", ID: 0x0001, type: enums_1.DataType.UINT16, required: true, min: 1, max: 65533 },
4231
4231
  maxMeasuredValue: { name: "maxMeasuredValue", ID: 0x0002, type: enums_1.DataType.UINT16, required: true, min: 2, max: 65534 },
4232
4232
  tolerance: { name: "tolerance", ID: 0x0003, type: enums_1.DataType.UINT16, max: 0x0800 },
4233
- lightSensorType: { name: "lightSensorType", ID: 0x0004, type: enums_1.DataType.ENUM8, default: 0xff, special: [["Unknown", "ff"]] },
4233
+ lightSensorType: { name: "lightSensorType", ID: 0x0004, type: enums_1.DataType.ENUM8, default: 0xff, special: { 255: "Unknown" } },
4234
4234
  },
4235
4235
  commands: {},
4236
4236
  commandsResponse: {},
@@ -6897,10 +6897,10 @@ exports.Clusters = {
6897
6897
  name: "duration",
6898
6898
  type: enums_1.DataType.UINT16,
6899
6899
  max: 0xffff,
6900
- special: [
6901
- ["ExitIdentifyMode", "0000"],
6902
- ["IdentifyForReceiverKnownTime", "ffff"],
6903
- ],
6900
+ special: {
6901
+ 0: "ExitIdentifyMode",
6902
+ 65535: "IdentifyForReceiverKnownTime",
6903
+ },
6904
6904
  },
6905
6905
  ],
6906
6906
  required: true,
@@ -7140,23 +7140,18 @@ exports.Clusters = {
7140
7140
  },
7141
7141
  },
7142
7142
  /**
7143
- * Tuya cluster
7144
- *
7145
- * Common parameters:
7146
- *
7143
+ * Common parameter:
7147
7144
  * seq - Sequence number of transmitted data, range 0-65535, revert to 0 after reaching 65535
7148
7145
  *
7149
- * Official Tuya documentation: https://developer.tuya.com/en/docs/iot-device-dev/tuya-zigbee-universal-docking-access-standard?id=K9ik6zvofpzql#subtitle-6-Private%20cluster
7150
- *
7146
+ * Tuya cluster documentation: https://developer.tuya.com/en/docs/iot-device-dev/tuya-zigbee-universal-docking-access-standard?id=K9ik6zvofpzql#subtitle-6-Private%20cluster
7147
+ * Device types documentation: https://developer.tuya.com/en/docs/connect-subdevices-to-gateways/Zigbee_2?id=Kcww7qppbe87m
7151
7148
  */
7152
7149
  manuSpecificTuya: {
7153
7150
  name: "manuSpecificTuya",
7154
7151
  ID: 0xef00, // 61184
7155
7152
  attributes: {},
7156
7153
  commands: {
7157
- /**
7158
- * Gateway-side data request
7159
- */
7154
+ /** Read/write some datapoints. Device returns dataResponse(s) */
7160
7155
  dataRequest: {
7161
7156
  name: "dataRequest",
7162
7157
  ID: 0x00,
@@ -7165,21 +7160,9 @@ exports.Clusters = {
7165
7160
  { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
7166
7161
  ],
7167
7162
  },
7168
- /**
7169
- * GW send, trigger MCU side to report all current information, no zcl payload.
7170
- * Note: Device side can make a policy, data better not to report centrally
7171
- */
7163
+ /** Read all datapoints. Device returns dataResponse(s) */
7172
7164
  dataQuery: { name: "dataQuery", ID: 0x03, parameters: [] },
7173
- /**
7174
- * Gw->Zigbee gateway query MCU version
7175
- */
7176
- mcuVersionRequest: { name: "mcuVersionRequest", ID: 0x10, parameters: [{ name: "seq", type: enums_1.DataType.UINT16, max: 0xffff }] },
7177
- /**
7178
- * FIXME: This command is not listed in Tuya zigbee cluster description,
7179
- * but there is some command 0x04 (description is: Command Issuance)
7180
- * in `Serial command list` section of the same document
7181
- * So, need to investigate more information about it
7182
- */
7165
+ /** Some devices need this instead of dataRequest? Device returns dataResponse(s) */
7183
7166
  sendData: {
7184
7167
  name: "sendData",
7185
7168
  ID: 0x04,
@@ -7188,9 +7171,9 @@ exports.Clusters = {
7188
7171
  { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
7189
7172
  ],
7190
7173
  },
7191
- /**
7192
- * Gw->Zigbee gateway notifies MCU of upgrade
7193
- */
7174
+ /** Read MCU version. Device returns mcuVersionResponse */
7175
+ mcuVersionRequest: { name: "mcuVersionRequest", ID: 0x10, parameters: [{ name: "seq", type: enums_1.DataType.UINT16, max: 0xffff }] },
7176
+ /** Notify update. Device returns mcuOtaBlockDataRequest */
7194
7177
  mcuOtaNotify: {
7195
7178
  name: "mcuOtaNotify",
7196
7179
  ID: 0x12,
@@ -7208,9 +7191,7 @@ exports.Clusters = {
7208
7191
  { name: "crc", type: enums_1.DataType.UINT32, max: 0xffffffff },
7209
7192
  ],
7210
7193
  },
7211
- /**
7212
- * Gw->Zigbee gateway returns the requested upgrade package for MCU
7213
- */
7194
+ /** Reply to mcuOtaBlockDataRequest with chunks of update file. Ends with device returning mcuOtaResult */
7214
7195
  mcuOtaBlockDataResponse: {
7215
7196
  name: "mcuOtaBlockDataResponse",
7216
7197
  ID: 0x14,
@@ -7224,9 +7205,7 @@ exports.Clusters = {
7224
7205
  { name: "imageData", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
7225
7206
  ],
7226
7207
  },
7227
- /**
7228
- * Time synchronization (bidirectional)
7229
- */
7208
+ /** Device asks current time, gateway replies with same command + payload */
7230
7209
  mcuSyncTime: {
7231
7210
  name: "mcuSyncTime",
7232
7211
  ID: 0x24,
@@ -7235,9 +7214,7 @@ exports.Clusters = {
7235
7214
  { name: "payload", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
7236
7215
  ],
7237
7216
  },
7238
- /**
7239
- * Gateway connection status (bidirectional)
7240
- */
7217
+ /** Gateway connection status (bidirectional) */
7241
7218
  mcuGatewayConnectionStatus: {
7242
7219
  name: "mcuGatewayConnectionStatus",
7243
7220
  ID: 0x25,
@@ -7246,15 +7223,11 @@ exports.Clusters = {
7246
7223
  { name: "payload", type: enums_1.DataType.UINT8, max: 0xff },
7247
7224
  ],
7248
7225
  },
7249
- /**
7250
- * Weather forecast synchronization (check requestWeatherInformation)
7251
- */
7226
+ /** Weather forecast sync. Reply to requestWeatherInformation */
7252
7227
  tuyaWeatherSync: { name: "tuyaWeatherSync", ID: 0x61, parameters: [{ name: "payload", type: enums_1.BuffaloZclDataType.BUFFER }] },
7253
7228
  },
7254
7229
  commandsResponse: {
7255
- /**
7256
- * Reply to MCU-side data request
7257
- */
7230
+ /** Reply to dataQuery or sendData with some datapoints */
7258
7231
  dataResponse: {
7259
7232
  name: "dataResponse",
7260
7233
  ID: 0x01,
@@ -7263,9 +7236,7 @@ exports.Clusters = {
7263
7236
  { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
7264
7237
  ],
7265
7238
  },
7266
- /**
7267
- * MCU-side data active upload (bidirectional)
7268
- */
7239
+ /** Report some datapoints. Bidirectional? */
7269
7240
  dataReport: {
7270
7241
  name: "dataReport",
7271
7242
  ID: 0x02,
@@ -7302,9 +7273,7 @@ exports.Clusters = {
7302
7273
  { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
7303
7274
  ],
7304
7275
  },
7305
- /**
7306
- * Zigbee->Gw MCU return version or actively report version
7307
- */
7276
+ /** Report / reply to mcuVersionRequest */
7308
7277
  mcuVersionResponse: {
7309
7278
  name: "mcuVersionResponse",
7310
7279
  ID: 0x11,
@@ -7313,9 +7282,7 @@ exports.Clusters = {
7313
7282
  { name: "version", type: enums_1.DataType.UINT8, max: 0xff },
7314
7283
  ],
7315
7284
  },
7316
- /**
7317
- * Zigbee->Gw requests an upgrade package for the MCU
7318
- */
7285
+ /** Request chunks of update file. Replying to mcuOtaNotify */
7319
7286
  mcuOtaBlockDataRequest: {
7320
7287
  name: "mcuOtaBlockDataRequest",
7321
7288
  ID: 0x13,
@@ -7328,9 +7295,7 @@ exports.Clusters = {
7328
7295
  { name: "size", type: enums_1.DataType.UINT32, max: 0xffffffff },
7329
7296
  ],
7330
7297
  },
7331
- /**
7332
- * Zigbee->Gw returns the upgrade result for the mcu
7333
- */
7298
+ /** End update. Replying to last mcuOtaBlockDataResponse */
7334
7299
  mcuOtaResult: {
7335
7300
  name: "mcuOtaResult",
7336
7301
  ID: 0x15,
@@ -7342,25 +7307,15 @@ exports.Clusters = {
7342
7307
  { name: "version", type: enums_1.DataType.UINT8, max: 0xff },
7343
7308
  ],
7344
7309
  },
7345
- /**
7346
- * Time synchronization (bidirectional)
7347
- */
7310
+ /** Device asks current time, gateway replies with same command + payload */
7348
7311
  mcuSyncTime: { name: "mcuSyncTime", ID: 0x24, parameters: [{ name: "payloadSize", type: enums_1.DataType.UINT16, max: 0xffff }] },
7349
- /**
7350
- * Gateway connection status (bidirectional)
7351
- */
7312
+ /** Gateway connection status (bidirectional) */
7352
7313
  mcuGatewayConnectionStatus: {
7353
7314
  name: "mcuGatewayConnectionStatus",
7354
7315
  ID: 0x25,
7355
7316
  parameters: [{ name: "payloadSize", type: enums_1.DataType.UINT16, max: 0xffff }],
7356
7317
  },
7357
- /**
7358
- * Device can request weather forecast information and expects response respecting given parameters.
7359
- * This command ID seem to be device speciffic, because there is simmilar structure documented in Tuya Serial Communication Protocol,
7360
- * but with different ID (0x3a and 0x3b respectively). In this case, I'm not sure if the name should reflect the one from
7361
- * docs or be also speciffic (providing space for the implementation of the correct one in the future)?
7362
- *
7363
- */
7318
+ /** Request weather forecast. Can be device-specific */
7364
7319
  tuyaWeatherRequest: { name: "tuyaWeatherRequest", ID: 0x60, parameters: [{ name: "payload", type: enums_1.BuffaloZclDataType.BUFFER }] },
7365
7320
  },
7366
7321
  },