zigbee-herdsman-converters 25.56.0 → 25.58.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.
@@ -1 +1 @@
1
- {"version":3,"file":"somfy.d.ts","sourceRoot":"","sources":["../../src/devices/somfy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAIvD,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAqG7C,CAAC"}
1
+ {"version":3,"file":"somfy.d.ts","sourceRoot":"","sources":["../../src/devices/somfy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAIvD,eAAO,MAAM,WAAW,EAAE,oBAAoB,EA4G7C,CAAC"}
@@ -76,6 +76,13 @@ exports.definitions = [
76
76
  description: "Sonesse 30 DC 24V roller shades",
77
77
  extend: [m.windowCovering({ controls: ["lift"] })],
78
78
  },
79
+ {
80
+ zigbeeModel: ["Sonesse2 40 Zigbee Roller"],
81
+ model: "1245920",
82
+ vendor: "SOMFY",
83
+ description: "Sonesse2 40 Zigbee roller shades",
84
+ extend: [m.windowCovering({ controls: ["lift"] })],
85
+ },
79
86
  {
80
87
  zigbeeModel: ["Ysia 5 HP Zigbee"],
81
88
  model: "1871154",
@@ -1 +1 @@
1
- {"version":3,"file":"somfy.js","sourceRoot":"","sources":["../../src/devices/somfy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"somfy.js","sourceRoot":"","sources":["../../src/devices/somfy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sonoff.d.ts","sourceRoot":"","sources":["../../src/devices/sonoff.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,oBAAoB,EAAiC,MAAM,cAAc,CAAC;AA2IvF,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,0BAA0B,EAAE,MAAM,CAAC;QACnC,4BAA4B,EAAE,MAAM,CAAC;QACrC,cAAc,EAAE,MAAM,CAAC;QACvB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;QAE5B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACN,YAAY,EAAE;YAAC,IAAI,EAAE,MAAM,EAAE,CAAA;SAAC,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE,KAAK,CAAC;CAC3B;AAm8BD,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAshD7C,CAAC"}
1
+ {"version":3,"file":"sonoff.d.ts","sourceRoot":"","sources":["../../src/devices/sonoff.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAC,oBAAoB,EAAyC,MAAM,cAAc,CAAC;AAgK/F,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,0BAA0B,EAAE,MAAM,CAAC;QACnC,4BAA4B,EAAE,MAAM,CAAC;QACrC,cAAc,EAAE,MAAM,CAAC;QACvB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;QAE5B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACN,YAAY,EAAE;YAAC,IAAI,EAAE,MAAM,EAAE,CAAA;SAAC,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE,KAAK,CAAC;CAC3B;AA+8BD,eAAO,MAAM,WAAW,EAAE,oBAAoB,EA+tD7C,CAAC"}
@@ -55,6 +55,16 @@ const defaultResponseOptions = { disableDefaultResponse: false };
55
55
  const e = exposes.presets;
56
56
  const ea = exposes.access;
57
57
  const fzLocal = {
58
+ key_action_event: {
59
+ cluster: "customSonoffSnzb01m",
60
+ type: ["attributeReport", "readResponse"],
61
+ convert: (model, msg, publish, options, meta) => {
62
+ if ("keyActionEvent" in msg.data) {
63
+ const event = utils.getFromLookup(msg.data.keyActionEvent, { 1: "single", 2: "double", 3: "long", 4: "triple" });
64
+ return { action: `${event}_button_${msg.endpoint.ID}` };
65
+ }
66
+ },
67
+ },
58
68
  router_config: {
59
69
  cluster: "genLevelCtrl",
60
70
  type: ["attributeReport", "readResponse"],
@@ -131,10 +141,10 @@ const sonoffExtend = {
131
141
  commandsResponse: {},
132
142
  }),
133
143
  inchingControlSet: (args = {}) => {
134
- const { entityCategory } = args;
144
+ const { endpointNames = undefined } = args;
135
145
  const clusterName = "customClusterEwelink";
136
146
  const commandName = "protocolData";
137
- let exposes = e
147
+ const exposes = utils.exposeEndpoints(e
138
148
  .composite("inching_control_set", "inching_control_set", ea.SET)
139
149
  .withDescription("Device Inching function Settings. The device will automatically turn off (turn on) " +
140
150
  "after each turn on (turn off) for a specified period of time.")
@@ -146,16 +156,19 @@ const sonoffExtend = {
146
156
  .withValueMin(0.5)
147
157
  .withValueMax(3599.5)
148
158
  .withValueStep(0.5))
149
- .withFeature(e.binary("inching_mode", ea.SET, "ON", "OFF").withDescription("Set inching off or inching on mode.").withValueToggle("ON"));
150
- if (entityCategory)
151
- exposes = exposes.withCategory(entityCategory);
159
+ .withFeature(e.binary("inching_mode", ea.SET, "ON", "OFF").withDescription("Set inching off or inching on mode.").withValueToggle("ON")), endpointNames);
152
160
  const toZigbee = [
153
161
  {
154
162
  key: ["inching_control_set"],
155
163
  convertSet: async (entity, key, value, meta) => {
156
- const inchingControl = "inching_control";
157
- const inchingTime = "inching_time";
158
- const inchingMode = "inching_mode";
164
+ let inchingControl = "inching_control";
165
+ let inchingTime = "inching_time";
166
+ let inchingMode = "inching_mode";
167
+ if (meta.endpoint_name) {
168
+ inchingControl = `inching_control_${meta.endpoint_name}`;
169
+ inchingTime = `inching_time_${meta.endpoint_name}`;
170
+ inchingMode = `inching_mode_${meta.endpoint_name}`;
171
+ }
159
172
  const tmpTime = Number(Math.round(Number((value[inchingTime] * 2).toFixed(1))).toFixed(1));
160
173
  const payloadValue = [];
161
174
  payloadValue[0] = 0x01; // Cmd
@@ -169,7 +182,12 @@ const sonoffExtend = {
169
182
  if (value[inchingMode] !== "OFF") {
170
183
  payloadValue[4] |= 0x01;
171
184
  }
172
- payloadValue[5] = 0x00; // Channel
185
+ if (meta.endpoint_name === "l2") {
186
+ payloadValue[5] = 0x01; // Channel 2
187
+ }
188
+ else {
189
+ payloadValue[5] = 0x00; // Channel 1
190
+ }
173
191
  payloadValue[6] = tmpTime & 0xff; // Timeout
174
192
  payloadValue[7] = (tmpTime >> 8) & 0xff;
175
193
  payloadValue[8] = 0x00; // Reserve
@@ -184,7 +202,7 @@ const sonoffExtend = {
184
202
  },
185
203
  ];
186
204
  return {
187
- exposes: [exposes],
205
+ exposes: exposes,
188
206
  fromZigbee: [],
189
207
  toZigbee,
190
208
  isModernExtend: true,
@@ -492,16 +510,13 @@ const sonoffExtend = {
492
510
  };
493
511
  },
494
512
  externalSwitchTriggerMode: (args = {}) => {
495
- const { entityCategory } = args;
496
513
  const clusterName = "customClusterEwelink";
497
514
  const attributeName = "externalTriggerMode";
498
- let exposes = e
499
- .enum("external_trigger_mode", ea.ALL, ["edge", "pulse", "following(off)", "following(on)"])
500
- .withDescription("External trigger mode, which can be one of edge, pulse, " +
515
+ const { endpointNames = undefined } = args;
516
+ const description = "External trigger mode, which can be one of edge, pulse, " +
501
517
  "following(off), following(on). The appropriate triggering mode can be selected according to the type of " +
502
- "external switch to achieve a better use experience.");
503
- if (entityCategory)
504
- exposes = exposes.withCategory(entityCategory);
518
+ "external switch to achieve a better use experience.";
519
+ const exposes = utils.exposeEndpoints(e.enum("external_trigger_mode", ea.ALL, ["edge", "pulse", "following(off)", "following(on)"]).withDescription(description), endpointNames);
505
520
  const fromZigbee = [
506
521
  {
507
522
  cluster: clusterName,
@@ -541,7 +556,7 @@ const sonoffExtend = {
541
556
  },
542
557
  ];
543
558
  return {
544
- exposes: [exposes],
559
+ exposes: exposes,
545
560
  fromZigbee,
546
561
  toZigbee,
547
562
  isModernExtend: true,
@@ -1127,9 +1142,9 @@ exports.definitions = [
1127
1142
  },
1128
1143
  {
1129
1144
  zigbeeModel: ["Dongle-PMG24_ZBRouter"],
1130
- model: "PMG24_router",
1145
+ model: "Dongle-PMG24",
1131
1146
  vendor: "SONOFF",
1132
- description: "Router",
1147
+ description: "Zigbee Dongle Plus MG24 (EFR32MG24) with router firmware",
1133
1148
  fromZigbee: [fz.linkquality_from_basic],
1134
1149
  toZigbee: [],
1135
1150
  exposes: [],
@@ -1512,13 +1527,22 @@ exports.definitions = [
1512
1527
  },
1513
1528
  {
1514
1529
  zigbeeModel: ["Dongle-M_ZBRouter"],
1515
- model: "ZBDongle-M",
1530
+ model: "Dongle-M",
1516
1531
  vendor: "SONOFF",
1517
1532
  description: "Dongle Max MG24 (EFR32MG24) with router firmware",
1518
1533
  fromZigbee: [fz.linkquality_from_basic],
1519
1534
  toZigbee: [],
1520
1535
  extend: [m.forcePowerSource({ powerSource: "Mains (single phase)" })],
1521
1536
  },
1537
+ {
1538
+ zigbeeModel: ["Dongle-LMG21_ZBRouter"],
1539
+ model: "Dongle-LMG21",
1540
+ vendor: "SONOFF",
1541
+ description: "Dongle Lite Zigbee MG21 (EFR32MG21) with router firmware",
1542
+ fromZigbee: [fz.linkquality_from_basic],
1543
+ toZigbee: [],
1544
+ extend: [m.forcePowerSource({ powerSource: "Mains (single phase)" })],
1545
+ },
1522
1546
  {
1523
1547
  zigbeeModel: ["ZBCurtain"],
1524
1548
  model: "ZBCurtain",
@@ -1560,6 +1584,45 @@ exports.definitions = [
1560
1584
  ],
1561
1585
  ota: true,
1562
1586
  },
1587
+ {
1588
+ zigbeeModel: ["SNZB-01M"],
1589
+ model: "SNZB-01M",
1590
+ vendor: "SONOFF",
1591
+ description: "Four-way wireless button",
1592
+ fromZigbee: [fzLocal.key_action_event],
1593
+ exposes: [
1594
+ e.action([
1595
+ "single_button_1",
1596
+ "double_button_1",
1597
+ "long_button_1",
1598
+ "triple_button_1",
1599
+ "single_button_2",
1600
+ "double_button_2",
1601
+ "long_button_2",
1602
+ "triple_button_2",
1603
+ "single_button_3",
1604
+ "double_button_3",
1605
+ "long_button_3",
1606
+ "triple_button_3",
1607
+ "single_button_4",
1608
+ "double_button_4",
1609
+ "long_button_4",
1610
+ "triple_button_4",
1611
+ ]),
1612
+ ],
1613
+ extend: [
1614
+ m.battery({ percentage: true, percentageReporting: true }),
1615
+ m.deviceAddCustomCluster("customSonoffSnzb01m", {
1616
+ ID: 0xfc12,
1617
+ attributes: {
1618
+ keyActionEvent: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1619
+ },
1620
+ commands: {},
1621
+ commandsResponse: {},
1622
+ }),
1623
+ ],
1624
+ ota: true,
1625
+ },
1563
1626
  {
1564
1627
  zigbeeModel: ["SNZB-02P"],
1565
1628
  model: "SNZB-02P",
@@ -2142,8 +2205,8 @@ exports.definitions = [
2142
2205
  valueOff: [false, 0],
2143
2206
  valueOn: [true, 1],
2144
2207
  }),
2145
- sonoffExtend.externalSwitchTriggerMode({ entityCategory: "config" }),
2146
- sonoffExtend.inchingControlSet({ entityCategory: "config" }),
2208
+ sonoffExtend.externalSwitchTriggerMode(),
2209
+ sonoffExtend.inchingControlSet(),
2147
2210
  ],
2148
2211
  ota: true,
2149
2212
  configure: async (device, coordinatorEndpoint) => {
@@ -2425,7 +2488,7 @@ exports.definitions = [
2425
2488
  description: "The motor's current operating status, such as forward rotation, reverse rotation, and stop.",
2426
2489
  access: "STATE_GET",
2427
2490
  }),
2428
- sonoffExtend.externalSwitchTriggerMode({ entityCategory: "config" }),
2491
+ sonoffExtend.externalSwitchTriggerMode(),
2429
2492
  ],
2430
2493
  ota: true,
2431
2494
  configure: async (device, coordinatorEndpoint) => {
@@ -2433,5 +2496,157 @@ exports.definitions = [
2433
2496
  await endpoint.read("customClusterEwelink", ["radioPower", 0x0016, 0x5012, 0x5013], defaultResponseOptions);
2434
2497
  },
2435
2498
  },
2499
+ {
2500
+ zigbeeModel: ["MINI-ZB2GS"],
2501
+ model: "MINI-ZB2GS",
2502
+ vendor: "SONOFF",
2503
+ description: "Zigbee dual-channel smart switch",
2504
+ exposes: [],
2505
+ ota: true,
2506
+ extend: [
2507
+ m.deviceEndpoints({ endpoints: { l1: 1, l2: 2 } }),
2508
+ m.commandsOnOff({ commands: ["toggle"], endpointNames: ["l1", "l2"] }),
2509
+ m.onOff({ endpointNames: ["l1", "l2"] }),
2510
+ sonoffExtend.addCustomClusterEwelink(),
2511
+ sonoffExtend.externalSwitchTriggerMode({ endpointNames: ["l1", "l2"] }),
2512
+ sonoffExtend.detachRelayModeControl(2),
2513
+ sonoffExtend.inchingControlSet({ endpointNames: ["l1", "l2"] }),
2514
+ m.binary({
2515
+ name: "network_indicator",
2516
+ cluster: "customClusterEwelink",
2517
+ attribute: "networkLed",
2518
+ description: "Network indicator settings, turn off/on the blue online status network indicator.",
2519
+ valueOff: [false, 0],
2520
+ valueOn: [true, 1],
2521
+ }),
2522
+ m.binary({
2523
+ name: "turbo_mode",
2524
+ cluster: "customClusterEwelink",
2525
+ attribute: "radioPower",
2526
+ description: "Enable/disable Radio power turbo mode",
2527
+ entityCategory: "config",
2528
+ valueOff: [false, 0x09],
2529
+ valueOn: [true, 0x14],
2530
+ }),
2531
+ m.binary({
2532
+ name: "delayed_power_on_state_channel_1",
2533
+ cluster: "customClusterEwelink",
2534
+ attribute: "delayedPowerOnState",
2535
+ description: "Delayed Power-on State(Channel 1)",
2536
+ entityCategory: "config",
2537
+ valueOff: [false, 0],
2538
+ valueOn: [true, 1],
2539
+ endpointName: "l1",
2540
+ }),
2541
+ m.binary({
2542
+ name: "delayed_power_on_state_channel_2",
2543
+ cluster: "customClusterEwelink",
2544
+ attribute: "delayedPowerOnState",
2545
+ description: "Delayed Power-on State(Channel 2)",
2546
+ entityCategory: "config",
2547
+ valueOff: [false, 0],
2548
+ valueOn: [true, 1],
2549
+ endpointName: "l2",
2550
+ }),
2551
+ m.numeric({
2552
+ name: "delayed_power_on_time",
2553
+ cluster: "customClusterEwelink",
2554
+ attribute: "delayedPowerOnTime",
2555
+ description: "Delayed Power-on time",
2556
+ entityCategory: "config",
2557
+ valueMin: 0.5,
2558
+ valueMax: 3599.5,
2559
+ valueStep: 0.5,
2560
+ unit: "seconds",
2561
+ scale: 2,
2562
+ endpointNames: ["l1", "l2"],
2563
+ }),
2564
+ ],
2565
+ configure: async (device, coordinatorEndpoint) => {
2566
+ const endpoint1 = device.getEndpoint(1);
2567
+ await reporting.bind(endpoint1, coordinatorEndpoint, ["genOnOff", "customClusterEwelink"]);
2568
+ await reporting.onOff(endpoint1, { min: 1, max: 1800, change: 0 });
2569
+ await endpoint1.read("genOnOff", [0x0000, 0x4003], defaultResponseOptions);
2570
+ await endpoint1.read("customClusterEwelink", [0x0014, 0x0015, 0x0016, 0x0019], defaultResponseOptions);
2571
+ await endpoint1.configureReporting("customClusterEwelink", [
2572
+ { attribute: "externalTriggerMode", minimumReportInterval: 0, maximumReportInterval: 3600, reportableChange: 1 },
2573
+ ]);
2574
+ const endpoint2 = device.getEndpoint(2);
2575
+ await reporting.bind(endpoint2, coordinatorEndpoint, ["genOnOff", "customClusterEwelink"]);
2576
+ await reporting.onOff(endpoint2, { min: 1, max: 1800, change: 0 });
2577
+ await endpoint2.read("genOnOff", [0x0000, 0x4003], defaultResponseOptions);
2578
+ await endpoint1.read("customClusterEwelink", [0x0014, 0x0015, 0x0016], defaultResponseOptions);
2579
+ await endpoint2.configureReporting("customClusterEwelink", [
2580
+ { attribute: "externalTriggerMode", minimumReportInterval: 0, maximumReportInterval: 3600, reportableChange: 1 },
2581
+ ]);
2582
+ },
2583
+ },
2584
+ {
2585
+ zigbeeModel: ["MINI-ZB2GS-L"],
2586
+ model: "MINI-ZB2GS-L",
2587
+ vendor: "SONOFF",
2588
+ description: "Zigbee dual-channel smart switch",
2589
+ exposes: [],
2590
+ ota: true,
2591
+ extend: [
2592
+ m.deviceEndpoints({ endpoints: { l1: 1, l2: 2 } }),
2593
+ m.commandsOnOff({ commands: ["toggle"], endpointNames: ["l1", "l2"] }),
2594
+ m.onOff({ endpointNames: ["l1", "l2"] }),
2595
+ sonoffExtend.addCustomClusterEwelink(),
2596
+ sonoffExtend.externalSwitchTriggerMode({ endpointNames: ["l1", "l2"] }),
2597
+ sonoffExtend.detachRelayModeControl(2),
2598
+ m.binary({
2599
+ name: "delayed_power_on_state_channel_1",
2600
+ cluster: "customClusterEwelink",
2601
+ attribute: "delayedPowerOnState",
2602
+ description: "Delayed Power-on State(Channel 1)",
2603
+ entityCategory: "config",
2604
+ valueOff: [false, 0],
2605
+ valueOn: [true, 1],
2606
+ endpointName: "l1",
2607
+ }),
2608
+ m.binary({
2609
+ name: "delayed_power_on_state_channel_2",
2610
+ cluster: "customClusterEwelink",
2611
+ attribute: "delayedPowerOnState",
2612
+ description: "Delayed Power-on State(Channel 2)",
2613
+ entityCategory: "config",
2614
+ valueOff: [false, 0],
2615
+ valueOn: [true, 1],
2616
+ endpointName: "l2",
2617
+ }),
2618
+ m.numeric({
2619
+ name: "delayed_power_on_time",
2620
+ cluster: "customClusterEwelink",
2621
+ attribute: "delayedPowerOnTime",
2622
+ description: "Delayed Power-on time",
2623
+ entityCategory: "config",
2624
+ valueMin: 0.5,
2625
+ valueMax: 3599.5,
2626
+ valueStep: 0.5,
2627
+ unit: "seconds",
2628
+ scale: 2,
2629
+ endpointNames: ["l1", "l2"],
2630
+ }),
2631
+ ],
2632
+ configure: async (device, coordinatorEndpoint) => {
2633
+ const endpoint1 = device.getEndpoint(1);
2634
+ await reporting.bind(endpoint1, coordinatorEndpoint, ["genOnOff", "customClusterEwelink"]);
2635
+ await reporting.onOff(endpoint1, { min: 1, max: 1800, change: 0 });
2636
+ await endpoint1.read("genOnOff", [0x0000, 0x4003], defaultResponseOptions);
2637
+ await endpoint1.read("customClusterEwelink", [0x0014, 0x0015, 0x0016, 0x0019], defaultResponseOptions);
2638
+ await endpoint1.configureReporting("customClusterEwelink", [
2639
+ { attribute: "externalTriggerMode", minimumReportInterval: 0, maximumReportInterval: 3600, reportableChange: 1 },
2640
+ ]);
2641
+ const endpoint2 = device.getEndpoint(2);
2642
+ await reporting.bind(endpoint2, coordinatorEndpoint, ["genOnOff", "customClusterEwelink"]);
2643
+ await reporting.onOff(endpoint2, { min: 1, max: 1800, change: 0 });
2644
+ await endpoint2.read("genOnOff", [0x0000, 0x4003], defaultResponseOptions);
2645
+ await endpoint1.read("customClusterEwelink", [0x0014, 0x0015, 0x0016], defaultResponseOptions);
2646
+ await endpoint2.configureReporting("customClusterEwelink", [
2647
+ { attribute: "externalTriggerMode", minimumReportInterval: 0, maximumReportInterval: 3600, reportableChange: 1 },
2648
+ ]);
2649
+ },
2650
+ },
2436
2651
  ];
2437
2652
  //# sourceMappingURL=sonoff.js.map