zigbee-herdsman-converters 25.2.0 → 25.4.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 (214) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/converters/fromZigbee.d.ts.map +1 -1
  3. package/dist/converters/fromZigbee.js +5 -3
  4. package/dist/converters/fromZigbee.js.map +1 -1
  5. package/dist/converters/toZigbee.d.ts.map +1 -1
  6. package/dist/converters/toZigbee.js +137 -150
  7. package/dist/converters/toZigbee.js.map +1 -1
  8. package/dist/devices/amina.d.ts.map +1 -1
  9. package/dist/devices/amina.js +7 -37
  10. package/dist/devices/amina.js.map +1 -1
  11. package/dist/devices/aurora_lighting.d.ts.map +1 -1
  12. package/dist/devices/aurora_lighting.js +1 -0
  13. package/dist/devices/aurora_lighting.js.map +1 -1
  14. package/dist/devices/bacchus.d.ts.map +1 -1
  15. package/dist/devices/bacchus.js +6 -2
  16. package/dist/devices/bacchus.js.map +1 -1
  17. package/dist/devices/bitron.js +1 -1
  18. package/dist/devices/bitron.js.map +1 -1
  19. package/dist/devices/bosch.d.ts.map +1 -1
  20. package/dist/devices/bosch.js +38 -25
  21. package/dist/devices/bosch.js.map +1 -1
  22. package/dist/devices/centralite.js.map +1 -1
  23. package/dist/devices/ctm.js.map +1 -1
  24. package/dist/devices/custom_devices_diy.d.ts.map +1 -1
  25. package/dist/devices/custom_devices_diy.js +2 -3
  26. package/dist/devices/custom_devices_diy.js.map +1 -1
  27. package/dist/devices/danfoss.d.ts.map +1 -1
  28. package/dist/devices/danfoss.js +2 -9
  29. package/dist/devices/danfoss.js.map +1 -1
  30. package/dist/devices/dawon_dns.js.map +1 -1
  31. package/dist/devices/develco.d.ts.map +1 -1
  32. package/dist/devices/develco.js.map +1 -1
  33. package/dist/devices/diyruz.js.map +1 -1
  34. package/dist/devices/ewelink.d.ts.map +1 -1
  35. package/dist/devices/ewelink.js +1 -5
  36. package/dist/devices/ewelink.js.map +1 -1
  37. package/dist/devices/gmmts.d.ts.map +1 -1
  38. package/dist/devices/gmmts.js +15 -5
  39. package/dist/devices/gmmts.js.map +1 -1
  40. package/dist/devices/heiman.d.ts.map +1 -1
  41. package/dist/devices/heiman.js +5 -1
  42. package/dist/devices/heiman.js.map +1 -1
  43. package/dist/devices/hive.d.ts.map +1 -1
  44. package/dist/devices/hive.js +48 -0
  45. package/dist/devices/hive.js.map +1 -1
  46. package/dist/devices/ikea.js +1 -1
  47. package/dist/devices/ikea.js.map +1 -1
  48. package/dist/devices/imhotepcreation.js.map +1 -1
  49. package/dist/devices/immax.js.map +1 -1
  50. package/dist/devices/index.d.ts.map +1 -1
  51. package/dist/devices/index.js +2 -0
  52. package/dist/devices/index.js.map +1 -1
  53. package/dist/devices/inovelli.d.ts.map +1 -1
  54. package/dist/devices/inovelli.js +6 -7
  55. package/dist/devices/inovelli.js.map +1 -1
  56. package/dist/devices/keen_home.js.map +1 -1
  57. package/dist/devices/kmpcil.js.map +1 -1
  58. package/dist/devices/legrand.d.ts.map +1 -1
  59. package/dist/devices/legrand.js +2 -0
  60. package/dist/devices/legrand.js.map +1 -1
  61. package/dist/devices/lincukoo.d.ts.map +1 -1
  62. package/dist/devices/lincukoo.js +77 -1
  63. package/dist/devices/lincukoo.js.map +1 -1
  64. package/dist/devices/livolo.d.ts.map +1 -1
  65. package/dist/devices/livolo.js.map +1 -1
  66. package/dist/devices/lixee.d.ts.map +1 -1
  67. package/dist/devices/lixee.js +9 -4
  68. package/dist/devices/lixee.js.map +1 -1
  69. package/dist/devices/lytko.d.ts.map +1 -1
  70. package/dist/devices/lytko.js +12 -10
  71. package/dist/devices/lytko.js.map +1 -1
  72. package/dist/devices/moes.js.map +1 -1
  73. package/dist/devices/niko.d.ts.map +1 -1
  74. package/dist/devices/niko.js +23 -7
  75. package/dist/devices/niko.js.map +1 -1
  76. package/dist/devices/nodon.js.map +1 -1
  77. package/dist/devices/onokom.d.ts +3 -0
  78. package/dist/devices/onokom.d.ts.map +1 -0
  79. package/dist/devices/onokom.js +2127 -0
  80. package/dist/devices/onokom.js.map +1 -0
  81. package/dist/devices/orvibo.d.ts.map +1 -1
  82. package/dist/devices/orvibo.js +9 -3
  83. package/dist/devices/orvibo.js.map +1 -1
  84. package/dist/devices/owon.d.ts.map +1 -1
  85. package/dist/devices/owon.js +2 -3
  86. package/dist/devices/owon.js.map +1 -1
  87. package/dist/devices/perenio.d.ts.map +1 -1
  88. package/dist/devices/perenio.js +1 -1
  89. package/dist/devices/perenio.js.map +1 -1
  90. package/dist/devices/pushok.js.map +1 -1
  91. package/dist/devices/qa.js.map +1 -1
  92. package/dist/devices/salus_controls.d.ts.map +1 -1
  93. package/dist/devices/salus_controls.js.map +1 -1
  94. package/dist/devices/sber.d.ts.map +1 -1
  95. package/dist/devices/sber.js +12 -8
  96. package/dist/devices/sber.js.map +1 -1
  97. package/dist/devices/schneider_electric.d.ts.map +1 -1
  98. package/dist/devices/schneider_electric.js +14 -6
  99. package/dist/devices/schneider_electric.js.map +1 -1
  100. package/dist/devices/sengled.d.ts.map +1 -1
  101. package/dist/devices/sengled.js.map +1 -1
  102. package/dist/devices/shinasystem.js +4 -4
  103. package/dist/devices/shinasystem.js.map +1 -1
  104. package/dist/devices/siglis.js +10 -10
  105. package/dist/devices/siglis.js.map +1 -1
  106. package/dist/devices/simpla_home.d.ts +1 -5
  107. package/dist/devices/simpla_home.d.ts.map +1 -1
  108. package/dist/devices/simpla_home.js +24 -41
  109. package/dist/devices/simpla_home.js.map +1 -1
  110. package/dist/devices/sinope.js.map +1 -1
  111. package/dist/devices/slacky_diy.d.ts.map +1 -1
  112. package/dist/devices/slacky_diy.js +21 -19
  113. package/dist/devices/slacky_diy.js.map +1 -1
  114. package/dist/devices/smartthings.js.map +1 -1
  115. package/dist/devices/sonoff.d.ts +29 -0
  116. package/dist/devices/sonoff.d.ts.map +1 -1
  117. package/dist/devices/sonoff.js +16 -15
  118. package/dist/devices/sonoff.js.map +1 -1
  119. package/dist/devices/sunricher.d.ts +15 -0
  120. package/dist/devices/sunricher.d.ts.map +1 -1
  121. package/dist/devices/sunricher.js +3 -3
  122. package/dist/devices/sunricher.js.map +1 -1
  123. package/dist/devices/tubeszb.js.map +1 -1
  124. package/dist/devices/tuya.d.ts.map +1 -1
  125. package/dist/devices/tuya.js +80 -16
  126. package/dist/devices/tuya.js.map +1 -1
  127. package/dist/devices/ubisys.d.ts.map +1 -1
  128. package/dist/devices/ubisys.js +4 -7
  129. package/dist/devices/ubisys.js.map +1 -1
  130. package/dist/devices/wirenboard.d.ts.map +1 -1
  131. package/dist/devices/wirenboard.js +5 -3
  132. package/dist/devices/wirenboard.js.map +1 -1
  133. package/dist/devices/woox.js +1 -1
  134. package/dist/devices/woox.js.map +1 -1
  135. package/dist/devices/xyzroe.d.ts.map +1 -1
  136. package/dist/devices/xyzroe.js +3 -5
  137. package/dist/devices/xyzroe.js.map +1 -1
  138. package/dist/devices/yandex.d.ts.map +1 -1
  139. package/dist/devices/yandex.js +18 -6
  140. package/dist/devices/yandex.js.map +1 -1
  141. package/dist/devices/yokis.d.ts.map +1 -1
  142. package/dist/devices/yokis.js +4 -6
  143. package/dist/devices/yokis.js.map +1 -1
  144. package/dist/devices/zemismart.d.ts.map +1 -1
  145. package/dist/devices/zemismart.js +2 -1
  146. package/dist/devices/zemismart.js.map +1 -1
  147. package/dist/lib/color.js +7 -7
  148. package/dist/lib/color.js.map +1 -1
  149. package/dist/lib/develco.d.ts +24 -5
  150. package/dist/lib/develco.d.ts.map +1 -1
  151. package/dist/lib/develco.js +2 -2
  152. package/dist/lib/develco.js.map +1 -1
  153. package/dist/lib/ewelink.d.ts +4 -4
  154. package/dist/lib/ewelink.d.ts.map +1 -1
  155. package/dist/lib/ewelink.js.map +1 -1
  156. package/dist/lib/exposes.d.ts.map +1 -1
  157. package/dist/lib/exposes.js +27 -9
  158. package/dist/lib/exposes.js.map +1 -1
  159. package/dist/lib/generateDefinition.js.map +1 -1
  160. package/dist/lib/ikea.d.ts +30 -1
  161. package/dist/lib/ikea.d.ts.map +1 -1
  162. package/dist/lib/ikea.js +9 -4
  163. package/dist/lib/ikea.js.map +1 -1
  164. package/dist/lib/kelvinToXy.js +1 -1
  165. package/dist/lib/kelvinToXy.js.map +1 -1
  166. package/dist/lib/legacy.d.ts +33 -1
  167. package/dist/lib/legacy.d.ts.map +1 -1
  168. package/dist/lib/legacy.js +78 -88
  169. package/dist/lib/legacy.js.map +1 -1
  170. package/dist/lib/legrand.d.ts.map +1 -1
  171. package/dist/lib/legrand.js +5 -6
  172. package/dist/lib/legrand.js.map +1 -1
  173. package/dist/lib/light.d.ts +2 -1
  174. package/dist/lib/light.d.ts.map +1 -1
  175. package/dist/lib/light.js.map +1 -1
  176. package/dist/lib/lumi.d.ts +33 -33
  177. package/dist/lib/lumi.d.ts.map +1 -1
  178. package/dist/lib/lumi.js +17 -18
  179. package/dist/lib/lumi.js.map +1 -1
  180. package/dist/lib/modernExtend.d.ts +42 -58
  181. package/dist/lib/modernExtend.d.ts.map +1 -1
  182. package/dist/lib/modernExtend.js +90 -23
  183. package/dist/lib/modernExtend.js.map +1 -1
  184. package/dist/lib/namron.d.ts +25 -25
  185. package/dist/lib/namron.d.ts.map +1 -1
  186. package/dist/lib/namron.js +7 -8
  187. package/dist/lib/namron.js.map +1 -1
  188. package/dist/lib/nodon.d.ts.map +1 -1
  189. package/dist/lib/nodon.js.map +1 -1
  190. package/dist/lib/philips.d.ts.map +1 -1
  191. package/dist/lib/philips.js +9 -10
  192. package/dist/lib/philips.js.map +1 -1
  193. package/dist/lib/reporting.d.ts +4 -7
  194. package/dist/lib/reporting.d.ts.map +1 -1
  195. package/dist/lib/reporting.js.map +1 -1
  196. package/dist/lib/sunricher.d.ts.map +1 -1
  197. package/dist/lib/sunricher.js +8 -6
  198. package/dist/lib/sunricher.js.map +1 -1
  199. package/dist/lib/tuya.d.ts +4 -4
  200. package/dist/lib/tuya.d.ts.map +1 -1
  201. package/dist/lib/tuya.js +50 -48
  202. package/dist/lib/tuya.js.map +1 -1
  203. package/dist/lib/types.d.ts +2 -1
  204. package/dist/lib/types.d.ts.map +1 -1
  205. package/dist/lib/ubisys.d.ts +88 -8
  206. package/dist/lib/ubisys.d.ts.map +1 -1
  207. package/dist/lib/ubisys.js +0 -3
  208. package/dist/lib/ubisys.js.map +1 -1
  209. package/dist/lib/utils.d.ts +10 -8
  210. package/dist/lib/utils.d.ts.map +1 -1
  211. package/dist/lib/utils.js +14 -7
  212. package/dist/lib/utils.js.map +1 -1
  213. package/dist/models-index.json +1 -1
  214. package/package.json +4 -4
