zigbee-herdsman-converters 25.77.0 → 25.78.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 (45) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/converters/actions.d.ts.map +1 -1
  3. package/dist/converters/actions.js +7 -3
  4. package/dist/converters/actions.js.map +1 -1
  5. package/dist/devices/hej.d.ts.map +1 -1
  6. package/dist/devices/hej.js +21 -0
  7. package/dist/devices/hej.js.map +1 -1
  8. package/dist/devices/lixee.d.ts.map +1 -1
  9. package/dist/devices/lixee.js +86 -25
  10. package/dist/devices/lixee.js.map +1 -1
  11. package/dist/devices/lumi.d.ts.map +1 -1
  12. package/dist/devices/lumi.js +63 -20
  13. package/dist/devices/lumi.js.map +1 -1
  14. package/dist/devices/lytko.d.ts.map +1 -1
  15. package/dist/devices/lytko.js +854 -0
  16. package/dist/devices/lytko.js.map +1 -1
  17. package/dist/devices/multir.js +2 -2
  18. package/dist/devices/multir.js.map +1 -1
  19. package/dist/devices/namron.d.ts.map +1 -1
  20. package/dist/devices/namron.js +2 -1
  21. package/dist/devices/namron.js.map +1 -1
  22. package/dist/devices/philips.d.ts.map +1 -1
  23. package/dist/devices/philips.js +14 -0
  24. package/dist/devices/philips.js.map +1 -1
  25. package/dist/devices/slacky_diy.js +1 -1
  26. package/dist/devices/slacky_diy.js.map +1 -1
  27. package/dist/devices/sunricher.d.ts.map +1 -1
  28. package/dist/devices/sunricher.js +13 -0
  29. package/dist/devices/sunricher.js.map +1 -1
  30. package/dist/devices/third_reality.d.ts.map +1 -1
  31. package/dist/devices/third_reality.js +5 -3
  32. package/dist/devices/third_reality.js.map +1 -1
  33. package/dist/devices/tuya.d.ts.map +1 -1
  34. package/dist/devices/tuya.js +5 -3
  35. package/dist/devices/tuya.js.map +1 -1
  36. package/dist/lib/lumi.d.ts +6 -0
  37. package/dist/lib/lumi.d.ts.map +1 -1
  38. package/dist/lib/lumi.js +77 -0
  39. package/dist/lib/lumi.js.map +1 -1
  40. package/dist/lib/modernExtend.d.ts +2 -1
  41. package/dist/lib/modernExtend.d.ts.map +1 -1
  42. package/dist/lib/modernExtend.js +39 -9
  43. package/dist/lib/modernExtend.js.map +1 -1
  44. package/dist/models-index.json +1 -1
  45. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [25.78.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v25.77.0...v25.78.0) (2025-11-27)
