zigbee-herdsman-converters 25.15.0 → 25.16.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 (175) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/converters/fromZigbee.d.ts +308 -293
  3. package/dist/converters/fromZigbee.d.ts.map +1 -1
  4. package/dist/converters/fromZigbee.js +122 -95
  5. package/dist/converters/fromZigbee.js.map +1 -1
  6. package/dist/devices/adeo.js.map +1 -1
  7. package/dist/devices/amina.js.map +1 -1
  8. package/dist/devices/aurora_lighting.d.ts.map +1 -1
  9. package/dist/devices/aurora_lighting.js.map +1 -1
  10. package/dist/devices/awox.d.ts.map +1 -1
  11. package/dist/devices/awox.js +37 -28
  12. package/dist/devices/awox.js.map +1 -1
  13. package/dist/devices/bacchus.js +2 -2
  14. package/dist/devices/bacchus.js.map +1 -1
  15. package/dist/devices/bitron.js.map +1 -1
  16. package/dist/devices/bituo_technik.js.map +1 -1
  17. package/dist/devices/bosch.d.ts.map +1 -1
  18. package/dist/devices/bosch.js +12 -9
  19. package/dist/devices/bosch.js.map +1 -1
  20. package/dist/devices/candeo.d.ts.map +1 -1
  21. package/dist/devices/candeo.js +19 -8
  22. package/dist/devices/candeo.js.map +1 -1
  23. package/dist/devices/centralite.js.map +1 -1
  24. package/dist/devices/ctm.js +1 -1
  25. package/dist/devices/ctm.js.map +1 -1
  26. package/dist/devices/custom_devices_diy.js +2 -2
  27. package/dist/devices/custom_devices_diy.js.map +1 -1
  28. package/dist/devices/danfoss.d.ts.map +1 -1
  29. package/dist/devices/danfoss.js +3 -0
  30. package/dist/devices/danfoss.js.map +1 -1
  31. package/dist/devices/databyte.js.map +1 -1
  32. package/dist/devices/dawon_dns.js.map +1 -1
  33. package/dist/devices/develco.js +1 -1
  34. package/dist/devices/develco.js.map +1 -1
  35. package/dist/devices/dlink.js.map +1 -1
  36. package/dist/devices/easyiot.js.map +1 -1
  37. package/dist/devices/ewelink.js.map +1 -1
  38. package/dist/devices/gmmts.d.ts.map +1 -1
  39. package/dist/devices/gmmts.js +5 -5
  40. package/dist/devices/gmmts.js.map +1 -1
  41. package/dist/devices/heiman.d.ts.map +1 -1
  42. package/dist/devices/heiman.js +22 -23
  43. package/dist/devices/heiman.js.map +1 -1
  44. package/dist/devices/ikea.d.ts.map +1 -1
  45. package/dist/devices/ikea.js +3 -1
  46. package/dist/devices/ikea.js.map +1 -1
  47. package/dist/devices/immax.js.map +1 -1
  48. package/dist/devices/inovelli.d.ts.map +1 -1
  49. package/dist/devices/inovelli.js +9 -5
  50. package/dist/devices/inovelli.js.map +1 -1
  51. package/dist/devices/jethome.js.map +1 -1
  52. package/dist/devices/kmpcil.d.ts.map +1 -1
  53. package/dist/devices/kmpcil.js.map +1 -1
  54. package/dist/devices/konke.js.map +1 -1
  55. package/dist/devices/led_trading.js.map +1 -1
  56. package/dist/devices/leviton.js.map +1 -1
  57. package/dist/devices/lidl.js.map +1 -1
  58. package/dist/devices/lifecontrol.js +4 -4
  59. package/dist/devices/lifecontrol.js.map +1 -1
  60. package/dist/devices/linptech.js.map +1 -1
  61. package/dist/devices/livolo.js.map +1 -1
  62. package/dist/devices/lixee.d.ts.map +1 -1
  63. package/dist/devices/lixee.js +5 -4
  64. package/dist/devices/lixee.js.map +1 -1
  65. package/dist/devices/lumi.d.ts.map +1 -1
  66. package/dist/devices/lumi.js +7 -0
  67. package/dist/devices/lumi.js.map +1 -1
  68. package/dist/devices/lytko.js.map +1 -1
  69. package/dist/devices/mindy.js.map +1 -1
  70. package/dist/devices/moes.js.map +1 -1
  71. package/dist/devices/multiterm.js.map +1 -1
  72. package/dist/devices/namron.js.map +1 -1
  73. package/dist/devices/niko.js.map +1 -1
  74. package/dist/devices/nous.d.ts.map +1 -1
  75. package/dist/devices/nous.js +4 -3
  76. package/dist/devices/nous.js.map +1 -1
  77. package/dist/devices/nue_3a.js.map +1 -1
  78. package/dist/devices/onesti.js.map +1 -1
  79. package/dist/devices/orvibo.js.map +1 -1
  80. package/dist/devices/owon.js.map +1 -1
  81. package/dist/devices/paulmann.js.map +1 -1
  82. package/dist/devices/perenio.d.ts.map +1 -1
  83. package/dist/devices/perenio.js +0 -1
  84. package/dist/devices/perenio.js.map +1 -1
  85. package/dist/devices/plugwise.js.map +1 -1
  86. package/dist/devices/pushok.js.map +1 -1
  87. package/dist/devices/qa.js.map +1 -1
  88. package/dist/devices/rgb_genie.js.map +1 -1
  89. package/dist/devices/sber.js.map +1 -1
  90. package/dist/devices/schneider_electric.d.ts.map +1 -1
  91. package/dist/devices/schneider_electric.js.map +1 -1
  92. package/dist/devices/sengled.js.map +1 -1
  93. package/dist/devices/shelly.d.ts.map +1 -1
  94. package/dist/devices/shelly.js +1 -3
  95. package/dist/devices/shelly.js.map +1 -1
  96. package/dist/devices/shinasystem.js.map +1 -1
  97. package/dist/devices/siglis.js.map +1 -1
  98. package/dist/devices/sinope.js +1 -1
  99. package/dist/devices/sinope.js.map +1 -1
  100. package/dist/devices/slacky_diy.d.ts.map +1 -1
  101. package/dist/devices/slacky_diy.js +13 -15
  102. package/dist/devices/slacky_diy.js.map +1 -1
  103. package/dist/devices/sonoff.js +2 -2
  104. package/dist/devices/sonoff.js.map +1 -1
  105. package/dist/devices/stello.js.map +1 -1
  106. package/dist/devices/stelpro.js.map +1 -1
  107. package/dist/devices/sunricher.d.ts +12 -0
  108. package/dist/devices/sunricher.d.ts.map +1 -1
  109. package/dist/devices/sunricher.js.map +1 -1
  110. package/dist/devices/third_reality.d.ts.map +1 -1
  111. package/dist/devices/third_reality.js.map +1 -1
  112. package/dist/devices/tuya.d.ts.map +1 -1
  113. package/dist/devices/tuya.js +32 -7
  114. package/dist/devices/tuya.js.map +1 -1
  115. package/dist/devices/ubisys.js.map +1 -1
  116. package/dist/devices/waxman.d.ts.map +1 -1
  117. package/dist/devices/waxman.js +17 -15
  118. package/dist/devices/waxman.js.map +1 -1
  119. package/dist/devices/wirenboard.js +1 -1
  120. package/dist/devices/wirenboard.js.map +1 -1
  121. package/dist/devices/woolley.js.map +1 -1
  122. package/dist/devices/xyzroe.js +2 -2
  123. package/dist/devices/xyzroe.js.map +1 -1
  124. package/dist/devices/yale.js.map +1 -1
  125. package/dist/devices/zigbeetlc.d.ts.map +1 -1
  126. package/dist/devices/zigbeetlc.js +8 -0
  127. package/dist/devices/zigbeetlc.js.map +1 -1
  128. package/dist/lib/adurosmart.js.map +1 -1
  129. package/dist/lib/develco.js +2 -2
  130. package/dist/lib/develco.js.map +1 -1
  131. package/dist/lib/ewelink.d.ts +3 -3
  132. package/dist/lib/ewelink.js.map +1 -1
  133. package/dist/lib/ikea.d.ts.map +1 -1
  134. package/dist/lib/ikea.js +4 -4
  135. package/dist/lib/ikea.js.map +1 -1
  136. package/dist/lib/ledvance.d.ts +3 -3
  137. package/dist/lib/ledvance.d.ts.map +1 -1
  138. package/dist/lib/ledvance.js.map +1 -1
  139. package/dist/lib/legacy.d.ts +182 -182
  140. package/dist/lib/legacy.d.ts.map +1 -1
  141. package/dist/lib/legacy.js +6 -6
  142. package/dist/lib/legacy.js.map +1 -1
  143. package/dist/lib/legrand.d.ts +15 -15
  144. package/dist/lib/legrand.js.map +1 -1
  145. package/dist/lib/lumi.d.ts +129 -129
  146. package/dist/lib/lumi.d.ts.map +1 -1
  147. package/dist/lib/lumi.js +18 -14
  148. package/dist/lib/lumi.js.map +1 -1
  149. package/dist/lib/modernExtend.d.ts +10 -11
  150. package/dist/lib/modernExtend.d.ts.map +1 -1
  151. package/dist/lib/modernExtend.js +14 -8
  152. package/dist/lib/modernExtend.js.map +1 -1
  153. package/dist/lib/namron.d.ts +6 -6
  154. package/dist/lib/namron.js.map +1 -1
  155. package/dist/lib/philips.d.ts +6 -6
  156. package/dist/lib/philips.js.map +1 -1
  157. package/dist/lib/sunricher.d.ts.map +1 -1
  158. package/dist/lib/sunricher.js +1 -0
  159. package/dist/lib/sunricher.js.map +1 -1
  160. package/dist/lib/tuya.d.ts +73 -53
  161. package/dist/lib/tuya.d.ts.map +1 -1
  162. package/dist/lib/tuya.js +6 -3
  163. package/dist/lib/tuya.js.map +1 -1
  164. package/dist/lib/types.d.ts +33 -10
  165. package/dist/lib/types.d.ts.map +1 -1
  166. package/dist/lib/ubisys.js.map +1 -1
  167. package/dist/lib/utils.d.ts +4 -4
  168. package/dist/lib/utils.d.ts.map +1 -1
  169. package/dist/lib/utils.js +4 -0
  170. package/dist/lib/utils.js.map +1 -1
  171. package/dist/lib/zosung.d.ts +18 -18
  172. package/dist/lib/zosung.js +1 -1
  173. package/dist/lib/zosung.js.map +1 -1
  174. package/dist/models-index.json +1 -1
  175. package/package.json +1 -1