@@ -8,7 +8,39 @@ declare const thermostatSystemModes3: KeyValueAny;
8
8
  declare const thermostatSystemModes4: KeyValueNumberString;
9
9
  declare const thermostatPresets: KeyValueNumberString;
10
10
  declare const msLookups: KeyValueAny;
11
- declare const ZMLookups: KeyValueAny;
11
+ declare const ZMLookups: {
12
+ AM02Mode: {
13
+ 0: string;
14
+ 1: string;
15
+ };
16
+ AM02Control: {
17
+ 0: string;
18
+ 1: string;
19
+ 2: string;
20
+ 3: string;
21
+ };
22
+ AM02Direction: {
23
+ 0: string;
24
+ 1: string;
25
+ };
26
+ AM02WorkState: {
27
+ 0: string;
28
+ 1: string;
29
+ };
30
+ AM02Border: {
31
+ 0: string;
32
+ 1: string;
33
+ 2: string;
34
+ };
35
+ AM02Situation: {
36
+ 0: string;
37
+ 1: string;
38
+ };
39
+ AM02MotorWorkingMode: {
40
+ 0: string;
41
+ 1: string;
42
+ };
43
+ };
12
44
  declare const moesSwitch: KeyValueAny;
13
45
  declare const tuyaHPSCheckingResult: KeyValueAny;