4
+
5
+
6
+ ### Features
7
+
8
+ * **add:** 4566702 https://github.com/Koenkk/zigbee2mqtt/issues/29836 ([0781a88](https://github.com/Koenkk/zigbee-herdsman-converters/commit/0781a884478dfbf2c41a102aba187196f07cce0c))
9
+ * **add:** 912401483126 ([#10865](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10865)) ([599ccf6](https://github.com/Koenkk/zigbee-herdsman-converters/commit/599ccf626a23778f98232c3e844596f495711110))
10
+ * **add:** 929003597702 https://github.com/Koenkk/zigbee2mqtt/issues/29844 ([e3e01e5](https://github.com/Koenkk/zigbee-herdsman-converters/commit/e3e01e556db4549c0d26c84b1d51c8524bab4f37))
11
+ * **add:** KKZ-DO021, KKZ-MO021, BDS03G2 ([#10872](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10872)) ([2fb4139](https://github.com/Koenkk/zigbee-herdsman-converters/commit/2fb41392ee5866c8ed92442a52dab858cf576f39))
12
+ * **add:** L101Ze-SLN, L101Ze-SLM, L101Ze-SBN, L101Ze-DLN, L101Ze-DLM, L101Ze-DBN ([#10854](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10854)) ([cec0cce](https://github.com/Koenkk/zigbee-herdsman-converters/commit/cec0cce47e62c2411cdf5bec6f9f5c2a4fc612da))
13
+ * **add:** ZGRC-KEY-017 ([#10869](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10869)) ([4716731](https://github.com/Koenkk/zigbee-herdsman-converters/commit/471673149ce84d407c9c1203ed951b6de8ebc4d7))
14
+ * Aqara T2, T1, T1M and T1: support more features ([#10876](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10876)) ([b2beebc](https://github.com/Koenkk/zigbee-herdsman-converters/commit/b2beebc1dffbe5d6a1f3a3829d95df33baedffb5))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **detect:** Detect `_TZE200_xby0s3ta` as Tuya TS0601_thermostat https://github.com/Koenkk/zigbee2mqtt/issues/29703 ([3463308](https://github.com/Koenkk/zigbee-herdsman-converters/commit/346330865c974c973af619237e24d7274b3e6ad1))
20
+ * **detect:** Detect `_TZE204_odlldrxx` and `_TZE200_odlldrxx` as Tuya TS0601_cover_1 ([#10877](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10877)) ([e0508b9](https://github.com/Koenkk/zigbee-herdsman-converters/commit/e0508b96397896e2b232224abdb1fed79c3b3743))
21
+ * **detect:** Detect `MIR-IR100` as MultIR MIR-IR100 ([#10881](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10881)) ([51c750d](https://github.com/Koenkk/zigbee-herdsman-converters/commit/51c750d9eb4f0657124f6c46197d8a9ac7f6eceb))
22
+ * **ignore:** Hue reset make extended pan ID optional ([#10857](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10857)) ([f5489b7](https://github.com/Koenkk/zigbee-herdsman-converters/commit/f5489b7b7b5b324b94281c25e109e4ab1251f7ec))
23
+ * LiXee ZLinky: move cluster definition to ZHC + default to 2 decimals places for kWh precision ([#10704](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10704)) ([0895019](https://github.com/Koenkk/zigbee-herdsman-converters/commit/089501953a0806fd6b696c518d4f3a43b7ba38c1))
24
+ * SlackDiy: update manuf_name values ([#10868](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10868)) ([e0c6615](https://github.com/Koenkk/zigbee-herdsman-converters/commit/e0c66157fbc36dd660807e9e041da091c1d87af0))
25
+ * Third Reality 3RDP01072Z: update endpoint names ([#10871](https://github.com/Koenkk/zigbee-herdsman-converters/issues/10871)) ([d9228c3](https://github.com/Koenkk/zigbee-herdsman-converters/commit/d9228c3d40f57a28021eea500c602f0d08593ddc))
26
+
3
27
  ## [25.77.0](https://github.com/Koenkk/zigbee-herdsman-converters/compare/v25.76.0...v25.77.0) (2025-11-26)
4
28
 
5
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/converters/actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,UAAU,EAAM,MAAM,iBAAiB,CAAC;AAQrD,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,wBAAwB;IACxB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB,wBAAwB;IACxB,GAAG,CAAC,EAAE;QACF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;KACjE,CAAC;IACF,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,yEAAyE;AACzE,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,CAsEpI,CAAC;AACF,uEAAuE"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/converters/actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,UAAU,EAAM,MAAM,iBAAiB,CAAC;AAQrD,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,wBAAwB;IACxB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB,wBAAwB;IACxB,GAAG,CAAC,EAAE;QACF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;KACjE,CAAC;IACF,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,yEAAyE;AACzE,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,CA0EpI,CAAC;AACF,uEAAuE"}
@@ -91,8 +91,12 @@ exports.ACTIONS = {
91
91
  }
92
92
  return await controller.sendRaw(rawPayload);
93
93
  },
94
- hue_factory_reset: async (controller, args) => {
95
- (0, node_assert_1.default)(typeof args.extended_pan_id === "string" && /^0x[a-f0-9]{16}$/.test(args.extended_pan_id));
94
+ philips_hue_factory_reset: async (controller, args) => {
95
+ let extendedPanId = args.extended_pan_id;
96
+ if (!extendedPanId) {
97
+ extendedPanId = (await controller.getNetworkParameters()).extendedPanID;
98
+ }
99
+ (0, node_assert_1.default)(typeof extendedPanId === "string" && /^0x[a-f0-9]{16}$/.test(extendedPanId));
96
100
  (0, node_assert_1.default)(Array.isArray(args.serial_numbers) && args.serial_numbers.length > 0);
97
101
  const rawPayload = {
98
102
  clusterKey: "manuSpecificPhilipsPairing",
@@ -104,7 +108,7 @@ exports.ACTIONS = {
104
108
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SIGNIFY_NETHERLANDS_B_V,
105
109
  tsn: 0,
106
110
  commandKey: "hueResetRequest",
107
- payload: { extendedPanId: args.extended_pan_id, serialCount: args.serial_numbers.length, serialNumbers: args.serial_numbers },
111
+ payload: { extendedPanId, serialCount: args.serial_numbers.length, serialNumbers: args.serial_numbers },
108
112
  },
109
113
  disableResponse: true,
110
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/converters/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/converters/actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hej.d.ts","sourceRoot":"","sources":["../../src/devices/hej.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAEvD,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAkE7C,CAAC"}
1
+ {"version":3,"file":"hej.d.ts","sourceRoot":"","sources":["../../src/devices/hej.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAIvD,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAoF7C,CAAC"}
@@ -34,7 +34,10 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.definitions = void 0;
37
+ const fz = __importStar(require("../converters/fromZigbee"));
38
+ const exposes = __importStar(require("../lib/exposes"));
37
39
  const m = __importStar(require("../lib/modernExtend"));
40
+ const e = exposes.presets;
38
41
  exports.definitions = [
39
42
  {
40
43
  zigbeeModel: ["HejSW01"],
@@ -101,5 +104,23 @@ exports.definitions = [
101
104
  }),
102
105
  ],
103
106
  },
107
+ {
108
+ fingerprint: [{ modelID: "RH3001", manufacturerName: "TUYATEC-ktge2vqt" }],
109
+ model: "KKZ-DO021",
110
+ vendor: "Hej",
111
+ description: "Door contact sensor",
112
+ fromZigbee: [fz.ias_contact_alarm_1, fz.battery],
113
+ toZigbee: [],
114
+ exposes: [e.contact(), e.battery()],
115
+ },
116
+ {
117
+ fingerprint: [{ modelID: "RH3040", manufacturerName: "TUYATEC-smmlguju" }],
118
+ model: "KKZ-MO021",
119
+ vendor: "Hej",
120
+ description: "PIR sensor",
121
+ fromZigbee: [fz.battery, fz.ias_occupancy_alarm_1],
122
+ toZigbee: [],
123
+ exposes: [e.battery(), e.occupancy()],
124
+ },
104
125
  ];
105
126
  //# sourceMappingURL=hej.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hej.js","sourceRoot":"","sources":["../../src/devices/hej.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hej.js","sourceRoot":"","sources":["../../src/devices/hej.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lixee.d.ts","sourceRoot":"","sources":["../../src/devices/lixee.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,oBAAoB,EAAuB,MAAM,cAAc,CAAC;AAwtD7E,eAAO,MAAM,WAAW,EAAE,oBAAoB,EA2N7C,CAAC"}
1
+ {"version":3,"file":"lixee.d.ts","sourceRoot":"","sources":["../../src/devices/lixee.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,oBAAoB,EAA8C,MAAM,cAAc,CAAC;AA6xDpG,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAuN7C,CAAC"}
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.definitions = void 0;
37
37
  const node_buffer_1 = require("node:buffer");
38
+ const zigbee_herdsman_1 = require("zigbee-herdsman");
38
39
  const fz = __importStar(require("../converters/fromZigbee"));
39
40
  const constants_1 = require("../lib/constants");
40
41
  const exposes = __importStar(require("../lib/exposes"));
@@ -45,6 +46,72 @@ const utils = __importStar(require("../lib/utils"));
45
46
  const ea = exposes.access;
46
47
  const e = exposes.presets;
47
48
  const NS = "zhc:lixee";
49
+ const local = {
50
+ modernExtend: {
51
+ readAttributesOnStartup: () => {
52
+ const onEvent = (event) => {
53
+ if (event.type === "start") {
54
+ event.data.device
55
+ .getEndpoint(1)
56
+ .read("liXeePrivate", ["linkyMode", "currentTarif"], { manufacturerCode: null })
57
+ .catch((e) => {
58
+ // https://github.com/Koenkk/zigbee2mqtt/issues/11674
59
+ logger_1.logger.warning(`Failed to read Zigbee attributes during startup: ${e}`, NS);
60
+ });
61
+ }
62
+ };
63
+ return { onEvent: [onEvent], isModernExtend: true };
64
+ },
65
+ addCustomClusterManuSpecificLixee: () => m.deviceAddCustomCluster("liXeePrivate", {
66
+ ID: 0xff66,
67
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.NXP_SEMICONDUCTORS,
68
+ attributes: {
69
+ currentTarif: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR },
70
+ tomorrowColor: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR },
71
+ scheduleHPHC: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
72
+ presencePotential: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
73
+ startNoticeEJP: { ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
74
+ warnDPS: { ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
75
+ warnDIR1: { ID: 0x0006, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
76
+ warnDIR2: { ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
77
+ warnDIR3: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
78
+ motDEtat: { ID: 0x0009, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR },
79
+ currentPrice: { ID: 0x0200, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR },
80
+ currentIndexTarif: { ID: 0x0201, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
81
+ currentDate: { ID: 0x0202, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR },
82
+ activeEnergyOutD01: { ID: 0x0203, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
83
+ activeEnergyOutD02: { ID: 0x0204, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
84
+ activeEnergyOutD03: { ID: 0x0205, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
85
+ activeEnergyOutD04: { ID: 0x0206, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
86
+ injectedVA: { ID: 0x0207, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
87
+ injectedVAMaxN: { ID: 0x0208, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
88
+ injectedVAMaxN1: { ID: 0x0209, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
89
+ injectedActiveLoadN: { ID: 0x0210, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
90
+ injectedActiveLoadN1: { ID: 0x0211, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
91
+ drawnVAMaxN1: { ID: 0x0212, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
92
+ drawnVAMaxN1P2: { ID: 0x0213, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
93
+ drawnVAMaxN1P3: { ID: 0x0214, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
94
+ message1: { ID: 0x0215, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR },
95
+ message2: { ID: 0x0216, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR },
96
+ statusRegister: { ID: 0x0217, type: zigbee_herdsman_1.Zcl.DataType.OCTET_STR },
97
+ startMobilePoint1: { ID: 0x0218, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
98
+ stopMobilePoint1: { ID: 0x0219, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
99
+ startMobilePoint2: { ID: 0x0220, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
100
+ stopMobilePoint2: { ID: 0x0221, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
101
+ startMobilePoint3: { ID: 0x0222, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
102
+ stopMobilePoint3: { ID: 0x0223, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
103
+ relais: { ID: 0x0224, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
104
+ daysNumberCurrentCalendar: { ID: 0x0225, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
105
+ daysNumberNextCalendar: { ID: 0x0226, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
106
+ daysProfileCurrentCalendar: { ID: 0x0227, type: zigbee_herdsman_1.Zcl.DataType.LONG_OCTET_STR },
107
+ daysProfileNextCalendar: { ID: 0x0228, type: zigbee_herdsman_1.Zcl.DataType.LONG_OCTET_STR },
108
+ linkyMode: { ID: 0x0300, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
109
+ },
110
+ commands: {},
111
+ commandsResponse: {},
112
+ }),
113
+ },
114
+ };
48
115
  /* Start ZiPulses */
49
116
  const unitsZiPulses = [
50
117
  "kWh",
@@ -193,7 +260,7 @@ const fzLocal = {
193
260
  /* 0x0227 */ "daysProfileCurrentCalendar",
194
261
  /* 0x0228 */ "daysProfileNextCalendar",
195
262
  ];
196
- const kWhP = options?.kWh_precision ? options.kWh_precision : 0;
263
+ const kWhP = options?.kWh_precision ? options.kWh_precision : 2;
197
264
  utils.assertNumber(kWhP);
198
265
  for (const at of elements) {
199
266
  const at_snake = at
@@ -408,7 +475,7 @@ const fzLocal = {
408
475
  /* 0x0307 */ "siteId",
409
476
  /* 0x0308 */ "meterSerialNumber",
410
477
  ];
411
- const kWhP = options?.kWh_precision ? options.kWh_precision : 0;
478
+ const kWhP = options?.kWh_precision ? options.kWh_precision : 2;
412
479
  for (const at of elements) {
413
480
  const at_snake = at
414
481
  .split(/(?=[A-Z])/)
@@ -1675,8 +1742,8 @@ function getCurrentConfig(device, options) {
1675
1742
  // @ts-expect-error ignore
1676
1743
  return ((lMode >> bitLinkyMode) & 1) === 1 ? valueTrue : valueFalse;
1677
1744
  }
1678
- catch {
1679
- logger_1.logger.warning(`Was not able to detect the Linky ${targetOption}. Default to ${valueDefault}`, NS);
1745
+ catch (error) {
1746
+ logger_1.logger.warning(`Was not able to detect the Linky's ${targetOption}. Defaulting to ${valueDefault}. Error: ${error}`, NS);
1680
1747
  return valueDefault; // default value in the worst case
1681
1748
  }
1682
1749
  }
@@ -1704,7 +1771,7 @@ function getCurrentConfig(device, options) {
1704
1771
  logger_1.logger.warning("Not able to detect the current tarif. Not filtering any expose...", NS);
1705
1772
  }
1706
1773
  }
1707
- logger_1.logger.debug(`zlinky config: ${linkyMode}, ${linkyPhase}, ${linkyProduction.toString()}, ${currentTarf}`, NS);
1774
+ logger_1.logger.debug(`zlinky config: mode=${linkyMode}, phases=${linkyPhase}, production=${linkyProduction}, tariff=${currentTarf}`, NS);
1708
1775
  switch (currentTarf) {
1709
1776
  case linkyMode === linkyModeDef.legacy && tarifsDef.histo_BASE.currentTarf:
1710
1777
  myExpose = myExpose.filter((a) => !tarifsDef.histo_BASE.excluded.includes(a.exposes.name));
@@ -1793,8 +1860,10 @@ exports.definitions = [
1793
1860
  .withDescription(`If you produce energy back to the grid (works ONLY when linky_mode: ${linkyModeDef.standard}, default: auto)`),
1794
1861
  e
1795
1862
  .enum("tarif", ea.SET, [...Object.entries(tarifsDef).map(([k, v]) => v.fname), "auto"])
1796
- .withDescription("Overrides the automatic current tarif. This option will exclude unnecessary attributes. Open a issue to support more of them. Default: auto"),
1797
- exposes.options.precision("kWh"),
1863
+ .withDescription("Overrides the automatic current tarif. This option will exclude unnecessary attributes. Open an issue to support more of them. Default: auto"),
1864
+ exposes.options
1865
+ .precision("kWh")
1866
+ .withDescription("Number of digits after decimal point for kWh, takes into effect on next report of device. Default: 2"),
1798
1867
  e
1799
1868
  .numeric("measurement_poll_chunk", ea.SET)
1800
1869
  .withValueMin(1)
@@ -1814,20 +1883,20 @@ exports.definitions = [
1814
1883
  ]);
1815
1884
  await endpoint.read("liXeePrivate", ["linkyMode", "currentTarif"], { manufacturerCode: null }).catch((e) => {
1816
1885
  // https://github.com/Koenkk/zigbee2mqtt/issues/11674
1817
- logger_1.logger.warning(`Failed to read zigbee attributes: ${e}`, NS);
1886
+ logger_1.logger.warning(`Failed to read Zigbee attributes during configure: ${e}`, NS);
1818
1887
  });
1819
1888
  const configReportings = [];
1820
- const suscribeNew = getCurrentConfig(device, {}).filter((e) => e.reportable);
1821
- const unsuscribe = endpoint.configuredReportings.filter((e) => !suscribeNew.some((r) => e.cluster.name === r.cluster && e.attribute.name === r.att));
1822
- // Unsuscribe reports that doesn't correspond with the current config
1823
- (await Promise.allSettled(unsuscribe.map((e) => endpoint.configureReporting(e.cluster.name, reporting.payload(
1889
+ const subscribeNew = getCurrentConfig(device, {}).filter((e) => e.reportable);
1890
+ const unsubscribe = endpoint.configuredReportings.filter((e) => !subscribeNew.some((r) => e.cluster.name === r.cluster && e.attribute.name === r.att));
1891
+ // Unsubscribe reports that doesn't correspond with the current config
1892
+ (await Promise.allSettled(unsubscribe.map((e) => endpoint.configureReporting(e.cluster.name, reporting.payload(
1824
1893
  // @ts-expect-error dynamic, expected correct since already applied
1825
1894
  e.attribute.name, e.minimumReportInterval, 65535, e.reportableChange), { manufacturerCode: null }))))
1826
1895
  .filter((e) => e.status === "rejected")
1827
1896
  .forEach((e) => {
1828
1897
  throw e.reason;
1829
1898
  });
1830
- for (const e of suscribeNew) {
1899
+ for (const e of subscribeNew) {
1831
1900
  let params = {
1832
1901
  att: e.att,
1833
1902
  min: constants_1.repInterval.MINUTE,
@@ -1854,6 +1923,7 @@ exports.definitions = [
1854
1923
  },
1855
1924
  ota: { manufacturerName: "LiXee" }, // TODO: not sure if it's set properly in device
1856
1925
  extend: [
1926
+ local.modernExtend.addCustomClusterManuSpecificLixee(),
1857
1927
  m.poll({
1858
1928
  key: "measurement",
1859
1929
  defaultIntervalSeconds: 600,
@@ -1873,13 +1943,14 @@ exports.definitions = [
1873
1943
  const cluster = clustersDef[key];
1874
1944
  const targ = currentExposes.filter((e) => e.cluster === cluster).map((e) => e.att);
1875
1945
  if (targ.length) {
1946
+ logger_1.logger.debug(`Poll: trying to read from ${cluster}: ${targ}`, NS);
1876
1947
  let i;
1877
1948
  let j;
1878
1949
  // Split array by chunks
1879
1950
  for (i = 0, j = targ.length; i < j; i += measurement_poll_chunk) {
1880
1951
  await endpoint.read(cluster, targ.slice(i, i + measurement_poll_chunk), { manufacturerCode: null }).catch((e) => {
1881
1952
  // https://github.com/Koenkk/zigbee2mqtt/issues/11674
1882
- logger_1.logger.warning(`Failed to read zigbee attributes: ${e}`, NS);
1953
+ logger_1.logger.warning(`Failed to read Zigbee attributes during poll. If you see many of these messages, try reducing 'Measurement poll chunk'. ${e}`, NS);
1883
1954
  });
1884
1955
  }
1885
1956
  }
@@ -1887,18 +1958,8 @@ exports.definitions = [
1887
1958
  }
1888
1959
  },
1889
1960
  }),
1961
+ local.modernExtend.readAttributesOnStartup(),
1890
1962
  ],
1891
- onEvent: (event) => {
1892
- if (event.type === "start") {
1893
- event.data.device
1894
- .getEndpoint(1)
1895
- .read("liXeePrivate", ["linkyMode", "currentTarif"], { manufacturerCode: null })
1896
- .catch((e) => {
1897
- // https://github.com/Koenkk/zigbee2mqtt/issues/11674
1898
- logger_1.logger.warning(`Failed to read zigbee attributes: ${e}`, NS);
1899
- });
1900
- }
1901
- },
1902
1963
  },
1903
1964
  {
1904
1965
  zigbeeModel: ["ZiPulses"],