package/dist/lib/lumi.js CHANGED
@@ -167,7 +167,9 @@ const buffer2DataObject = (model, buffer) => {
167
167
  return dataObject;
168
168
  };
169
169
  exports.buffer2DataObject = buffer2DataObject;
170
- const numericAttributes2Payload = async (msg, meta, model, options, dataObject) => {
170
+ const numericAttributes2Payload = async (
171
+ // biome-ignore lint/suspicious/noExplicitAny: too generic to properly type
172
+ msg, meta, model, options, dataObject) => {
171
173
  let payload = {};
172
174
  for (const [key, value] of Object.entries(dataObject)) {
173
175
  switch (key) {
@@ -2549,7 +2551,6 @@ exports.fromZigbee = {
2549
2551
  return;
2550
2552
  }
2551
2553
  if (model.model === "WXKG11LM") {
2552
- // biome-ignore lint/suspicious/noImplicitAnyLet: ignored using `--suppress`
2553
2554
  let clicks;
2554
2555
  if (msg.data.onOff) {
2555
2556
  clicks = 1;
@@ -2774,7 +2775,7 @@ exports.fromZigbee = {
2774
2775
  cluster: "msTemperatureMeasurement",
2775
2776
  type: ["attributeReport", "readResponse"],
2776
2777
  convert: (model, msg, publish, options, meta) => {
2777
- const temperature = Number.parseFloat(msg.data.measuredValue) / 100.0;
2778
+ const temperature = msg.data.measuredValue / 100.0;
2778
2779
  // https://github.com/Koenkk/zigbee2mqtt/issues/798
2779
2780
  // Sometimes the sensor publishes non-realistic vales.
2780
2781
  if (temperature > -65 && temperature < 65) {
@@ -3152,7 +3153,7 @@ exports.fromZigbee = {
3152
3153
  type: ["attributeReport", "readResponse"],
3153
3154
  convert: (model, msg, publish, options, meta) => {
3154
3155
  if (msg.data["65281"]) {
3155
- const data = msg.data["65281"];
3156
+ const data = msg.data["65281"]; // Mi Struct
3156
3157
  return {
3157
3158
  state: data["100"] === 1 ? "ON" : "OFF",
3158
3159
  brightness: data["101"],
@@ -3286,8 +3287,8 @@ exports.fromZigbee = {
3286
3287
  convert: (model, msg, publish, options, meta) => {
3287
3288
  // also trigger movement, because there is no illuminance without movement
3288
3289
  // https://github.com/Koenkk/zigbee-herdsman-converters/issues/1925
3289
- msg.data.occupancy = 1;
3290
- const payload = fz.occupancy_with_timeout.convert(model, msg, publish, options, meta);
3290
+ const newMsg = { ...msg, type: "attributeReport", data: { occupancy: 1 } };
3291
+ const payload = fz.occupancy_with_timeout.convert(model, newMsg, publish, options, meta);
3291
3292
  if (payload) {
3292
3293
  const illuminance = msg.data.measuredValue;
3293
3294
  payload.illuminance = illuminance;
@@ -3343,7 +3344,7 @@ exports.fromZigbee = {
3343
3344
  convert: (model, msg, publish, options, meta) => {
3344
3345
  const data = msg.data;
3345
3346
  if (data?.["65281"]) {
3346
- const basicAttrs = data["65281"];
3347
+ const basicAttrs = data["65281"]; // Mi Struct
3347
3348
  if (basicAttrs["100"] !== undefined) {
3348
3349
  return { gas_density: basicAttrs["100"] };
3349
3350
  }
@@ -3749,27 +3750,30 @@ exports.fromZigbee = {
3749
3750
  result.lcd_auto_brightness_enabled = !!(msg.data[0x218] & 1);
3750
3751
  }
3751
3752
  if (msg.data[0x221] !== undefined) {
3752
- result.screen_saver_enabled = !!(msg.data[0x221] & 1);
3753
+ result.screen_saver_enabled = !!msg.data[0x221];
3753
3754
  }
3754
3755
  if (msg.data[0x222] !== undefined) {
3755
3756
  result.standby_lcd_brightness = msg.data[0x222];
3756
3757
  }
3757
3758
  if (msg.data[0x223] !== undefined) {
3758
3759
  const lookup = { 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "11" };
3759
- const textarr = msg.data[0x223].slice(1, msg.data[0x223].length);
3760
- result.switch_1_icon = lookup[msg.data[0x223][0]];
3760
+ const value = msg.data[0x223];
3761
+ const textarr = value.slice(1);
3762
+ result.switch_1_icon = lookup[value[0]];
3761
3763
  result.switch_1_text = String.fromCharCode(...textarr);
3762
3764
  }
3763
3765
  if (msg.data[0x224] !== undefined) {
3764
3766
  const lookup = { 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "11" };
3765
- const textarr = msg.data[0x224].slice(1, msg.data[0x224].length);
3766
- result.switch_2_icon = lookup[msg.data[0x224][0]];
3767
+ const value = msg.data[0x224];
3768
+ const textarr = value.slice(1);
3769
+ result.switch_2_icon = lookup[value[0]];
3767
3770
  result.switch_2_text = String.fromCharCode(...textarr);
3768
3771
  }
3769
3772
  if (msg.data[0x225] !== undefined) {
3770
3773
  const lookup = { 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6", 7: "7", 8: "8", 9: "9", 10: "10", 11: "11" };
3771
- const textarr = msg.data[0x225].slice(1, msg.data[0x225].length);
3772
- result.switch_3_icon = lookup[msg.data[0x225][0]];
3774
+ const value = msg.data[0x225];
3775
+ const textarr = value.slice(1);
3776
+ result.switch_3_icon = lookup[value[0]];
3773
3777
  result.switch_3_text = String.fromCharCode(...textarr);
3774
3778
  }
3775
3779
  return result;