zigbee-clusters 2.1.2 → 2.2.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.
Files changed (2) hide show
  1. package/index.d.ts +110 -3
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -10,7 +10,7 @@ type ConstructorOptions = {
10
10
  endpointDescriptors: EndpointDescriptor[];
11
11
  sendFrame: (endpointId: number, clusterId: number, frame: Buffer) => Promise<void>;
12
12
  };
13
- type ZCLNodeCluster = EventEmitter & {
13
+ interface ZCLNodeCluster extends EventEmitter {
14
14
  /**
15
15
  * Command which requests the remote cluster to report its generated commands. Generated
16
16
  * commands are commands which may be sent by the remote cluster.
@@ -171,10 +171,114 @@ type ZCLNodeCluster = EventEmitter & {
171
171
  * attribute is implemented in zigbee-clusters.
172
172
  */
173
173
  discoverAttributesExtended(): Promise<any[]>;
174
- };
174
+ }
175
+
176
+ interface OnOffCluster extends ZCLNodeCluster {
177
+ setOn(): Promise<void>;
178
+ setOff(): Promise<void>;
179
+ toggle(): Promise<void>;
180
+ offWithEffect({
181
+ effectIdentifier,
182
+ effectVariant,
183
+ }: {
184
+ effectIdentifier: number;
185
+ effectVariant: number;
186
+ }): Promise<void>;
187
+ onWithRecallGlobalScene(): Promise<void>;
188
+ onWithTimedOff({
189
+ onOffControl,
190
+ onTime,
191
+ offWaitTime,
192
+ }: {
193
+ onOffControl: number;
194
+ onTime: number;
195
+ offWaitTime: number;
196
+ }): Promise<void>;
197
+ }
198
+
199
+ interface LevelControlCluster extends ZCLNodeCluster {
200
+ moveToLevel({ level, transitionTime }: { level: number; transitionTime: number }): Promise<void>;
201
+ move({ moveMode, rate }: { moveMode: "up" | "down"; rate: number }): Promise<void>;
202
+ step({
203
+ moveMode,
204
+ stepSize,
205
+ transitionTime,
206
+ }: {
207
+ moveMode: "up" | "down";
208
+ stepSize: number;
209
+ transitionTime: number;
210
+ }): Promise<void>;
211
+ moveToLevelWithOnOff({
212
+ level,
213
+ transitionTime,
214
+ }: {
215
+ level: number;
216
+ transitionTime: number;
217
+ }): Promise<void>;
218
+ moveWithOnOff({ moveMode, rate }: { moveMode: "up" | "down"; rate: number }): Promise<void>;
219
+ stepWithOnOff({
220
+ moveMode,
221
+ stepSize,
222
+ transitionTime,
223
+ }: {
224
+ moveMode: "up" | "down";
225
+ stepSize: number;
226
+ transitionTime: number;
227
+ }): Promise<void>;
228
+ stopWithOnOff(): Promise<void>;
229
+ }
230
+
231
+ interface ColorControlCluster extends ZCLNodeCluster {
232
+ moveToHue({
233
+ hue,
234
+ direction,
235
+ transitionTime,
236
+ }: {
237
+ hue: number;
238
+ direction: "shortestDistance" | "longestDistance" | "up" | "down";
239
+ transitionTime: number;
240
+ }): Promise<void>;
241
+ moveToSaturation({
242
+ saturation,
243
+ transitionTime,
244
+ }: {
245
+ saturation: number;
246
+ transitionTime: number;
247
+ }): Promise<void>;
248
+ moveToHueAndSaturation({
249
+ hue,
250
+ saturation,
251
+ transitionTime,
252
+ }: {
253
+ hue: number;
254
+ saturation: number;
255
+ transitionTime: number;
256
+ }): Promise<void>;
257
+ moveToColor({
258
+ colorX,
259
+ colorY,
260
+ transitionTime,
261
+ }: {
262
+ colorX: number;
263
+ colorY: number;
264
+ transitionTime: number;
265
+ }): Promise<void>;
266
+ moveToColorTemperature({
267
+ colorTemperature,
268
+ transitionTime,
269
+ }: {
270
+ colorTemperature: number;
271
+ transitionTime: number;
272
+ }): Promise<void>;
273
+ }
175
274
 
176
275
  type ZCLNodeEndpoint = {
177
- clusters: { [clusterName: string]: ZCLNodeCluster };
276
+ clusters: {
277
+ onOff?: OnOffCluster;
278
+ levelControl?: LevelControlCluster;
279
+ colorControl?: ColorControlCluster;
280
+ [clusterName: string]: ZCLNodeCluster | undefined;
281
+ };
178
282
  };
179
283
 
180
284
  interface ZCLNode {
@@ -195,4 +299,7 @@ declare module "zigbee-clusters" {
195
299
  [key: string]: { ID: number; NAME: string; ATTRIBUTES: any; COMMANDS: any };
196
300
  };
197
301
  export var ZCLNodeCluster;
302
+ export var OnOffCluster;
303
+ export var LevelControlCluster;
304
+ export var ColorControlCluster;
198
305
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zigbee-clusters",
3
- "version": "2.1.2",
3
+ "version": "2.2.0",
4
4
  "description": "Zigbee Cluster Library for Node.js",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",