14
46
  declare const dataPoints: {
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/lib/legacy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAC,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,EAAE,EAAK,MAAM,SAAS,CAAC;AAGnF,UAAU,WAAW;IAEjB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAkQD,QAAA,MAAM,sBAAsB,EAAE,WAM7B,CAAC;AAEF,QAAA,MAAM,sBAAsB,EAAE,WAI7B,CAAC;AAEF,QAAA,MAAM,sBAAsB,EAAE,oBAI7B,CAAC;AAcF,QAAA,MAAM,iBAAiB,EAAE,oBAQxB,CAAC;AA0CF,QAAA,MAAM,SAAS,EAAE,WAiBhB,CAAC;AAeF,QAAA,MAAM,SAAS,EAAE,WAgChB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,WAYjB,CAAC;AACF,QAAA,MAAM,qBAAqB,EAAE,WAO5B,CAAC;AAoJF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAigBf,CAAC;AA0EF,QAAA,MAAM,cAAc;;;;;;;;;;;;CAYnB,CAAC;AAEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqnBgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+HA+DiB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAk2CzE,UAAU,OAAO,WAAW,WAAW,OAAO,WAAW,WAAW,QAAQ,EAAE,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAizB7G,CAAC;AA45FF,QAAA,MAAM,qBAAqB,EAAE;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAUhD,CAAC;AAEF,QAAA,MAAM,QAAQ;;;mKAnzFiC,GAAG;;;;mKAyFH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA4MH,GAAG;;;;;;;;;;;;mKA0CH,WAAW;;;;mKAgEX,GAAG;;;;;;gBA0Ed,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAgB;;;;;;mKAgBtC,GAAG;;;;;;;;;;;;;;;;;;;;mKA0GH,GAAG;;;;mKAWH,GAAG;;;;mKAWH,GAAG;;;;mKASH,GAAG;;;;mKAWH,GAAG;;;;;;;;;;;;;;;;mKAqDH,GAAG;;;;;;;;;;;;mKAiEH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAiEH,GAAG;;;;mKASH,GAAG;;;;mKASH,GAAG;;;;;;;;;;;;;;;;mKA+DH,GAAG;;;;;;;;mKA0BH,GAAG;;;;mKAwDH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA0dH,WAAW;;;;mKASX,GAAG;;;;mKAwBH,GAAG;;;;mKA0BH,GAAG;;;;;;;;mKAUH,GAAG;;;;;;;;mKAiEH,GAAG;;;;mKA6CH,GAAG;;;;mKAqCH,GAAG;;;;mKAqCH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAuDH,GAAG;;;;mKASH,GAAG;;;;;;;;;;;;mKA8BH,GAAG;;;;;;;;mKAkNH,GAAG;;;;mKAiGH,GAAG;;;;mKAgDH,GAAG;;;;mKAgCH,GAAG;;;;;;;;mKA+EH,GAAG;;;;mKAiFH,GAAG;;;;;;;mKAmJH,GAAG;;;;mKAiDH,GAAG;;;;;;;;;;mKAwDH,GAAG;;;;;;;;;;;;;;;;;;;;;;mKAiDH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAsDH,GAAG;;;;;;;;;;;;;;;;;;;;mKAyCH,GAAG;;;;mKASH,GAAG;;;;mKASH,GAAG;;;;mKAaH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAx0FH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;;;;;;;;;;;;;mKAyBH,GAAG;;;;;mKAQH,GAAG;;CAg2FL,CAAC;AAE9C,OAAO,EACH,UAAU,IAAI,EAAE,EAChB,UAAU,EACV,QAAQ,IAAI,EAAE,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,GACb,CAAC"}
1
+ {"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../src/lib/legacy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAC,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAQ,EAAE,EAAK,MAAM,SAAS,CAAC;AAGzF,UAAU,WAAW;IAEjB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AA0PD,QAAA,MAAM,sBAAsB,EAAE,WAM7B,CAAC;AAEF,QAAA,MAAM,sBAAsB,EAAE,WAI7B,CAAC;AAEF,QAAA,MAAM,sBAAsB,EAAE,oBAI7B,CAAC;AAcF,QAAA,MAAM,iBAAiB,EAAE,oBAQxB,CAAC;AA0CF,QAAA,MAAM,SAAS,EAAE,WAiBhB,CAAC;AAeF,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCd,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,WAYjB,CAAC;AACF,QAAA,MAAM,qBAAqB,EAAE,WAO5B,CAAC;AAoJF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAigBf,CAAC;AA0EF,QAAA,MAAM,cAAc;;;;;;;;;;;;CAYnB,CAAC;AAEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqnBgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+HA+DiB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAk2CzE,UAAU,OAAO,WAAW,WAAW,OAAO,WAAW,WAAW,QAAQ,EAAE,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAizB7G,CAAC;AAm7FF,QAAA,MAAM,qBAAqB,EAAE;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAUhD,CAAC;AAEF,QAAA,MAAM,QAAQ;;;mKA10FiC,GAAG;;;;mKAyFH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA4MH,GAAG;;;;;;;;;;;;mKA0CH,WAAW;;;;mKAgEX,GAAG;;;;;;gBA0Ed,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAgB;;;;;;mKAgBtC,GAAG;;;;;;;;;;;;;;;;;;;;mKA0GH,GAAG;;;;mKAWH,GAAG;;;;mKAWH,GAAG;;;;mKASH,GAAG;;;;mKAWH,GAAG;;;;;;;;;;;;;;;;mKAqDH,GAAG;;;;;;;;;;;;mKAiEH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAiEH,GAAG;;;;mKASH,GAAG;;;;mKASH,GAAG;;;;;;;;;;;;;;;;mKA+DH,GAAG;;;;;;;;mKA0BH,GAAG;;;;mKAwDH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA4eH,WAAW;;;;mKASX,GAAG;;;;mKAwBH,GAAG;;;;mKA0BH,GAAG;;;;;;;;mKAUH,GAAG;;;;;;;;mKAiEH,GAAG;;;;mKA6CH,GAAG;;;;mKAqCH,GAAG;;;;mKAqCH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAuDH,GAAG;;;;mKASH,GAAG;;;;;;;;;;;;mKA8BH,GAAG;;;;;;;;mKAkNH,GAAG;;;;mKAiGH,GAAG;;;;mKAgDH,GAAG;;;;mKAgCH,GAAG;;;;;;;;mKA+EH,GAAG;;;;mKAiFH,GAAG;;;;;;;mKAmJH,GAAG;;;;mKAsDH,GAAG;;;;;;;;;;mKAwDH,GAAG;;;;;;;;;;;;;;;;;;;;;;mKAiDH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKAsDH,GAAG;;;;;;;;;;;;;;;;;;;;mKAyCH,GAAG;;;;mKASH,GAAG;;;;mKASH,GAAG;;;;mKAaH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mKA/1FH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;mKAQH,GAAG;;;;;;;;;;;;;;;;mKAyBH,GAAG;;;;;mKAQH,GAAG;;CAu3FL,CAAC;AAE9C,OAAO,EACH,UAAU,IAAI,EAAE,EAChB,UAAU,EACV,QAAQ,IAAI,EAAE,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,GACb,CAAC"}
@@ -134,10 +134,9 @@ function convertDecimalValueTo4ByteHexArray(value) {
134
134
  const chunk2 = hexValue.substring(2, 4);
135
135
  const chunk3 = hexValue.substring(4, 6);
136
136
  const chunk4 = hexValue.substring(6);
137
- return [chunk1, chunk2, chunk3, chunk4].map((hexVal) => Number.parseInt(hexVal, 16));
137
+ return Buffer.from([chunk1, chunk2, chunk3, chunk4].map((hexVal) => Number.parseInt(hexVal, 16)));
138
138
  }
139
139
  let gSec;
140
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
141
140
  async function sendDataPoints(entity, dpValues, cmd = "dataRequest", seq = undefined) {
142
141
  if (seq === undefined) {
143
142
  if (gSec === undefined) {
@@ -150,7 +149,7 @@ async function sendDataPoints(entity, dpValues, cmd = "dataRequest", seq = undef
150
149
  // biome-ignore lint/style/noParameterAssign: ignored using `--suppress`
151
150
  seq = gSec;
152
151
  }
153
- await entity.command("manuSpecificTuya", cmd || "dataRequest", {
152
+ await entity.command("manuSpecificTuya", cmd, {
154
153
  seq,
155
154
  dpValues,
156
155
  }, { disableDefaultResponse: true });
@@ -167,28 +166,24 @@ function dpValueFromIntValue(dp, value) {
167
166
  return { dp, datatype: dataTypes.value, data: convertDecimalValueTo4ByteHexArray(value) };
168
167
  }
169
168
  function dpValueFromBool(dp, value) {
170
- return { dp, datatype: dataTypes.bool, data: [value ? 1 : 0] };
169
+ return { dp, datatype: dataTypes.bool, data: Buffer.from([value ? 1 : 0]) };
171
170
  }
172
171
  function dpValueFromEnum(dp, value) {
173
- return { dp, datatype: dataTypes.enum, data: [value] };
172
+ return { dp, datatype: dataTypes.enum, data: Buffer.from([value]) };
174
173
  }
175
174
  function dpValueFromStringBuffer(dp, stringBuffer) {
176
175
  return { dp, datatype: dataTypes.string, data: stringBuffer };
177
176
  }
178
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
179
177
  function dpValueFromRaw(dp, rawBuffer) {
180
178
  return { dp, datatype: dataTypes.raw, data: rawBuffer };
181
179
  }
182
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
183
180
  function dpValueFromBitmap(dp, bitmapBuffer) {
184
181
  return { dp, datatype: dataTypes.bitmap, data: bitmapBuffer };
185
182
  }
186
183
  // Return `seq` - transaction ID for handling concrete response
187
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
188
184
  async function sendDataPoint(entity, dpValue, cmd, seq = undefined) {
189
185
  return await sendDataPoints(entity, [dpValue], cmd, seq);
190
186
  }
191
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
192
187
  async function sendDataPointValue(entity, dp, value, cmd, seq = undefined) {
193
188
  return await sendDataPoints(entity, [dpValueFromIntValue(dp, value)], cmd, seq);
194
189
  }
@@ -198,15 +193,12 @@ async function sendDataPointBool(entity, dp, value, cmd, seq = undefined) {
198
193
  async function sendDataPointEnum(entity, dp, value, cmd, seq = undefined) {
199
194
  return await sendDataPoints(entity, [dpValueFromEnum(dp, value)], cmd, seq);
200
195
  }
201
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
202
196
  async function sendDataPointRaw(entity, dp, value, cmd, seq = undefined) {
203
197
  return await sendDataPoints(entity, [dpValueFromRaw(dp, value)], cmd, seq);
204
198
  }
205
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
206
199
  async function sendDataPointBitmap(entity, dp, value, cmd, seq = undefined) {
207
200
  return await sendDataPoints(entity, [dpValueFromBitmap(dp, value)], cmd, seq);
208
201
  }
209
- // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
210
202
  async function sendDataPointStringBuffer(entity, dp, value, cmd, seq = undefined) {
211
203
  return await sendDataPoints(entity, [dpValueFromStringBuffer(dp, value)], cmd, seq);
212
204
  }
@@ -238,10 +230,10 @@ function convertRawToCycleTimer(value) {
238
230
  // biome-ignore lint/suspicious/noExplicitAny: ignored using `--suppress`
239
231
  let minsincemidnight = value[4] * 256 + value[5];
240
232
  // @ts-expect-error ignore
241
- starttime = `${String(Number.parseInt(minsincemidnight / 60)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
233
+ starttime = `${String(Number.parseInt(minsincemidnight / 60, 10)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
242
234
  minsincemidnight = value[6] * 256 + value[7];
243
235
  // @ts-expect-error ignore
244
- endtime = `${String(Number.parseInt(minsincemidnight / 60)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
236
+ endtime = `${String(Number.parseInt(minsincemidnight / 60, 10)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
245
237
  irrigationDuration = value[8] * 256 + value[9];
246
238
  pauseDuration = value[10] * 256 + value[11];
247
239
  }
@@ -464,7 +456,7 @@ function convertRawToTimer(value) {
464
456
  timernr = value[1];
465
457
  const minsincemidnight = value[2] * 256 + value[3];
466
458
  // @ts-expect-error ignore
467
- starttime = `${String(Number.parseInt(minsincemidnight / 60)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
459
+ starttime = `${String(Number.parseInt(minsincemidnight / 60, 10)).padStart(2, "0")}:${String(minsincemidnight % 60).padStart(2, "0")}`;
468
460
  duration = value[4] * 256 + value[5];
469
461
  if (value[6] > 0) {
470
462
  weekdays =
@@ -544,8 +536,8 @@ function convertTimeTo2ByteHexArray(time) {
544
536
  if (timeArray.length !== 2) {
545
537
  throw new Error("Time format incorrect");
546
538
  }
547
- const timeHour = Number.parseInt(timeArray[0]);
548
- const timeMinute = Number.parseInt(timeArray[1]);
539
+ const timeHour = Number.parseInt(timeArray[0], 10);
540
+ const timeMinute = Number.parseInt(timeArray[1], 10);
549
541
  if (timeHour > 23 || timeMinute > 59) {
550
542
  throw new Error("Time incorrect");
551
543
  }
@@ -3584,7 +3576,7 @@ const fromZigbee = {
3584
3576
  else if (dp === dataPoints.silvercrestSetEffect) {
3585
3577
  result.effect = {
3586
3578
  effect: utils.getKey(silvercrestEffects, value.substring(0, 2), "", String),
3587
- speed: utils.mapNumberRange(Number.parseInt(value.substring(2, 4)), 0, 64, 0, 100),
3579
+ speed: utils.mapNumberRange(Number.parseInt(value.substring(2, 4), 10), 0, 64, 0, 100),
3588
3580
  colors: [],
3589
3581
  };
3590
3582
  const colorsString = value.substring(4);
@@ -4157,7 +4149,7 @@ const toZigbee2 = {
4157
4149
  }
4158
4150
  else {
4159
4151
  // biome-ignore lint/style/noParameterAssign: ignored using `--suppress`
4160
- value = Number.parseInt(value);
4152
+ value = Number.parseInt(value, 10);
4161
4153
  }
4162
4154
  return await toZigbee1.tuya_cover_control.convertSet(entity, "position", value, meta);
4163
4155
  }
@@ -4298,8 +4290,8 @@ const toZigbee2 = {
4298
4290
  for (let i = 0; i < periodsNumber; i++) {
4299
4291
  const timeTemp = periods[i].split("/");
4300
4292
  const hm = timeTemp[0].split(":", 2);
4301
- const h = Number.parseInt(hm[0]);
4302
- const m = Number.parseInt(hm[1]);
4293
+ const h = Number.parseInt(hm[0], 10);
4294
+ const m = Number.parseInt(hm[1], 10);
4303
4295
  const temp = Number.parseFloat(timeTemp[1]);
4304
4296
  if (h < 0 || h >= 24 || m < 0 || m >= 60 || temp < 5 || temp > 60) {
4305
4297
  throw new Error(`Invalid hour, minute or temperature of: ${periods[i]}`);
@@ -4308,7 +4300,7 @@ const toZigbee2 = {
4308
4300
  // 1 byte for hour, 1 byte for minutes, 2 bytes for temperature
4309
4301
  payload.push(h, m, ...tempHexArray);
4310
4302
  }
4311
- await sendDataPointRaw(entity, dataPoints.x5hWeeklyProcedure, payload);
4303
+ await sendDataPointRaw(entity, dataPoints.x5hWeeklyProcedure, Buffer.from(payload));
4312
4304
  break;
4313
4305
  }
4314
4306
  default:
@@ -4569,7 +4561,7 @@ const toZigbee2 = {
4569
4561
  // biome-ignore lint/style/noParameterAssign: ignored using `--suppress`
4570
4562
  if (value < 0)
4571
4563
  value = value * 10 + 0x100000000;
4572
- await sendDataPointRaw(entity, 109 + day - 1, results);
4564
+ await sendDataPointRaw(entity, 109 + day - 1, Buffer.from(results));
4573
4565
  },
4574
4566
  },
4575
4567
  giexWaterValve: {
@@ -4863,7 +4855,7 @@ const toZigbee2 = {
4863
4855
  Math.floor(newProgram.sunday_p4_minute),
4864
4856
  Math.round(newProgram.sunday_p4_temperature * 2),
4865
4857
  ];
4866
- await sendDataPointRaw(entity, dataPoints.moesSchedule, payload);
4858
+ await sendDataPointRaw(entity, dataPoints.moesSchedule, Buffer.from(payload));
4867
4859
  },
4868
4860
  },
4869
4861
  // biome-ignore lint/style/useNamingConvention: ignored using `--suppress`
@@ -4975,9 +4967,9 @@ const toZigbee2 = {
4975
4967
  for (let i = 0; i < 12; i++) {
4976
4968
  const hourTemperature = items[i].split("/");
4977
4969
  const hourMinute = hourTemperature[0].split(":", 2);
4978
- const h = Number.parseInt(hourMinute[0]);
4979
- const m = Number.parseInt(hourMinute[1]);
4980
- const temp = Number.parseInt(hourTemperature[1]);
4970
+ const h = Number.parseInt(hourMinute[0], 10);
4971
+ const m = Number.parseInt(hourMinute[1], 10);
4972
+ const temp = Number.parseInt(hourTemperature[1], 10);
4981
4973
  if (h < 0 || h >= 24 || m < 0 || m >= 60 || temp < 5 || temp >= 35) {
4982
4974
  throw new Error(`Invalid hour, minute or temperature of:${items[i]}`);
4983
4975
  }
@@ -4985,7 +4977,7 @@ const toZigbee2 = {
4985
4977
  payload[i * 3 + 1] = m;
4986
4978
  payload[i * 3 + 2] = temp * 2;
4987
4979
  }
4988
- await sendDataPointRaw(entity, dataPoints.moesSschedule, payload);
4980
+ await sendDataPointRaw(entity, dataPoints.moesSschedule, Buffer.from(payload));
4989
4981
  },
4990
4982
  },
4991
4983
  hgkg_thermostat_standby: {
@@ -5171,8 +5163,8 @@ const toZigbee2 = {
5171
5163
  if (value === "") {
5172
5164
  // delete
5173
5165
  data.push(0x04);
5174
- data.push(Number.parseInt(key.substr(-1)));
5175
- await sendDataPointRaw(entity, 16, data);
5166
+ data.push(Number.parseInt(key.substr(-1), 10));
5167
+ await sendDataPointRaw(entity, 16, Buffer.from(data));
5176
5168
  const ret = { state: {} };
5177
5169
  ret.state[key] = value;
5178
5170
  return ret;
@@ -5182,7 +5174,7 @@ const toZigbee2 = {
5182
5174
  }
5183
5175
  else {
5184
5176
  data.push(0x02);
5185
- data.push(Number.parseInt(key.substr(-1)));
5177
+ data.push(Number.parseInt(key.substr(-1), 10));
5186
5178
  }
5187
5179
  const tarray = value.replace(/ /g, "").split("/");
5188
5180
  if (tarray.length < 4) {
@@ -5199,7 +5191,7 @@ const toZigbee2 = {
5199
5191
  const irrigationDuration = tarray[2];
5200
5192
  const pauseDuration = tarray[3];
5201
5193
  const weekdays = tarray[4];
5202
- const active = Number.parseInt(tarray[5]);
5194
+ const active = Number.parseInt(tarray[5], 10);
5203
5195
  if (!(active === 0 || active === 1)) {
5204
5196
  throw new Error("Active value only 0 or 1 allowed");
5205
5197
  }
@@ -5211,7 +5203,7 @@ const toZigbee2 = {
5211
5203
  data = data.concat(convertDecimalValueTo2ByteHexArray(irrigationDuration));
5212
5204
  data = data.concat(convertDecimalValueTo2ByteHexArray(pauseDuration));
5213
5205
  data = data.concat(footer);
5214
- await sendDataPointRaw(entity, 16, data);
5206
+ await sendDataPointRaw(entity, 16, Buffer.from(data));
5215
5207
  const ret = { state: {} };
5216
5208
  ret.state[key] = value;
5217
5209
  return ret;
@@ -5227,8 +5219,8 @@ const toZigbee2 = {
5227
5219
  if (value === "") {
5228
5220
  // delete
5229
5221
  data.push(0x04);
5230
- data.push(Number.parseInt(key.substr(-1)));
5231
- await sendDataPointRaw(entity, 17, data);
5222
+ data.push(Number.parseInt(key.substr(-1), 10));
5223
+ await sendDataPointRaw(entity, 17, Buffer.from(data));
5232
5224
  const ret = { state: {} };
5233
5225
  ret.state[key] = value;
5234
5226
  return ret;
@@ -5238,7 +5230,7 @@ const toZigbee2 = {
5238
5230
  }
5239
5231
  else {
5240
5232
  data.push(0x02);
5241
- data.push(Number.parseInt(key.substr(-1)));
5233
+ data.push(Number.parseInt(key.substr(-1), 10));
5242
5234
  }
5243
5235
  const tarray = value.replace(/ /g, "").split("/");
5244
5236
  if (tarray.length < 2) {
@@ -5253,7 +5245,7 @@ const toZigbee2 = {
5253
5245
  const time = tarray[0];
5254
5246
  const duration = tarray[1];
5255
5247
  const weekdays = tarray[2];
5256
- const active = Number.parseInt(tarray[3]);
5248
+ const active = Number.parseInt(tarray[3], 10);
5257
5249
  if (!(active === 0 || active === 1)) {
5258
5250
  throw new Error("Active value only 0 or 1 allowed");
5259
5251
  }
@@ -5264,7 +5256,7 @@ const toZigbee2 = {
5264
5256
  data = data.concat(weekdaysPart);
5265
5257
  data = data.concat([64, active]);
5266
5258
  data = data.concat(footer);
5267
- await sendDataPointRaw(entity, 17, data);
5259
+ await sendDataPointRaw(entity, 17, Buffer.from(data));
5268
5260
  const ret = { state: {} };
5269
5261
  ret.state[key] = value;
5270
5262
  return ret;
@@ -5328,10 +5320,10 @@ const toZigbee2 = {
5328
5320
  return [(minutesSinceMidnight & 0xff00) >> 8, minutesSinceMidnight & 0xff, (heatSetpoint & 0xff00) >> 8, heatSetpoint & 0xff];
5329
5321
  }
5330
5322
  for (const [, daySchedule] of Object.entries(value)) {
5331
- const dayofweek = Number.parseInt(daySchedule.dayofweek);
5332
- const numoftrans = Number.parseInt(daySchedule.numoftrans);
5323
+ const dayofweek = Number.parseInt(daySchedule.dayofweek, 10);
5324
+ const numoftrans = Number.parseInt(daySchedule.numoftrans, 10);
5333
5325
  let transitions = [...daySchedule.transitions];
5334
- const mode = Number.parseInt(daySchedule.mode);
5326
+ const mode = Number.parseInt(daySchedule.mode, 10);
5335
5327
  if (!supportedModes.includes(mode)) {
5336
5328
  throw new Error(`Invalid mode: ${mode} for device ${meta.options.friendly_name}`);
5337
5329
  }
@@ -5370,10 +5362,10 @@ const toZigbee2 = {
5370
5362
  payload.push(...transitionToData(transition));
5371
5363
  });
5372
5364
  if (conversion === "saswell") {
5373
- await sendDataPointRaw(entity, dataPoints.saswellScheduleSet, payload);
5365
+ await sendDataPointRaw(entity, dataPoints.saswellScheduleSet, Buffer.from(payload));
5374
5366
  }
5375
5367
  else {
5376
- await sendDataPointRaw(entity, firstDayDpId - 1 + dayofweek, payload);
5368
+ await sendDataPointRaw(entity, firstDayDpId - 1 + dayofweek, Buffer.from(payload));
5377
5369
  }
5378
5370
  }
5379
5371
  },
@@ -5387,7 +5379,7 @@ const toZigbee2 = {
5387
5379
  tuya_thermostat_window_detection: {
5388
5380
  key: ["window_detection"],
5389
5381
  convertSet: async (entity, key, value, meta) => {
5390
- await sendDataPointRaw(entity, dataPoints.windowDetection, [value === "ON" ? 1 : 0]);
5382
+ await sendDataPointRaw(entity, dataPoints.windowDetection, Buffer.from([value === "ON" ? 1 : 0]));
5391
5383
  },
5392
5384
  },
5393
5385
  siterwell_thermostat_window_detection: {
@@ -5415,7 +5407,7 @@ const toZigbee2 = {
5415
5407
  convertSet: async (entity, key, value, meta) => {
5416
5408
  const modeId = utils.getKey(utils.getMetaValue(entity, meta.mapped, "tuyaThermostatSystemMode"), value, null, Number);
5417
5409
  if (modeId !== null) {
5418
- await sendDataPointEnum(entity, dataPoints.mode, Number.parseInt(modeId));
5410
+ await sendDataPointEnum(entity, dataPoints.mode, modeId);
5419
5411
  }
5420
5412
  else {
5421
5413
  throw new Error(`TRV system mode ${value} is not recognized.`);
@@ -5427,7 +5419,7 @@ const toZigbee2 = {
5427
5419
  convertSet: async (entity, key, value, meta) => {
5428
5420
  const presetId = utils.getKey(utils.getMetaValue(entity, meta.mapped, "tuyaThermostatPreset"), value, null, Number);
5429
5421
  if (presetId !== null) {
5430
- await sendDataPointEnum(entity, dataPoints.mode, Number.parseInt(presetId));
5422
+ await sendDataPointEnum(entity, dataPoints.mode, presetId);
5431
5423
  }
5432
5424
  else {
5433
5425
  throw new Error(`TRV preset ${value} is not recognized.`);
@@ -5438,17 +5430,14 @@ const toZigbee2 = {
5438
5430
  key: ["away_mode"],
5439
5431
  convertSet: async (entity, key, value, meta) => {
5440
5432
  // HA has special behavior for the away mode
5441
- // @ts-expect-error ignore
5442
5433
  const awayPresetId = utils.getKey(utils.getMetaValue(entity, meta.mapped, "tuyaThermostatPreset"), "away", null, Number);
5443
- const schedulePresetId = utils.getKey(utils.getMetaValue(entity, meta.mapped, "tuyaThermostatPreset"), "schedule", null,
5444
- // @ts-expect-error ignore
5445
- Number);
5434
+ const schedulePresetId = utils.getKey(utils.getMetaValue(entity, meta.mapped, "tuyaThermostatPreset"), "schedule", null, Number);
5446
5435
  if (awayPresetId !== null) {
5447
5436
  if (value === "ON") {
5448
- await sendDataPointEnum(entity, dataPoints.mode, Number.parseInt(awayPresetId));
5437
+ await sendDataPointEnum(entity, dataPoints.mode, awayPresetId);
5449
5438
  }
5450
5439
  else if (schedulePresetId != null) {
5451
- await sendDataPointEnum(entity, dataPoints.mode, Number.parseInt(schedulePresetId));
5440
+ await sendDataPointEnum(entity, dataPoints.mode, schedulePresetId);
5452
5441
  }
5453
5442
  // In case 'OFF' tuya_thermostat_preset() should be called with another preset
5454
5443
  }
@@ -5462,7 +5451,7 @@ const toZigbee2 = {
5462
5451
  convertSet: async (entity, key, value, meta) => {
5463
5452
  const modeId = utils.getKey(fanModes, value, null, Number);
5464
5453
  if (modeId !== null) {
5465
- await sendDataPointEnum(entity, dataPoints.fanMode, Number.parseInt(modeId));
5454
+ await sendDataPointEnum(entity, dataPoints.fanMode, modeId);
5466
5455
  }
5467
5456
  else {
5468
5457
  throw new Error(`TRV fan mode ${value} is not recognized.`);
@@ -5474,7 +5463,7 @@ const toZigbee2 = {
5474
5463
  convertSet: async (entity, key, value, meta) => {
5475
5464
  const modeId = utils.getKey(fanModes, value, null, Number);
5476
5465
  if (modeId !== null) {
5477
- await sendDataPointEnum(entity, dataPoints.bacFanMode, Number.parseInt(modeId));
5466
+ await sendDataPointEnum(entity, dataPoints.bacFanMode, modeId);
5478
5467
  }
5479
5468
  else {
5480
5469
  throw new Error(`TRV fan mode ${value} is not recognized.`);
@@ -5533,7 +5522,7 @@ const toZigbee2 = {
5533
5522
  convertSet: async (entity, key, value, meta) => {
5534
5523
  const modeId = utils.getKey(thermostatForceMode, value, null, Number);
5535
5524
  if (modeId !== null) {
5536
- await sendDataPointEnum(entity, dataPoints.forceMode, Number.parseInt(modeId));
5525
+ await sendDataPointEnum(entity, dataPoints.forceMode, modeId);
5537
5526
  }
5538
5527
  else {
5539
5528
  throw new Error(`TRV force mode ${value} is not recognized.`);
@@ -5545,7 +5534,7 @@ const toZigbee2 = {
5545
5534
  convertSet: async (entity, key, value, meta) => {
5546
5535
  const modeId = utils.getKey(utils.getMetaValue(entity, meta.mapped, "tuyaThermostatSystemMode"), value, null, Number);
5547
5536
  if (modeId !== null) {
5548
- await sendDataPointEnum(entity, dataPoints.forceMode, Number.parseInt(modeId));
5537
+ await sendDataPointEnum(entity, dataPoints.forceMode, modeId);
5549
5538
  }
5550
5539
  else {
5551
5540
  throw new Error(`TRV system mode ${value} is not recognized.`);
@@ -5570,7 +5559,7 @@ const toZigbee2 = {
5570
5559
  key: ["window_detect"],
5571
5560
  convertSet: async (entity, key, value, meta) => {
5572
5561
  const detect = value.detect.toUpperCase() === "ON" ? 1 : 0;
5573
- await sendDataPointRaw(entity, dataPoints.windowDetection, [detect, value.temperature, value.minutes]);
5562
+ await sendDataPointRaw(entity, dataPoints.windowDetection, Buffer.from([detect, value.temperature, value.minutes]));
5574
5563
  },
5575
5564
  },
5576
5565
  tuya_thermostat_schedule: {
@@ -5593,7 +5582,7 @@ const toZigbee2 = {
5593
5582
  payload[i * 3 + 2] = value[prob][i].temperature;
5594
5583
  }
5595
5584
  }
5596
- await sendDataPointRaw(entity, dpId, payload);
5585
+ await sendDataPointRaw(entity, dpId, Buffer.from(payload));
5597
5586
  }
5598
5587
  },
5599
5588
  },
@@ -5608,9 +5597,9 @@ const toZigbee2 = {
5608
5597
  for (let i = 0; i < 6; i++) {
5609
5598
  const hourTemperature = items[i].split("/");
5610
5599
  const hourMinute = hourTemperature[0].split(":", 2);
5611
- const hour = Number.parseInt(hourMinute[0]);
5612
- const minute = Number.parseInt(hourMinute[1]);
5613
- const temperature = Number.parseInt(hourTemperature[1]);
5600
+ const hour = Number.parseInt(hourMinute[0], 10);
5601
+ const minute = Number.parseInt(hourMinute[1], 10);
5602
+ const temperature = Number.parseInt(hourTemperature[1], 10);
5614
5603
  if (hour < 0 || hour >= 24 || minute < 0 || minute >= 60 || temperature < 5 || temperature >= 35) {
5615
5604
  throw new Error(`Invalid hour, minute or temperature of:${items[i]}`);
5616
5605
  }
@@ -5618,7 +5607,7 @@ const toZigbee2 = {
5618
5607
  payload[i * 3 + 1] = minute;
5619
5608
  payload[i * 3 + 2] = temperature;
5620
5609
  }
5621
- await sendDataPointRaw(entity, dpId, payload);
5610
+ await sendDataPointRaw(entity, dpId, Buffer.from(payload));
5622
5611
  },
5623
5612
  },
5624
5613
  tuya_thermostat_week: {
@@ -5971,7 +5960,7 @@ const toZigbee2 = {
5971
5960
  // Scale it to what the device expects (0-1000 instead of 0-255)
5972
5961
  const scaled = utils.mapNumberRange(value, 0, 255, 0, 1000);
5973
5962
  data = data.concat(convertDecimalValueTo2ByteHexArray(scaled));
5974
- await sendDataPoint(entity, { dp: dataPoints.silvercrestSetBrightness, datatype: dataTypes.value, data: data });
5963
+ await sendDataPoint(entity, { dp: dataPoints.silvercrestSetBrightness, datatype: dataTypes.value, data: Buffer.from(data) });
5975
5964
  }
5976
5965
  else if (key === "color") {
5977
5966
  await sendDataPointEnum(entity, dataPoints.silvercrestChangeMode, silvercrestModes.color);
@@ -6025,7 +6014,7 @@ const toZigbee2 = {
6025
6014
  };
6026
6015
  let hsb = {};
6027
6016
  if (value.hsb != null) {
6028
- const split = value.hsb.split(",").map((i) => Number.parseInt(i));
6017
+ const split = value.hsb.split(",").map((i) => Number.parseInt(i, 10));
6029
6018
  hsb = fillInHSB(split[0], split[1], split[2], meta.state);
6030
6019
  }
6031
6020
  else {
@@ -6046,29 +6035,29 @@ const toZigbee2 = {
6046
6035
  utils.assertString(value);
6047
6036
  const args = value.split(",");
6048
6037
  const mode = args[0];
6049
- const dp = Number.parseInt(args[1]);
6038
+ const dp = Number.parseInt(args[1], 10);
6050
6039
  const data = [];
6051
6040
  switch (mode) {
6052
6041
  case "raw":
6053
6042
  for (let i = 2; i < args.length; i++) {
6054
- data.push(Number.parseInt(args[i]));
6043
+ data.push(Number.parseInt(args[i], 10));
6055
6044
  }
6056
- await sendDataPointRaw(entity, dp, data);
6045
+ await sendDataPointRaw(entity, dp, Buffer.from(data));
6057
6046
  break;
6058
6047
  case "bool":
6059
6048
  await sendDataPointBool(entity, dp, args[2] === "1");
6060
6049
  break;
6061
6050
  case "value":
6062
- await sendDataPointValue(entity, dp, Number.parseInt(args[2]));
6051
+ await sendDataPointValue(entity, dp, Number.parseInt(args[2], 10));
6063
6052
  break;
6064
6053
  case "enum":
6065
- await sendDataPointEnum(entity, dp, Number.parseInt(args[2]));
6054
+ await sendDataPointEnum(entity, dp, Number.parseInt(args[2], 10));
6066
6055
  break;
6067
6056
  case "bitmap":
6068
6057
  for (let i = 2; i < args.length; i++) {
6069
- data.push(Number.parseInt(args[i]));
6058
+ data.push(Number.parseInt(args[i], 10));
6070
6059
  }
6071
- await sendDataPointBitmap(entity, dp, data);
6060
+ await sendDataPointBitmap(entity, dp, Buffer.from(data));
6072
6061
  break;
6073
6062
  }
6074
6063
  },
@@ -6262,10 +6251,10 @@ const toZigbee2 = {
6262
6251
  convertSet: async (entity, key, value, meta) => {
6263
6252
  switch (key) {
6264
6253
  case "o_sensitivity":
6265
- await sendDataPointEnum(entity, dataPoints.msOSensitivity, utils.getKey(msLookups.OSensitivity, value));
6254
+ await sendDataPointEnum(entity, dataPoints.msOSensitivity, utils.getKey(msLookups.OSensitivity, value, undefined, Number));
6266
6255
  break;
6267
6256
  case "v_sensitivity":
6268
- await sendDataPointEnum(entity, dataPoints.msVSensitivity, utils.getKey(msLookups.VSensitivity, value));
6257
+ await sendDataPointEnum(entity, dataPoints.msVSensitivity, utils.getKey(msLookups.VSensitivity, value, undefined, Number));
6269
6258
  break;
6270
6259
  case "led_status":
6271
6260
  // @ts-expect-error ignore
@@ -6281,7 +6270,7 @@ const toZigbee2 = {
6281
6270
  await sendDataPointValue(entity, dataPoints.msLightOffLuminancePrefer, value);
6282
6271
  break;
6283
6272
  case "mode":
6284
- await sendDataPointEnum(entity, dataPoints.msMode, utils.getKey(msLookups.Mode, value));
6273
+ await sendDataPointEnum(entity, dataPoints.msMode, utils.getKey(msLookups.Mode, value, undefined, Number));
6285
6274
  break;
6286
6275
  default: // Unknown key
6287
6276
  logger_1.logger.warning(`toZigbee.tuya_motion_sensor: Unhandled key ${key}`, "zhc:legacy:tz:tuya_motion_sensor");
@@ -6294,27 +6283,27 @@ const toZigbee2 = {
6294
6283
  switch (key) {
6295
6284
  case "illuminance_calibration": // (10--100) sensor illuminance sensitivity
6296
6285
  if (meta.device.manufacturerName === "_TZE200_kagkgk0i") {
6297
- await sendDataPointRaw(entity, 102, [value]);
6286
+ await sendDataPointRaw(entity, 102, Buffer.from([value]));
6298
6287
  break;
6299
6288
  }
6300
- await sendDataPointRaw(entity, 105, [value]);
6289
+ await sendDataPointRaw(entity, 105, Buffer.from([value]));
6301
6290
  break;
6302
6291
  case "led_enable": // OK (value true/false or 1/0)
6303
6292
  if (meta.device.manufacturerName === "_TZE200_kagkgk0i") {
6304
- await sendDataPointRaw(entity, 107, [value ? 1 : 0]);
6293
+ await sendDataPointRaw(entity, 107, Buffer.from([value ? 1 : 0]));
6305
6294
  break;
6306
6295
  }
6307
- await sendDataPointRaw(entity, 103, [value ? 1 : 0]);
6296
+ await sendDataPointRaw(entity, 103, Buffer.from([value ? 1 : 0]));
6308
6297
  break;
6309
6298
  case "sensitivity": // value: 25, 50, 75, 100
6310
- await sendDataPointRaw(entity, 2, [value]);
6299
+ await sendDataPointRaw(entity, 2, Buffer.from([value]));
6311
6300
  break;
6312
6301
  case "keep_time": // value 0 --> 7 corresponding 5s, 30s, 1, 3, 5, 10, 20, 30 min
6313
6302
  if (meta.device.manufacturerName === "_TZE200_kagkgk0i") {
6314
- await sendDataPointRaw(entity, 106, [value]);
6303
+ await sendDataPointRaw(entity, 106, Buffer.from([value]));
6315
6304
  break;
6316
6305
  }
6317
- await sendDataPointRaw(entity, 102, [value]);
6306
+ await sendDataPointRaw(entity, 102, Buffer.from([value]));
6318
6307
  break;
6319
6308
  default: // Unknown key
6320
6309
  throw new Error(`Unhandled key ${key}`);
@@ -6342,7 +6331,7 @@ const toZigbee2 = {
6342
6331
  case "system_mode":
6343
6332
  if (value !== "off") {
6344
6333
  await sendDataPointBool(entity, dataPoints.tvHeatingStop, 0);
6345
- await sendDataPointEnum(entity, dataPoints.tvMode, utils.getKey(tvThermostatMode, value));
6334
+ await sendDataPointEnum(entity, dataPoints.tvMode, utils.getKey(tvThermostatMode, value, undefined, Number));
6346
6335
  }
6347
6336
  else {
6348
6337
  await sendDataPointBool(entity, dataPoints.tvHeatingStop, 1);
@@ -6411,7 +6400,7 @@ const toZigbee2 = {
6411
6400
  break;
6412
6401
  case "preset":
6413
6402
  await sendDataPointBool(entity, dataPoints.tvHeatingStop, 0);
6414
- await sendDataPointEnum(entity, dataPoints.tvMode, utils.getKey(tvThermostatPreset, value));
6403
+ await sendDataPointEnum(entity, dataPoints.tvMode, utils.getKey(tvThermostatPreset, value, undefined, Number));
6415
6404
  break;
6416
6405
  default: // Unknown key
6417
6406
  logger_1.logger.warning(`Unhandled key ${key}`, "zhc:legacy:tz:moes_thermostat_tv");
@@ -6583,17 +6572,18 @@ const toZigbee2 = {
6583
6572
  }
6584
6573
  switch (key) {
6585
6574
  case "mode":
6586
- await sendDataPointEnum(entity, dataPoints.AM02Mode, utils.getKey(ZMLookups.AM02Mode, value));
6575
+ await sendDataPointEnum(entity, dataPoints.AM02Mode, utils.getKey(ZMLookups.AM02Mode, value, undefined, Number));
6587
6576
  break;
6588
6577
  case "motor_direction":
6589
- await sendDataPointEnum(entity, dataPoints.AM02Direction, utils.getKey(ZMLookups.AM02Direction, value));
6578
+ await sendDataPointEnum(entity, dataPoints.AM02Direction, utils.getKey(ZMLookups.AM02Direction, value, undefined, Number));
6590
6579
  break;
6591
6580
  case "border":
6592
- await sendDataPointEnum(entity, dataPoints.AM02Border, utils.getKey(ZMLookups.AM02Border, value));
6581
+ await sendDataPointEnum(entity, dataPoints.AM02Border, utils.getKey(ZMLookups.AM02Border, value, undefined, Number));
6593
6582
  break;
6594
- case "motor_working_mode":
6595
- await sendDataPointEnum(entity, dataPoints.AM02MotorWorkingMode, utils.getKey(ZMLookups.AM02MotorWorkingMode, value));
6583
+ case "motor_working_mode": {
6584
+ await sendDataPointEnum(entity, dataPoints.AM02MotorWorkingMode, utils.getKey(ZMLookups.AM02MotorWorkingMode, value, undefined, Number));
6596
6585
  break;
6586
+ }
6597
6587
  }
6598
6588
  },
6599
6589
  },