@willieee802/zigbee-herdsman 0.49.4 → 0.50.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.
- package/.github/dependabot.yml +0 -3
- package/.github/workflows/ci.yml +1 -2
- package/.github/workflows/release-please.yml +1 -1
- package/.github/workflows/typedoc.yaml +3 -3
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +143 -0
- package/biome.json +1 -1
- package/dist/adapter/adapter.d.ts +14 -1
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +17 -0
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/adapterDiscovery.d.ts.map +1 -1
- package/dist/adapter/adapterDiscovery.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -3
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +14 -29
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/driver/constants.d.ts +1 -1
- package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +19 -10
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts +2 -0
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +13 -5
- package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +1 -3
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +17 -30
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/index.d.ts +1 -1
- package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/index.js +1 -1
- package/dist/adapter/ezsp/driver/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.d.ts +1 -1
- package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.js +3 -3
- package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
- package/dist/adapter/serialPort.d.ts.map +1 -1
- package/dist/adapter/serialPort.js +7 -0
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +12 -2
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +1 -3
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +20 -34
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/constants/index.d.ts +1 -1
- package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
- package/dist/adapter/z-stack/constants/index.js +1 -1
- package/dist/adapter/z-stack/constants/index.js.map +1 -1
- package/dist/adapter/z-stack/unpi/constants.d.ts +1 -1
- package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/constants.js +1 -1
- package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +7 -8
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.js +12 -30
- package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
- package/dist/adapter/zboss/driver.d.ts.map +1 -1
- package/dist/adapter/zboss/driver.js +8 -1
- package/dist/adapter/zboss/driver.js.map +1 -1
- package/dist/adapter/zboss/uart.d.ts.map +1 -1
- package/dist/adapter/zboss/uart.js +14 -2
- package/dist/adapter/zboss/uart.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -3
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +8 -29
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zoh/adapter/zohAdapter.d.ts +1 -3
- package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -1
- package/dist/adapter/zoh/adapter/zohAdapter.js +18 -33
- package/dist/adapter/zoh/adapter/zohAdapter.js.map +1 -1
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +10 -2
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +15 -9
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/ota.d.ts +4 -4
- package/dist/controller/helpers/ota.d.ts.map +1 -1
- package/dist/controller/helpers/ota.js +28 -9
- package/dist/controller/helpers/ota.js.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js +17 -16
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/model/device.d.ts +14 -3
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +155 -68
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +7 -3
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +34 -21
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/group.js +4 -4
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/touchlink.js +3 -3
- package/dist/controller/touchlink.js.map +1 -1
- package/dist/utils/timeService.js +2 -2
- package/dist/utils/timeService.js.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.d.ts +3 -3
- package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.js +198 -96
- package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
- package/dist/zspec/zcl/definition/cluster.d.ts +2 -2
- package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/cluster.js +2699 -2808
- package/dist/zspec/zcl/definition/cluster.js.map +1 -1
- package/dist/zspec/zcl/definition/clusters-types.d.ts +63 -1109
- package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/enums.d.ts +0 -1
- package/dist/zspec/zcl/definition/enums.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/enums.js +0 -1
- package/dist/zspec/zcl/definition/enums.js.map +1 -1
- package/dist/zspec/zcl/definition/foundation.d.ts +306 -7
- package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/foundation.js +552 -207
- package/dist/zspec/zcl/definition/foundation.js.map +1 -1
- package/dist/zspec/zcl/definition/status.d.ts +21 -10
- package/dist/zspec/zcl/definition/status.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/status.js +11 -0
- package/dist/zspec/zcl/definition/status.js.map +1 -1
- package/dist/zspec/zcl/definition/tstype.d.ts +57 -48
- package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
- package/dist/zspec/zcl/utils.d.ts +7 -4
- package/dist/zspec/zcl/utils.d.ts.map +1 -1
- package/dist/zspec/zcl/utils.js +133 -240
- package/dist/zspec/zcl/utils.js.map +1 -1
- package/dist/zspec/zcl/zclFrame.d.ts +4 -4
- package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
- package/dist/zspec/zcl/zclFrame.js +19 -103
- package/dist/zspec/zcl/zclFrame.js.map +1 -1
- package/dist/zspec/zcl/zclStatusError.d.ts +1 -1
- package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -1
- package/dist/zspec/zcl/zclStatusError.js +2 -2
- package/dist/zspec/zcl/zclStatusError.js.map +1 -1
- package/package.json +1 -1
- package/scripts/clusters-typegen.ts +44 -139
- package/src/adapter/adapter.ts +38 -3
- package/src/adapter/adapterDiscovery.ts +2 -1
- package/src/adapter/deconz/adapter/deconzAdapter.ts +24 -51
- package/src/adapter/deconz/driver/constants.ts +1 -1
- package/src/adapter/ember/adapter/emberAdapter.ts +23 -10
- package/src/adapter/ember/adapter/oneWaitress.ts +16 -6
- package/src/adapter/ezsp/adapter/ezspAdapter.ts +27 -48
- package/src/adapter/ezsp/driver/index.ts +1 -1
- package/src/adapter/ezsp/driver/types/index.ts +99 -99
- package/src/adapter/serialPort.ts +9 -0
- package/src/adapter/z-stack/adapter/adapter-backup.ts +1 -1
- package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +1 -1
- package/src/adapter/z-stack/adapter/manager.ts +16 -2
- package/src/adapter/z-stack/adapter/tstype.ts +1 -0
- package/src/adapter/z-stack/adapter/zStackAdapter.ts +34 -81
- package/src/adapter/z-stack/constants/index.ts +1 -1
- package/src/adapter/z-stack/unpi/constants.ts +1 -1
- package/src/adapter/zboss/adapter/zbossAdapter.ts +23 -54
- package/src/adapter/zboss/driver.ts +8 -1
- package/src/adapter/zboss/uart.ts +14 -1
- package/src/adapter/zigate/adapter/zigateAdapter.ts +17 -48
- package/src/adapter/zoh/adapter/zohAdapter.ts +27 -50
- package/src/controller/controller.ts +12 -2
- package/src/controller/greenPower.ts +16 -9
- package/src/controller/helpers/ota.ts +37 -11
- package/src/controller/helpers/zclFrameConverter.ts +20 -17
- package/src/controller/model/device.ts +192 -79
- package/src/controller/model/endpoint.ts +36 -24
- package/src/controller/model/group.ts +4 -4
- package/src/controller/touchlink.ts +3 -3
- package/src/utils/timeService.ts +2 -2
- package/src/zspec/zcl/buffaloZcl.ts +226 -100
- package/src/zspec/zcl/definition/cluster.ts +2713 -2822
- package/src/zspec/zcl/definition/clusters-types.ts +80 -1135
- package/src/zspec/zcl/definition/enums.ts +0 -1
- package/src/zspec/zcl/definition/foundation.ts +703 -216
- package/src/zspec/zcl/definition/status.ts +22 -11
- package/src/zspec/zcl/definition/tstype.ts +59 -58
- package/src/zspec/zcl/utils.ts +137 -264
- package/src/zspec/zcl/zclFrame.ts +25 -130
- package/src/zspec/zcl/zclStatusError.ts +2 -2
- package/test/adapter/ember/emberAdapter.test.ts +191 -4
- package/test/adapter/ezsp/uart.test.ts +10 -10
- package/test/adapter/z-stack/adapter.test.ts +88 -32
- package/test/adapter/zoh/zohAdapter.test.ts +4 -4
- package/test/controller.test.ts +822 -248
- package/test/device-ota.test.ts +141 -16
- package/test/device.test.ts +731 -0
- package/test/requests.bench.ts +2 -0
- package/test/zcl.test.ts +70 -95
- package/test/zspec/zcl/buffalo.test.ts +251 -11
- package/test/zspec/zcl/foundation.test.ts +990 -0
- package/test/zspec/zcl/frame.test.ts +84 -69
- package/test/zspec/zcl/utils.test.ts +105 -81
- package/tsconfig.json +0 -1
- package/scripts/check-clusters-changes.ts +0 -328
- package/scripts/clusters-changes.log +0 -584
- package/scripts/utils.ts +0 -88
- package/scripts/zap-update-clusters-report.json +0 -303
- package/scripts/zap-update-clusters.ts +0 -1520
- package/scripts/zap-update-types.ts +0 -707
- package/scripts/zap-xml-clusters-overrides-data.ts +0 -52
- package/scripts/zap-xml-clusters-overrides.ts +0 -400
- package/scripts/zap-xml-types.ts +0 -146
|
@@ -15,9 +15,12 @@ export enum Status {
|
|
|
15
15
|
// UNSUP_CLUSTER_COMMAND = 0x81, DEPRECATED in favor of UNSUP_COMMAND
|
|
16
16
|
/** The specified command is not supported on the device. Command not carried out. */
|
|
17
17
|
UNSUP_COMMAND = 0x81,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
/** @deprecated use UNSUP_COMMAND */
|
|
19
|
+
UNSUP_GENERAL_COMMAND = 0x82,
|
|
20
|
+
/** @deprecated use UNSUP_COMMAND */
|
|
21
|
+
UNSUP_MANUF_CLUSTER_COMMAND = 0x83,
|
|
22
|
+
/** @deprecated use UNSUP_COMMAND */
|
|
23
|
+
UNSUP_MANUF_GENERAL_COMMAND = 0x84,
|
|
21
24
|
/** At least one field of the command contains an incorrect value, according to the specification the device is implemented to. */
|
|
22
25
|
INVALID_FIELD = 0x85,
|
|
23
26
|
/** The specified attribute does not exist on the device. */
|
|
@@ -32,7 +35,8 @@ export enum Status {
|
|
|
32
35
|
READ_ONLY = 0x88,
|
|
33
36
|
/** An operation failed due to an insufficient amount of free space available. */
|
|
34
37
|
INSUFFICIENT_SPACE = 0x89,
|
|
35
|
-
|
|
38
|
+
/** @deprecated use SUCCESS */
|
|
39
|
+
DUPLICATE_EXISTS = 0x8a,
|
|
36
40
|
/** The requested information (e.g., table entry) could not be found. */
|
|
37
41
|
NOT_FOUND = 0x8b,
|
|
38
42
|
/** Periodic reports cannot be issued for this attribute.*/
|
|
@@ -41,11 +45,15 @@ export enum Status {
|
|
|
41
45
|
INVALID_DATA_TYPE = 0x8d,
|
|
42
46
|
/** The selector for an attribute is incorrect. */
|
|
43
47
|
INVALID_SELECTOR = 0x8e,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
/** @deprecated use NOT_AUTHORIZED */
|
|
49
|
+
WRITE_ONLY = 0x8f,
|
|
50
|
+
/** @deprecated use FAILURE */
|
|
51
|
+
INCONSISTENT_STARTUP_STATE = 0x90,
|
|
52
|
+
/** @deprecated use FAILURE */
|
|
53
|
+
DEFINED_OUT_OF_BAND = 0x91,
|
|
47
54
|
RESERVED14 = 0x92,
|
|
48
|
-
|
|
55
|
+
/** @deprecated use FAILURE */
|
|
56
|
+
ACTION_DENIED = 0x93,
|
|
49
57
|
/** The exchange was aborted due to excessive response time. */
|
|
50
58
|
TIMEOUT = 0x94,
|
|
51
59
|
/** Failed case when a client or a server decides to abort the upgrade process. */
|
|
@@ -60,10 +68,13 @@ export enum Status {
|
|
|
60
68
|
REQUIRE_MORE_IMAGE = 0x99,
|
|
61
69
|
/** The command has been received and is being processed. */
|
|
62
70
|
NOTIFICATION_PENDING = 0x9a,
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
/** @deprecated use FAILURE */
|
|
72
|
+
HARDWARE_FAILURE = 0xc0,
|
|
73
|
+
/** @deprecated use FAILURE */
|
|
74
|
+
SOFTWARE_FAILURE = 0xc1,
|
|
65
75
|
RESERVED15 = 0xc2,
|
|
66
76
|
/** The cluster is not supported. */
|
|
67
77
|
UNSUPPORTED_CLUSTER = 0xc3,
|
|
68
|
-
|
|
78
|
+
/** @deprecated use SUCCESS */
|
|
79
|
+
LIMIT_REACHED = 0xc4,
|
|
69
80
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {BuffaloZclDataType, DataType,
|
|
1
|
+
import type {BuffaloZclDataType, DataType, Direction, FrameType, ParameterCondition, StructuredIndicatorType} from "./enums";
|
|
2
|
+
import type {Status} from "./status";
|
|
2
3
|
|
|
3
4
|
export interface BuffaloZclOptions {
|
|
4
5
|
length?: number;
|
|
@@ -22,10 +23,6 @@ export interface StructuredSelector {
|
|
|
22
23
|
indicatorType?: StructuredIndicatorType;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
export interface KeyZclValue {
|
|
26
|
-
[s: string | number]: number | string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
26
|
export interface Struct {
|
|
30
27
|
elmType: DataType;
|
|
31
28
|
elmVal: unknown;
|
|
@@ -119,11 +116,46 @@ export interface GpdCustomReply {
|
|
|
119
116
|
buffer: Buffer;
|
|
120
117
|
}
|
|
121
118
|
|
|
122
|
-
export
|
|
123
|
-
manufacturerCode: number;
|
|
119
|
+
export type GpdAttributeReport = {
|
|
124
120
|
clusterID: number;
|
|
125
|
-
|
|
126
|
-
|
|
121
|
+
clusterName: string;
|
|
122
|
+
attributes: Record<string | number, unknown>;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export type GpdManufAttributeReport = {
|
|
126
|
+
manufacturerCode: number;
|
|
127
|
+
} & GpdAttributeReport;
|
|
128
|
+
|
|
129
|
+
export type GpdMultiClusterAttributeReport = {
|
|
130
|
+
reports: Array<{
|
|
131
|
+
clusterID: number;
|
|
132
|
+
clusterName: string;
|
|
133
|
+
attribute: string | number;
|
|
134
|
+
attrData: unknown;
|
|
135
|
+
}>;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
export type GpdManufMultiClusterAttributeReport = {
|
|
139
|
+
manufacturerCode: number;
|
|
140
|
+
} & GpdMultiClusterAttributeReport;
|
|
141
|
+
|
|
142
|
+
export type GpdAttributeReporting =
|
|
143
|
+
| GpdAttributeReport
|
|
144
|
+
| GpdManufAttributeReport
|
|
145
|
+
| GpdMultiClusterAttributeReport
|
|
146
|
+
| GpdManufMultiClusterAttributeReport;
|
|
147
|
+
|
|
148
|
+
export type GpdRequestAttribute = {
|
|
149
|
+
options: number;
|
|
150
|
+
manufacturerID: number | undefined;
|
|
151
|
+
records: Array<{clusterID: number; attributes: Array<number>}>;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export type GpdReadAttributeResponse = {
|
|
155
|
+
options: number;
|
|
156
|
+
manufacturerID: number | undefined;
|
|
157
|
+
records: Array<{clusterID: number; clusterName: string; attributes: Record<string | number, {status: Status; attrData: unknown}>}>;
|
|
158
|
+
};
|
|
127
159
|
|
|
128
160
|
export interface TuyaDataPointValue {
|
|
129
161
|
dp: number;
|
|
@@ -147,7 +179,7 @@ export interface FrameControl {
|
|
|
147
179
|
/**
|
|
148
180
|
* @see https://github.com/project-chip/zap/blob/master/zcl-builtin/dotdot/README.md#restrictions
|
|
149
181
|
*/
|
|
150
|
-
|
|
182
|
+
type Restrictions = Readonly<{
|
|
151
183
|
/** specifies an exact length, generally used for a string. */
|
|
152
184
|
length?: number;
|
|
153
185
|
/** specifies the minimum length that a type must take, generally used for a string or a list/array */
|
|
@@ -177,7 +209,7 @@ interface Restrictions {
|
|
|
177
209
|
* `value` is kept as string for easier handling (will be checked on spot if used anyway) though most often is a hex number string (without 0x)
|
|
178
210
|
*/
|
|
179
211
|
special?: [name: string, value: string][];
|
|
180
|
-
}
|
|
212
|
+
}>;
|
|
181
213
|
|
|
182
214
|
/**
|
|
183
215
|
* @see https://github.com/project-chip/zap/blob/master/zcl-builtin/dotdot/README.md#attributes
|
|
@@ -188,7 +220,7 @@ interface Restrictions {
|
|
|
188
220
|
* - requiredIf: Allows for an expression to be implemented which indicates the conditions in which an attribute is mandatory.
|
|
189
221
|
* Defaults to false
|
|
190
222
|
*/
|
|
191
|
-
export
|
|
223
|
+
export type Attribute = Readonly<{
|
|
192
224
|
ID: number;
|
|
193
225
|
name: string;
|
|
194
226
|
type: DataType;
|
|
@@ -215,16 +247,16 @@ export interface Attribute extends Restrictions {
|
|
|
215
247
|
// defaultRef?: string;
|
|
216
248
|
/** If attribute is client side */
|
|
217
249
|
client?: true;
|
|
218
|
-
}
|
|
250
|
+
}> &
|
|
251
|
+
Restrictions;
|
|
219
252
|
|
|
220
|
-
export
|
|
253
|
+
export type Parameter = Readonly<{
|
|
221
254
|
name: string;
|
|
222
255
|
type: DataType | BuffaloZclDataType;
|
|
223
|
-
conditions?: (
|
|
256
|
+
conditions?: readonly (
|
|
224
257
|
| {type: ParameterCondition.MINIMUM_REMAINING_BUFFER_BYTES; value: number}
|
|
225
258
|
| {type: ParameterCondition.BITMASK_SET; param: string; mask: number /* not set */; reversed?: boolean}
|
|
226
259
|
| {type: ParameterCondition.BITFIELD_ENUM; param: string; offset: number; size: number; value: number}
|
|
227
|
-
| {type: ParameterCondition.DATA_TYPE_CLASS_EQUAL; value: DataTypeClass}
|
|
228
260
|
| {type: ParameterCondition.FIELD_EQUAL; field: string; value: unknown; reversed?: boolean}
|
|
229
261
|
| {type: ParameterCondition.FIELD_GT; field: string; value: number /*; reversed?: boolean*/}
|
|
230
262
|
)[];
|
|
@@ -239,54 +271,34 @@ export interface Parameter extends Restrictions {
|
|
|
239
271
|
* that field may be referenced using this attribute.
|
|
240
272
|
*/
|
|
241
273
|
// arrayLengthField?: string;
|
|
242
|
-
}
|
|
274
|
+
}> &
|
|
275
|
+
Restrictions;
|
|
243
276
|
|
|
244
277
|
/**
|
|
245
278
|
* @see https://github.com/project-chip/zap/blob/master/zcl-builtin/dotdot/README.md#commands
|
|
246
279
|
* Extra metadata:
|
|
247
280
|
* - requiredIf: Allows for an expression to be implemented which indicates the conditions in which a command is mandatory. Defaults to false
|
|
248
281
|
*/
|
|
249
|
-
export
|
|
282
|
+
export type Command = Readonly<{
|
|
250
283
|
ID: number;
|
|
251
284
|
name: string;
|
|
252
285
|
parameters: readonly Parameter[];
|
|
253
286
|
response?: number;
|
|
254
287
|
/** If the command is mandatory. Defaults to false */
|
|
255
288
|
required?: true;
|
|
256
|
-
}
|
|
289
|
+
}>;
|
|
257
290
|
|
|
258
|
-
export
|
|
259
|
-
|
|
260
|
-
export interface CommandDefinition extends Omit<Command, "name"> {
|
|
261
|
-
parameters: readonly Parameter[];
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
export interface Cluster {
|
|
291
|
+
export type Cluster = Readonly<{
|
|
265
292
|
ID: number;
|
|
266
293
|
name: string;
|
|
267
294
|
manufacturerCode?: number;
|
|
268
|
-
attributes:
|
|
269
|
-
commands:
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
commandsResponse: {
|
|
273
|
-
[s: string]: Command;
|
|
274
|
-
};
|
|
275
|
-
getAttribute: (key: number | string) => Attribute | undefined;
|
|
276
|
-
getCommand: (key: number | string) => Command;
|
|
277
|
-
getCommandResponse: (key: number | string) => Command;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
export interface ClusterDefinition {
|
|
281
|
-
ID: number;
|
|
282
|
-
manufacturerCode?: number;
|
|
283
|
-
attributes: Readonly<Record<string, Readonly<AttributeDefinition>>>;
|
|
284
|
-
commands: Readonly<Record<string, Readonly<CommandDefinition>>>;
|
|
285
|
-
commandsResponse: Readonly<Record<string, Readonly<CommandDefinition>>>;
|
|
286
|
-
}
|
|
295
|
+
attributes: Readonly<Record<string, Attribute>>;
|
|
296
|
+
commands: Readonly<Record<string, Command>>;
|
|
297
|
+
commandsResponse: Readonly<Record<string, Command>>;
|
|
298
|
+
}>;
|
|
287
299
|
|
|
288
300
|
export interface CustomClusters {
|
|
289
|
-
[k: string]:
|
|
301
|
+
[k: string]: Cluster;
|
|
290
302
|
}
|
|
291
303
|
|
|
292
304
|
export type ClusterName =
|
|
@@ -323,6 +335,7 @@ export type ClusterName =
|
|
|
323
335
|
| "neighborCleaning"
|
|
324
336
|
| "nearestGateway"
|
|
325
337
|
| "keepAlive"
|
|
338
|
+
| "zigbeeDirectConfiguration"
|
|
326
339
|
| "closuresShadeCfg"
|
|
327
340
|
| "closuresDoorLock"
|
|
328
341
|
| "closuresWindowCovering"
|
|
@@ -416,17 +429,5 @@ export type ClusterName =
|
|
|
416
429
|
| "haElectricalMeasurement"
|
|
417
430
|
| "haDiagnostic"
|
|
418
431
|
| "touchlink"
|
|
419
|
-
| "manuSpecificPhilips"
|
|
420
|
-
| "manuSpecificPhilips2"
|
|
421
|
-
| "manuSpecificSinope"
|
|
422
432
|
| "manuSpecificTuya"
|
|
423
|
-
| "manuSpecificLumi"
|
|
424
|
-
| "manuSpecificTuya2"
|
|
425
|
-
| "manuSpecificTuya3"
|
|
426
|
-
| "manuSpecificSmartThingsArrivalSensor"
|
|
427
|
-
| "manuSpecificSiglisZigfred"
|
|
428
|
-
| "owonClearMetering"
|
|
429
|
-
| "zosungIRTransmit"
|
|
430
|
-
| "zosungIRControl"
|
|
431
|
-
| "manuSpecificProfalux1"
|
|
432
433
|
| "manuSpecificAmazonWWAH";
|