@willieee802/zigbee-herdsman-converters 19.44.3 → 19.45.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 (591) hide show
  1. package/CHANGELOG.md +1101 -0
  2. package/dist/converters/actions.d.ts.map +1 -1
  3. package/dist/converters/actions.js +2 -0
  4. package/dist/converters/actions.js.map +1 -1
  5. package/dist/converters/fromZigbee.d.ts +1 -150
  6. package/dist/converters/fromZigbee.d.ts.map +1 -1
  7. package/dist/converters/fromZigbee.js +183 -3044
  8. package/dist/converters/fromZigbee.js.map +1 -1
  9. package/dist/converters/toZigbee.d.ts +0 -121
  10. package/dist/converters/toZigbee.d.ts.map +1 -1
  11. package/dist/converters/toZigbee.js +289 -2386
  12. package/dist/converters/toZigbee.js.map +1 -1
  13. package/dist/devices/ITCommander.d.ts.map +1 -1
  14. package/dist/devices/ITCommander.js +2 -1
  15. package/dist/devices/ITCommander.js.map +1 -1
  16. package/dist/devices/acova.d.ts.map +1 -1
  17. package/dist/devices/acova.js +69 -2
  18. package/dist/devices/acova.js.map +1 -1
  19. package/dist/devices/adeo.d.ts.map +1 -1
  20. package/dist/devices/adeo.js +35 -3
  21. package/dist/devices/adeo.js.map +1 -1
  22. package/dist/devices/adurosmart.js +1 -1
  23. package/dist/devices/adurosmart.js.map +1 -1
  24. package/dist/devices/amina.d.ts.map +1 -1
  25. package/dist/devices/amina.js +47 -10
  26. package/dist/devices/amina.js.map +1 -1
  27. package/dist/devices/aurora_lighting.d.ts.map +1 -1
  28. package/dist/devices/aurora_lighting.js +15 -0
  29. package/dist/devices/aurora_lighting.js.map +1 -1
  30. package/dist/devices/automaton.d.ts.map +1 -1
  31. package/dist/devices/automaton.js +1 -0
  32. package/dist/devices/automaton.js.map +1 -1
  33. package/dist/devices/avatto.d.ts.map +1 -1
  34. package/dist/devices/avatto.js +29 -24
  35. package/dist/devices/avatto.js.map +1 -1
  36. package/dist/devices/awox.d.ts.map +1 -1
  37. package/dist/devices/awox.js +41 -3
  38. package/dist/devices/awox.js.map +1 -1
  39. package/dist/devices/bacchus.d.ts.map +1 -1
  40. package/dist/devices/bacchus.js +75 -0
  41. package/dist/devices/bacchus.js.map +1 -1
  42. package/dist/devices/bitron.d.ts.map +1 -1
  43. package/dist/devices/bitron.js +29 -2
  44. package/dist/devices/bitron.js.map +1 -1
  45. package/dist/devices/bosch.d.ts.map +1 -1
  46. package/dist/devices/bosch.js +70 -50
  47. package/dist/devices/bosch.js.map +1 -1
  48. package/dist/devices/bticino.d.ts.map +1 -1
  49. package/dist/devices/bticino.js +11 -1
  50. package/dist/devices/bticino.js.map +1 -1
  51. package/dist/devices/byun.d.ts.map +1 -1
  52. package/dist/devices/byun.js +40 -3
  53. package/dist/devices/byun.js.map +1 -1
  54. package/dist/devices/candeo.d.ts.map +1 -1
  55. package/dist/devices/candeo.js +262 -9
  56. package/dist/devices/candeo.js.map +1 -1
  57. package/dist/devices/centralite.d.ts +9 -0
  58. package/dist/devices/centralite.d.ts.map +1 -1
  59. package/dist/devices/centralite.js +44 -5
  60. package/dist/devices/centralite.js.map +1 -1
  61. package/dist/devices/{aubess.d.ts → cigol.d.ts} +1 -1
  62. package/dist/devices/cigol.d.ts.map +1 -0
  63. package/dist/devices/cigol.js +260 -0
  64. package/dist/devices/cigol.js.map +1 -0
  65. package/dist/devices/cleverio.js +2 -2
  66. package/dist/devices/cleverio.js.map +1 -1
  67. package/dist/devices/climax.d.ts.map +1 -1
  68. package/dist/devices/climax.js +15 -1
  69. package/dist/devices/climax.js.map +1 -1
  70. package/dist/devices/ctm.d.ts.map +1 -1
  71. package/dist/devices/ctm.js +845 -496
  72. package/dist/devices/ctm.js.map +1 -1
  73. package/dist/devices/custom_devices_diy.d.ts +183 -1
  74. package/dist/devices/custom_devices_diy.d.ts.map +1 -1
  75. package/dist/devices/custom_devices_diy.js +390 -33
  76. package/dist/devices/custom_devices_diy.js.map +1 -1
  77. package/dist/devices/daewoo.d.ts +3 -0
  78. package/dist/devices/daewoo.d.ts.map +1 -0
  79. package/dist/devices/daewoo.js +198 -0
  80. package/dist/devices/daewoo.js.map +1 -0
  81. package/dist/devices/danfoss.d.ts.map +1 -1
  82. package/dist/devices/danfoss.js +1270 -296
  83. package/dist/devices/danfoss.js.map +1 -1
  84. package/dist/devices/databyte.d.ts.map +1 -1
  85. package/dist/devices/databyte.js +47 -3
  86. package/dist/devices/databyte.js.map +1 -1
  87. package/dist/devices/datek.d.ts.map +1 -1
  88. package/dist/devices/datek.js +202 -41
  89. package/dist/devices/datek.js.map +1 -1
  90. package/dist/devices/dawon_dns.d.ts.map +1 -1
  91. package/dist/devices/dawon_dns.js +14 -1
  92. package/dist/devices/dawon_dns.js.map +1 -1
  93. package/dist/devices/develco.d.ts.map +1 -1
  94. package/dist/devices/develco.js +145 -64
  95. package/dist/devices/develco.js.map +1 -1
  96. package/dist/devices/diyruz.d.ts.map +1 -1
  97. package/dist/devices/diyruz.js +444 -20
  98. package/dist/devices/diyruz.js.map +1 -1
  99. package/dist/devices/domraem.d.ts.map +1 -1
  100. package/dist/devices/domraem.js +7 -0
  101. package/dist/devices/domraem.js.map +1 -1
  102. package/dist/devices/easyaccess.d.ts.map +1 -1
  103. package/dist/devices/easyaccess.js +22 -2
  104. package/dist/devices/easyaccess.js.map +1 -1
  105. package/dist/devices/easyiot.d.ts.map +1 -1
  106. package/dist/devices/easyiot.js +767 -5
  107. package/dist/devices/easyiot.js.map +1 -1
  108. package/dist/devices/echostar.d.ts.map +1 -1
  109. package/dist/devices/echostar.js +25 -1
  110. package/dist/devices/echostar.js.map +1 -1
  111. package/dist/devices/ecodim.d.ts.map +1 -1
  112. package/dist/devices/ecodim.js +8 -0
  113. package/dist/devices/ecodim.js.map +1 -1
  114. package/dist/devices/ecolink.d.ts.map +1 -1
  115. package/dist/devices/ecolink.js +12 -0
  116. package/dist/devices/ecolink.js.map +1 -1
  117. package/dist/devices/efekta.d.ts.map +1 -1
  118. package/dist/devices/efekta.js +1615 -60
  119. package/dist/devices/efekta.js.map +1 -1
  120. package/dist/devices/eglo.d.ts.map +1 -1
  121. package/dist/devices/eglo.js +203 -17
  122. package/dist/devices/eglo.js.map +1 -1
  123. package/dist/devices/elko.d.ts.map +1 -1
  124. package/dist/devices/elko.js +20 -22
  125. package/dist/devices/elko.js.map +1 -1
  126. package/dist/devices/engo.d.ts.map +1 -1
  127. package/dist/devices/engo.js +201 -0
  128. package/dist/devices/engo.js.map +1 -1
  129. package/dist/devices/enocean.d.ts.map +1 -1
  130. package/dist/devices/enocean.js +132 -4
  131. package/dist/devices/enocean.js.map +1 -1
  132. package/dist/devices/ensystec.d.ts +3 -0
  133. package/dist/devices/ensystec.d.ts.map +1 -0
  134. package/dist/devices/ensystec.js +1200 -0
  135. package/dist/devices/ensystec.js.map +1 -0
  136. package/dist/devices/eurotronic.d.ts +78 -1
  137. package/dist/devices/eurotronic.d.ts.map +1 -1
  138. package/dist/devices/eurotronic.js +244 -40
  139. package/dist/devices/eurotronic.js.map +1 -1
  140. package/dist/devices/ewelink.d.ts.map +1 -1
  141. package/dist/devices/ewelink.js +154 -2
  142. package/dist/devices/ewelink.js.map +1 -1
  143. package/dist/devices/fantem.js +1 -1
  144. package/dist/devices/fantem.js.map +1 -1
  145. package/dist/devices/fireangel.d.ts.map +1 -1
  146. package/dist/devices/fireangel.js +12 -1
  147. package/dist/devices/fireangel.js.map +1 -1
  148. package/dist/devices/frankever.d.ts.map +1 -1
  149. package/dist/devices/frankever.js +96 -0
  150. package/dist/devices/frankever.js.map +1 -1
  151. package/dist/devices/frient.d.ts.map +1 -1
  152. package/dist/devices/frient.js +15 -0
  153. package/dist/devices/frient.js.map +1 -1
  154. package/dist/devices/girier.js +1 -1
  155. package/dist/devices/girier.js.map +1 -1
  156. package/dist/devices/gledopto.js +1 -1
  157. package/dist/devices/gledopto.js.map +1 -1
  158. package/dist/devices/gmmts.d.ts.map +1 -1
  159. package/dist/devices/gmmts.js +59 -55
  160. package/dist/devices/gmmts.js.map +1 -1
  161. package/dist/devices/halo_smart_labs.d.ts +3 -0
  162. package/dist/devices/halo_smart_labs.d.ts.map +1 -0
  163. package/dist/devices/halo_smart_labs.js +918 -0
  164. package/dist/devices/halo_smart_labs.js.map +1 -0
  165. package/dist/devices/handshake_finland.d.ts +3 -0
  166. package/dist/devices/handshake_finland.d.ts.map +1 -0
  167. package/dist/devices/handshake_finland.js +15 -0
  168. package/dist/devices/handshake_finland.js.map +1 -0
  169. package/dist/devices/heiman.d.ts.map +1 -1
  170. package/dist/devices/heiman.js +1361 -147
  171. package/dist/devices/heiman.js.map +1 -1
  172. package/dist/devices/heimgard_technologies.d.ts.map +1 -1
  173. package/dist/devices/heimgard_technologies.js +13 -0
  174. package/dist/devices/heimgard_technologies.js.map +1 -1
  175. package/dist/devices/hive.d.ts.map +1 -1
  176. package/dist/devices/hive.js +11 -0
  177. package/dist/devices/hive.js.map +1 -1
  178. package/dist/devices/ikea.d.ts.map +1 -1
  179. package/dist/devices/ikea.js +185 -135
  180. package/dist/devices/ikea.js.map +1 -1
  181. package/dist/devices/iluminize.d.ts.map +1 -1
  182. package/dist/devices/iluminize.js +8 -7
  183. package/dist/devices/iluminize.js.map +1 -1
  184. package/dist/devices/immax.d.ts.map +1 -1
  185. package/dist/devices/immax.js +3 -1
  186. package/dist/devices/immax.js.map +1 -1
  187. package/dist/devices/index.d.ts.map +1 -1
  188. package/dist/devices/index.js +20 -2
  189. package/dist/devices/index.js.map +1 -1
  190. package/dist/devices/innr.d.ts.map +1 -1
  191. package/dist/devices/innr.js +34 -2
  192. package/dist/devices/innr.js.map +1 -1
  193. package/dist/devices/inovelli.d.ts.map +1 -1
  194. package/dist/devices/inovelli.js +41 -2348
  195. package/dist/devices/inovelli.js.map +1 -1
  196. package/dist/devices/iris.d.ts.map +1 -1
  197. package/dist/devices/iris.js +13 -1
  198. package/dist/devices/iris.js.map +1 -1
  199. package/dist/devices/javis.d.ts.map +1 -1
  200. package/dist/devices/javis.js +39 -1
  201. package/dist/devices/javis.js.map +1 -1
  202. package/dist/devices/jxuan.d.ts.map +1 -1
  203. package/dist/devices/jxuan.js +37 -2
  204. package/dist/devices/jxuan.js.map +1 -1
  205. package/dist/devices/kami.d.ts.map +1 -1
  206. package/dist/devices/kami.js +21 -2
  207. package/dist/devices/kami.js.map +1 -1
  208. package/dist/devices/keen_home.d.ts.map +1 -1
  209. package/dist/devices/keen_home.js +13 -3
  210. package/dist/devices/keen_home.js.map +1 -1
  211. package/dist/devices/klikaanklikuit.d.ts.map +1 -1
  212. package/dist/devices/klikaanklikuit.js +7 -0
  213. package/dist/devices/klikaanklikuit.js.map +1 -1
  214. package/dist/devices/kmpcil.d.ts.map +1 -1
  215. package/dist/devices/kmpcil.js +44 -5
  216. package/dist/devices/kmpcil.js.map +1 -1
  217. package/dist/devices/konke.d.ts.map +1 -1
  218. package/dist/devices/konke.js +10 -1
  219. package/dist/devices/konke.js.map +1 -1
  220. package/dist/devices/lds.d.ts.map +1 -1
  221. package/dist/devices/lds.js +7 -0
  222. package/dist/devices/lds.js.map +1 -1
  223. package/dist/devices/led_trading.d.ts.map +1 -1
  224. package/dist/devices/led_trading.js +13 -13
  225. package/dist/devices/led_trading.js.map +1 -1
  226. package/dist/devices/leedarson.d.ts.map +1 -1
  227. package/dist/devices/leedarson.js +140 -1
  228. package/dist/devices/leedarson.js.map +1 -1
  229. package/dist/devices/legrand.d.ts.map +1 -1
  230. package/dist/devices/legrand.js +73 -42
  231. package/dist/devices/legrand.js.map +1 -1
  232. package/dist/devices/lellki.d.ts.map +1 -1
  233. package/dist/devices/lellki.js +3 -1
  234. package/dist/devices/lellki.js.map +1 -1
  235. package/dist/devices/letv.d.ts.map +1 -1
  236. package/dist/devices/letv.js +16 -2
  237. package/dist/devices/letv.js.map +1 -1
  238. package/dist/devices/lidl.d.ts.map +1 -1
  239. package/dist/devices/lidl.js +26 -6
  240. package/dist/devices/lidl.js.map +1 -1
  241. package/dist/devices/lincukoo.d.ts.map +1 -1
  242. package/dist/devices/lincukoo.js +92 -31
  243. package/dist/devices/lincukoo.js.map +1 -1
  244. package/dist/devices/linkind.d.ts.map +1 -1
  245. package/dist/devices/linkind.js +14 -1
  246. package/dist/devices/linkind.js.map +1 -1
  247. package/dist/devices/linptech.d.ts.map +1 -1
  248. package/dist/devices/linptech.js +3 -1
  249. package/dist/devices/linptech.js.map +1 -1
  250. package/dist/devices/livingwise.d.ts.map +1 -1
  251. package/dist/devices/livingwise.js +2 -1
  252. package/dist/devices/livingwise.js.map +1 -1
  253. package/dist/devices/livolo.d.ts.map +1 -1
  254. package/dist/devices/livolo.js +612 -20
  255. package/dist/devices/livolo.js.map +1 -1
  256. package/dist/devices/lixee.d.ts.map +1 -1
  257. package/dist/devices/lixee.js +46 -44
  258. package/dist/devices/lixee.js.map +1 -1
  259. package/dist/devices/lonsonho.d.ts.map +1 -1
  260. package/dist/devices/lonsonho.js +18 -11
  261. package/dist/devices/lonsonho.js.map +1 -1
  262. package/dist/devices/lumi.d.ts.map +1 -1
  263. package/dist/devices/lumi.js +877 -155
  264. package/dist/devices/lumi.js.map +1 -1
  265. package/dist/devices/lytko.d.ts.map +1 -1
  266. package/dist/devices/lytko.js +205 -556
  267. package/dist/devices/lytko.js.map +1 -1
  268. package/dist/devices/makegood.d.ts.map +1 -1
  269. package/dist/devices/makegood.js +5 -1
  270. package/dist/devices/makegood.js.map +1 -1
  271. package/dist/devices/mazda.js +7 -7
  272. package/dist/devices/mazda.js.map +1 -1
  273. package/dist/devices/meazon.d.ts.map +1 -1
  274. package/dist/devices/meazon.js +82 -20
  275. package/dist/devices/meazon.js.map +1 -1
  276. package/dist/devices/megaman.d.ts +4 -0
  277. package/dist/devices/megaman.d.ts.map +1 -0
  278. package/dist/devices/megaman.js +48 -0
  279. package/dist/devices/megaman.js.map +1 -0
  280. package/dist/devices/mercator.d.ts.map +1 -1
  281. package/dist/devices/mercator.js +20 -5
  282. package/dist/devices/mercator.js.map +1 -1
  283. package/dist/devices/miboxer.d.ts.map +1 -1
  284. package/dist/devices/miboxer.js +3 -1
  285. package/dist/devices/miboxer.js.map +1 -1
  286. package/dist/devices/mill.d.ts.map +1 -1
  287. package/dist/devices/mill.js +33 -7
  288. package/dist/devices/mill.js.map +1 -1
  289. package/dist/devices/moes.d.ts.map +1 -1
  290. package/dist/devices/moes.js +89 -15
  291. package/dist/devices/moes.js.map +1 -1
  292. package/dist/devices/msh.d.ts +3 -0
  293. package/dist/devices/msh.d.ts.map +1 -0
  294. package/dist/devices/msh.js +93 -0
  295. package/dist/devices/msh.js.map +1 -0
  296. package/dist/devices/muller_licht.d.ts.map +1 -1
  297. package/dist/devices/muller_licht.js +11 -0
  298. package/dist/devices/muller_licht.js.map +1 -1
  299. package/dist/devices/multir.d.ts.map +1 -1
  300. package/dist/devices/multir.js +12 -1
  301. package/dist/devices/multir.js.map +1 -1
  302. package/dist/devices/multiterm.js +2 -2
  303. package/dist/devices/multiterm.js.map +1 -1
  304. package/dist/devices/namron.d.ts.map +1 -1
  305. package/dist/devices/namron.js +488 -128
  306. package/dist/devices/namron.js.map +1 -1
  307. package/dist/devices/neo.d.ts.map +1 -1
  308. package/dist/devices/neo.js +151 -192
  309. package/dist/devices/neo.js.map +1 -1
  310. package/dist/devices/netica.d.ts +3 -0
  311. package/dist/devices/netica.d.ts.map +1 -0
  312. package/dist/devices/netica.js +153 -0
  313. package/dist/devices/netica.js.map +1 -0
  314. package/dist/devices/niko.d.ts.map +1 -1
  315. package/dist/devices/niko.js +10 -8
  316. package/dist/devices/niko.js.map +1 -1
  317. package/dist/devices/nodon.d.ts.map +1 -1
  318. package/dist/devices/nodon.js +6 -4
  319. package/dist/devices/nodon.js.map +1 -1
  320. package/dist/devices/nous.d.ts.map +1 -1
  321. package/dist/devices/nous.js +160 -61
  322. package/dist/devices/nous.js.map +1 -1
  323. package/dist/devices/nue_3a.d.ts.map +1 -1
  324. package/dist/devices/nue_3a.js +2 -0
  325. package/dist/devices/nue_3a.js.map +1 -1
  326. package/dist/devices/onesti.d.ts +11 -1
  327. package/dist/devices/onesti.d.ts.map +1 -1
  328. package/dist/devices/onesti.js +30 -6
  329. package/dist/devices/onesti.js.map +1 -1
  330. package/dist/devices/onokom.d.ts.map +1 -1
  331. package/dist/devices/onokom.js +1152 -2309
  332. package/dist/devices/onokom.js.map +1 -1
  333. package/dist/devices/orvibo.d.ts +17 -1
  334. package/dist/devices/orvibo.d.ts.map +1 -1
  335. package/dist/devices/orvibo.js +71 -4
  336. package/dist/devices/orvibo.js.map +1 -1
  337. package/dist/devices/owon.d.ts.map +1 -1
  338. package/dist/devices/owon.js +382 -62
  339. package/dist/devices/owon.js.map +1 -1
  340. package/dist/devices/paul_neuhaus.d.ts.map +1 -1
  341. package/dist/devices/paul_neuhaus.js +9 -0
  342. package/dist/devices/paul_neuhaus.js.map +1 -1
  343. package/dist/devices/paulmann.js +2 -2
  344. package/dist/devices/paulmann.js.map +1 -1
  345. package/dist/devices/perenio.d.ts.map +1 -1
  346. package/dist/devices/perenio.js +57 -39
  347. package/dist/devices/perenio.js.map +1 -1
  348. package/dist/devices/philips.d.ts.map +1 -1
  349. package/dist/devices/philips.js +194 -53
  350. package/dist/devices/philips.js.map +1 -1
  351. package/dist/devices/plaid.d.ts.map +1 -1
  352. package/dist/devices/plaid.js +18 -1
  353. package/dist/devices/plaid.js.map +1 -1
  354. package/dist/devices/plugwise.d.ts.map +1 -1
  355. package/dist/devices/plugwise.js +307 -26
  356. package/dist/devices/plugwise.js.map +1 -1
  357. package/dist/devices/profalux.d.ts.map +1 -1
  358. package/dist/devices/profalux.js +25 -1
  359. package/dist/devices/profalux.js.map +1 -1
  360. package/dist/devices/pushok.d.ts.map +1 -1
  361. package/dist/devices/pushok.js +44 -0
  362. package/dist/devices/pushok.js.map +1 -1
  363. package/dist/devices/qa.d.ts.map +1 -1
  364. package/dist/devices/qa.js +80 -32
  365. package/dist/devices/qa.js.map +1 -1
  366. package/dist/devices/repenic_ltd.d.ts +3 -0
  367. package/dist/devices/repenic_ltd.d.ts.map +1 -0
  368. package/dist/devices/repenic_ltd.js +97 -0
  369. package/dist/devices/repenic_ltd.js.map +1 -0
  370. package/dist/devices/robb.d.ts.map +1 -1
  371. package/dist/devices/robb.js +13 -1
  372. package/dist/devices/robb.js.map +1 -1
  373. package/dist/devices/rtx.js +1 -1
  374. package/dist/devices/rtx.js.map +1 -1
  375. package/dist/devices/salus_controls.d.ts.map +1 -1
  376. package/dist/devices/salus_controls.js +44 -17
  377. package/dist/devices/salus_controls.js.map +1 -1
  378. package/dist/devices/samotech.js +2 -2
  379. package/dist/devices/samotech.js.map +1 -1
  380. package/dist/devices/sber.d.ts.map +1 -1
  381. package/dist/devices/sber.js +435 -26
  382. package/dist/devices/sber.js.map +1 -1
  383. package/dist/devices/schneider_electric.d.ts.map +1 -1
  384. package/dist/devices/schneider_electric.js +808 -252
  385. package/dist/devices/schneider_electric.js.map +1 -1
  386. package/dist/devices/securifi.d.ts.map +1 -1
  387. package/dist/devices/securifi.js +24 -1
  388. package/dist/devices/securifi.js.map +1 -1
  389. package/dist/devices/sengled.d.ts.map +1 -1
  390. package/dist/devices/sengled.js +5 -4
  391. package/dist/devices/sengled.js.map +1 -1
  392. package/dist/devices/shada.d.ts +3 -0
  393. package/dist/devices/shada.d.ts.map +1 -0
  394. package/dist/devices/{aubess.js → shada.js} +7 -20
  395. package/dist/devices/shada.js.map +1 -0
  396. package/dist/devices/shelly.d.ts.map +1 -1
  397. package/dist/devices/shelly.js +646 -61
  398. package/dist/devices/shelly.js.map +1 -1
  399. package/dist/devices/shinasystem.d.ts.map +1 -1
  400. package/dist/devices/shinasystem.js +75 -16
  401. package/dist/devices/shinasystem.js.map +1 -1
  402. package/dist/devices/siglis.d.ts.map +1 -1
  403. package/dist/devices/siglis.js +26 -0
  404. package/dist/devices/siglis.js.map +1 -1
  405. package/dist/devices/sinope.d.ts.map +1 -1
  406. package/dist/devices/sinope.js +163 -83
  407. package/dist/devices/sinope.js.map +1 -1
  408. package/dist/devices/slacky_diy.d.ts.map +1 -1
  409. package/dist/devices/slacky_diy.js +3007 -69
  410. package/dist/devices/slacky_diy.js.map +1 -1
  411. package/dist/devices/smarli.d.ts.map +1 -1
  412. package/dist/devices/smarli.js +4 -5
  413. package/dist/devices/smarli.js.map +1 -1
  414. package/dist/devices/smartthings.d.ts +25 -0
  415. package/dist/devices/smartthings.d.ts.map +1 -1
  416. package/dist/devices/smartthings.js +62 -11
  417. package/dist/devices/smartthings.js.map +1 -1
  418. package/dist/devices/somfy.d.ts.map +1 -1
  419. package/dist/devices/somfy.js +14 -1
  420. package/dist/devices/somfy.js.map +1 -1
  421. package/dist/devices/sonoff.d.ts +42 -1
  422. package/dist/devices/sonoff.d.ts.map +1 -1
  423. package/dist/devices/sonoff.js +5161 -2007
  424. package/dist/devices/sonoff.js.map +1 -1
  425. package/dist/devices/sprut.d.ts.map +1 -1
  426. package/dist/devices/sprut.js +5 -4
  427. package/dist/devices/sprut.js.map +1 -1
  428. package/dist/devices/stello.d.ts.map +1 -1
  429. package/dist/devices/stello.js +6 -24
  430. package/dist/devices/stello.js.map +1 -1
  431. package/dist/devices/stelpro.d.ts +51 -1
  432. package/dist/devices/stelpro.d.ts.map +1 -1
  433. package/dist/devices/stelpro.js +86 -23
  434. package/dist/devices/stelpro.js.map +1 -1
  435. package/dist/devices/sunricher.d.ts.map +1 -1
  436. package/dist/devices/sunricher.js +215 -29
  437. package/dist/devices/sunricher.js.map +1 -1
  438. package/dist/devices/tech.d.ts.map +1 -1
  439. package/dist/devices/tech.js +35 -35
  440. package/dist/devices/tech.js.map +1 -1
  441. package/dist/devices/terncy.d.ts.map +1 -1
  442. package/dist/devices/terncy.js +398 -2
  443. package/dist/devices/terncy.js.map +1 -1
  444. package/dist/devices/third_reality.d.ts +42 -1
  445. package/dist/devices/third_reality.d.ts.map +1 -1
  446. package/dist/devices/third_reality.js +521 -110
  447. package/dist/devices/third_reality.js.map +1 -1
  448. package/dist/devices/tuya.d.ts.map +1 -1
  449. package/dist/devices/tuya.js +3143 -815
  450. package/dist/devices/tuya.js.map +1 -1
  451. package/dist/devices/ubisys.d.ts.map +1 -1
  452. package/dist/devices/ubisys.js +11 -8
  453. package/dist/devices/ubisys.js.map +1 -1
  454. package/dist/devices/vesternet.d.ts.map +1 -1
  455. package/dist/devices/vesternet.js +7 -0
  456. package/dist/devices/vesternet.js.map +1 -1
  457. package/dist/devices/viessmann.d.ts.map +1 -1
  458. package/dist/devices/viessmann.js +107 -4
  459. package/dist/devices/viessmann.js.map +1 -1
  460. package/dist/devices/vsmart.d.ts.map +1 -1
  461. package/dist/devices/vsmart.js +11 -0
  462. package/dist/devices/vsmart.js.map +1 -1
  463. package/dist/devices/weiser.d.ts.map +1 -1
  464. package/dist/devices/weiser.js +6 -0
  465. package/dist/devices/weiser.js.map +1 -1
  466. package/dist/devices/wirenboard.d.ts.map +1 -1
  467. package/dist/devices/wirenboard.js +124 -21
  468. package/dist/devices/wirenboard.js.map +1 -1
  469. package/dist/devices/wmun.d.ts.map +1 -1
  470. package/dist/devices/wmun.js +3 -2
  471. package/dist/devices/wmun.js.map +1 -1
  472. package/dist/devices/woolley.d.ts.map +1 -1
  473. package/dist/devices/woolley.js +6 -9
  474. package/dist/devices/woolley.js.map +1 -1
  475. package/dist/devices/woox.js +2 -2
  476. package/dist/devices/woox.js.map +1 -1
  477. package/dist/devices/xyzroe.d.ts.map +1 -1
  478. package/dist/devices/xyzroe.js +16 -4
  479. package/dist/devices/xyzroe.js.map +1 -1
  480. package/dist/devices/yale.d.ts.map +1 -1
  481. package/dist/devices/yale.js +138 -40
  482. package/dist/devices/yale.js.map +1 -1
  483. package/dist/devices/yandex.d.ts.map +1 -1
  484. package/dist/devices/yandex.js +93 -11
  485. package/dist/devices/yandex.js.map +1 -1
  486. package/dist/devices/yokis.d.ts.map +1 -1
  487. package/dist/devices/yokis.js +122 -85
  488. package/dist/devices/yokis.js.map +1 -1
  489. package/dist/devices/zbeacon.d.ts.map +1 -1
  490. package/dist/devices/zbeacon.js +0 -7
  491. package/dist/devices/zbeacon.js.map +1 -1
  492. package/dist/devices/zemismart.d.ts.map +1 -1
  493. package/dist/devices/zemismart.js +148 -11
  494. package/dist/devices/zemismart.js.map +1 -1
  495. package/dist/devices/zigbeetlc.js +1 -1
  496. package/dist/devices/zigbeetlc.js.map +1 -1
  497. package/dist/index.d.ts +1 -1
  498. package/dist/index.d.ts.map +1 -1
  499. package/dist/index.js +40 -35
  500. package/dist/index.js.map +1 -1
  501. package/dist/lib/bosch.d.ts.map +1 -1
  502. package/dist/lib/bosch.js +212 -42
  503. package/dist/lib/bosch.js.map +1 -1
  504. package/dist/lib/constants.d.ts +99 -17
  505. package/dist/lib/constants.d.ts.map +1 -1
  506. package/dist/lib/constants.js +15 -2
  507. package/dist/lib/constants.js.map +1 -1
  508. package/dist/lib/develco.d.ts +11 -0
  509. package/dist/lib/develco.d.ts.map +1 -1
  510. package/dist/lib/develco.js +78 -9
  511. package/dist/lib/develco.js.map +1 -1
  512. package/dist/lib/exposes.d.ts +11 -10
  513. package/dist/lib/exposes.d.ts.map +1 -1
  514. package/dist/lib/exposes.js +7 -48
  515. package/dist/lib/exposes.js.map +1 -1
  516. package/dist/lib/heiman.d.ts.map +1 -1
  517. package/dist/lib/heiman.js +34 -14
  518. package/dist/lib/heiman.js.map +1 -1
  519. package/dist/lib/ikea.d.ts +17 -0
  520. package/dist/lib/ikea.d.ts.map +1 -1
  521. package/dist/lib/ikea.js +46 -20
  522. package/dist/lib/ikea.js.map +1 -1
  523. package/dist/lib/inovelli.d.ts +86 -0
  524. package/dist/lib/inovelli.d.ts.map +1 -0
  525. package/dist/lib/inovelli.js +2580 -0
  526. package/dist/lib/inovelli.js.map +1 -0
  527. package/dist/lib/ledvance.d.ts +4 -4
  528. package/dist/lib/ledvance.d.ts.map +1 -1
  529. package/dist/lib/ledvance.js +23 -7
  530. package/dist/lib/ledvance.js.map +1 -1
  531. package/dist/lib/legacy.d.ts +21 -2
  532. package/dist/lib/legacy.d.ts.map +1 -1
  533. package/dist/lib/legacy.js +29 -2
  534. package/dist/lib/legacy.js.map +1 -1
  535. package/dist/lib/legrand.d.ts +65 -6
  536. package/dist/lib/legrand.d.ts.map +1 -1
  537. package/dist/lib/legrand.js +188 -9
  538. package/dist/lib/legrand.js.map +1 -1
  539. package/dist/lib/light.d.ts +1 -1
  540. package/dist/lib/light.d.ts.map +1 -1
  541. package/dist/lib/light.js +2 -2
  542. package/dist/lib/light.js.map +1 -1
  543. package/dist/lib/lumi.d.ts +88 -44
  544. package/dist/lib/lumi.d.ts.map +1 -1
  545. package/dist/lib/lumi.js +1813 -59
  546. package/dist/lib/lumi.js.map +1 -1
  547. package/dist/lib/modernExtend.d.ts +19 -14
  548. package/dist/lib/modernExtend.d.ts.map +1 -1
  549. package/dist/lib/modernExtend.js +37 -35
  550. package/dist/lib/modernExtend.js.map +1 -1
  551. package/dist/lib/namron.d.ts +131 -28
  552. package/dist/lib/namron.d.ts.map +1 -1
  553. package/dist/lib/namron.js +723 -42
  554. package/dist/lib/namron.js.map +1 -1
  555. package/dist/lib/nodon.d.ts.map +1 -1
  556. package/dist/lib/nodon.js +3 -1
  557. package/dist/lib/nodon.js.map +1 -1
  558. package/dist/lib/philips.d.ts +106 -2
  559. package/dist/lib/philips.d.ts.map +1 -1
  560. package/dist/lib/philips.js +945 -44
  561. package/dist/lib/philips.js.map +1 -1
  562. package/dist/lib/sonoff.d.ts +77 -10
  563. package/dist/lib/sonoff.d.ts.map +1 -1
  564. package/dist/lib/sonoff.js +165 -34
  565. package/dist/lib/sonoff.js.map +1 -1
  566. package/dist/lib/sunricher.d.ts +1 -1
  567. package/dist/lib/sunricher.d.ts.map +1 -1
  568. package/dist/lib/sunricher.js +6 -8
  569. package/dist/lib/sunricher.js.map +1 -1
  570. package/dist/lib/tuya.d.ts +558 -13
  571. package/dist/lib/tuya.d.ts.map +1 -1
  572. package/dist/lib/tuya.js +1518 -10
  573. package/dist/lib/tuya.js.map +1 -1
  574. package/dist/lib/types.d.ts +9 -6
  575. package/dist/lib/types.d.ts.map +1 -1
  576. package/dist/lib/ubisys.d.ts +1 -1
  577. package/dist/lib/ubisys.d.ts.map +1 -1
  578. package/dist/lib/ubisys.js +60 -5
  579. package/dist/lib/ubisys.js.map +1 -1
  580. package/dist/lib/utils.d.ts +5 -8
  581. package/dist/lib/utils.d.ts.map +1 -1
  582. package/dist/lib/utils.js +30 -17
  583. package/dist/lib/utils.js.map +1 -1
  584. package/dist/lib/zosung.d.ts +69 -6
  585. package/dist/lib/zosung.d.ts.map +1 -1
  586. package/dist/lib/zosung.js +113 -1
  587. package/dist/lib/zosung.js.map +1 -1
  588. package/dist/models-index.json +1 -1
  589. package/package.json +2 -2
  590. package/dist/devices/aubess.d.ts.map +0 -1
  591. package/dist/devices/aubess.js.map +0 -1
@@ -42,6 +42,16 @@ const m = __importStar(require("../lib/modernExtend"));
42
42
  const reporting = __importStar(require("../lib/reporting"));
43
43
  const e = exposes.presets;
44
44
  const ea = exposes.access;
45
+ const fzLocal = {
46
+ // biome-ignore lint/style/useNamingConvention: ignored using `--suppress`
47
+ K4003C_binary_input: {
48
+ cluster: "genBinaryInput",
49
+ type: "attributeReport",
50
+ convert: (model, msg, publish, options, meta) => {
51
+ return { action: msg.data.presentValue === 1 ? "off" : "on" };
52
+ },
53
+ },
54
+ };
45
55
  exports.definitions = [
46
56
  {
47
57
  zigbeeModel: [" Light switch with neutral\u0000\u0000\u0000\u0000\u0000"],
@@ -49,7 +59,7 @@ exports.definitions = [
49
59
  vendor: "BTicino",
50
60
  description: "Light switch with neutral",
51
61
  ota: true,
52
- fromZigbee: [fz.identify, fz.on_off, fz.K4003C_binary_input, legrand_1.fzLegrand.cluster_fc01],
62
+ fromZigbee: [fz.identify, fz.on_off, fzLocal.K4003C_binary_input, legrand_1.fzLegrand.cluster_fc01],
53
63
  toZigbee: [tz.on_off, legrand_1.tzLegrand.led_mode, legrand_1.tzLegrand.identify],
54
64
  extend: [legrand_1.legrandExtend.addLegrandDevicesCluster()],
55
65
  exposes: [e.switch(), e.action(["identify", "on", "off"]), legrand_1.eLegrand.identify(), legrand_1.eLegrand.ledInDark(), legrand_1.eLegrand.ledIfOn()],
@@ -1 +1 @@
1
- {"version":3,"file":"bticino.js","sourceRoot":"","sources":["../../src/devices/bticino.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bticino.js","sourceRoot":"","sources":["../../src/devices/bticino.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"byun.d.ts","sourceRoot":"","sources":["../../src/devices/byun.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAIvD,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAmB7C,CAAC"}
1
+ {"version":3,"file":"byun.d.ts","sourceRoot":"","sources":["../../src/devices/byun.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,oBAAoB,EAAK,MAAM,cAAc,CAAC;AA2C3D,eAAO,MAAM,WAAW,EAAE,oBAAoB,EAmB7C,CAAC"}
@@ -34,16 +34,53 @@ 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
37
  const exposes = __importStar(require("../lib/exposes"));
39
38
  const e = exposes.presets;
39
+ const fzLocal = {
40
+ byun_smoke_false: {
41
+ cluster: "pHMeasurement",
42
+ type: ["attributeReport"],
43
+ convert: (model, msg, publish, options, meta) => {
44
+ if (msg.endpoint.ID === 1 && msg.data.measuredValue === 0) {
45
+ return { smoke: false };
46
+ }
47
+ },
48
+ },
49
+ byun_smoke_true: {
50
+ cluster: "ssIasZone",
51
+ type: ["commandStatusChangeNotification"],
52
+ convert: (model, msg, publish, options, meta) => {
53
+ if (msg.endpoint.ID === 1 && msg.data.zonestatus === 33) {
54
+ return { smoke: true };
55
+ }
56
+ },
57
+ },
58
+ byun_gas_false: {
59
+ cluster: 1034, // ID: 0x040a,"msElectricalConductivity"
60
+ type: ["raw"],
61
+ convert: (model, msg, publish, options, meta) => {
62
+ if (msg.endpoint.ID === 1 && msg.data[0] === 24) {
63
+ return { gas: false };
64
+ }
65
+ },
66
+ },
67
+ byun_gas_true: {
68
+ cluster: "ssIasZone",
69
+ type: ["commandStatusChangeNotification"],
70
+ convert: (model, msg, publish, options, meta) => {
71
+ if (msg.endpoint.ID === 1 && msg.data.zonestatus === 33) {
72
+ return { gas: true };
73
+ }
74
+ },
75
+ },
76
+ };
40
77
  exports.definitions = [
41
78
  {
42
79
  zigbeeModel: ["Windows switch "],
43
80
  model: "M415-6C",
44
81
  vendor: "BYUN",
45
82
  description: "Smoke sensor",
46
- fromZigbee: [fz.byun_smoke_true, fz.byun_smoke_false],
83
+ fromZigbee: [fzLocal.byun_smoke_true, fzLocal.byun_smoke_false],
47
84
  toZigbee: [],
48
85
  exposes: [e.smoke()],
49
86
  },
@@ -52,7 +89,7 @@ exports.definitions = [
52
89
  model: "M415-5C",
53
90
  vendor: "BYUN",
54
91
  description: "Gas sensor",
55
- fromZigbee: [fz.byun_gas_true, fz.byun_gas_false],
92
+ fromZigbee: [fzLocal.byun_gas_true, fzLocal.byun_gas_false],
56
93
  toZigbee: [],
57
94
  exposes: [e.gas()],
58
95
  },
@@ -1 +1 @@
1
- {"version":3,"file":"byun.js","sourceRoot":"","sources":["../../src/devices/byun.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA+C;AAC/C,wDAA0C;AAG1C,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;AAEb,QAAA,WAAW,GAA2B;IAC/C;QACI,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,gBAAgB,CAAC;QACrD,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACvB;IACD;QACI,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,cAAc,CAAC;QACjD,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACrB;CACJ,CAAC"}
1
+ {"version":3,"file":"byun.js","sourceRoot":"","sources":["../../src/devices/byun.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAG1C,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;AAE1B,MAAM,OAAO,GAAG;IACZ,gBAAgB,EAAE;QACd,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,CAAC,iBAAiB,CAAC;QACzB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC;YAC1B,CAAC;QACL,CAAC;KACoE;IACzE,eAAe,EAAE;QACb,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,CAAC,iCAAiC,CAAC;QACzC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;YACzB,CAAC;QACL,CAAC;KACgF;IACrF,cAAc,EAAE;QACZ,OAAO,EAAE,IAAI,EAAE,wCAAwC;QACvD,IAAI,EAAE,CAAC,KAAK,CAAC;QACb,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC9C,OAAO,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC;YACxB,CAAC;QACL,CAAC;KAC6C;IAClD,aAAa,EAAE;QACX,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,CAAC,iCAAiC,CAAC;QACzC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;gBACtD,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC;YACvB,CAAC;QACL,CAAC;KACgF;CACxF,CAAC;AAEW,QAAA,WAAW,GAA2B;IAC/C;QACI,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC/D,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACvB;IACD;QACI,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC;QAC3D,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACrB;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"candeo.d.ts","sourceRoot":"","sources":["../../src/devices/candeo.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,oBAAoB,EAAS,MAAM,cAAc,CAAC;AAoO/D,eAAO,MAAM,WAAW,EAAE,oBAAoB,EA+oB7C,CAAC"}
1
+ {"version":3,"file":"candeo.d.ts","sourceRoot":"","sources":["../../src/devices/candeo.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,oBAAoB,EAAS,MAAM,cAAc,CAAC;AA4U/D,eAAO,MAAM,WAAW,EAAE,oBAAoB,EA80B7C,CAAC"}
@@ -39,6 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.definitions = void 0;
40
40
  const node_assert_1 = __importDefault(require("node:assert"));
41
41
  const zigbee_herdsman_1 = require("@willieee802/zigbee-herdsman");
42
+ const fz = __importStar(require("../converters/fromZigbee"));
43
+ const tz = __importStar(require("../converters/toZigbee"));
42
44
  const exposes = __importStar(require("../lib/exposes"));
43
45
  const m = __importStar(require("../lib/modernExtend"));
44
46
  const globalStore = __importStar(require("../lib/store"));
@@ -47,9 +49,14 @@ const utils = __importStar(require("../lib/utils"));
47
49
  const e = exposes.presets;
48
50
  const ea = exposes.access;
49
51
  const manufacturerSpecificSwitchTypeClusterCode = 0x1224;
52
+ const manufacturerSpecificMinimumBrightnessClusterCode = 0x1224;
50
53
  const manufacturerSpecificRotaryRemoteControlClusterCode = 0xff03;
51
54
  const switchTypeAttribute = 0x8803;
52
55
  const switchTypeDataType = 0x20;
56
+ const minimumBrightnessLevelAttribute = 0x7809;
57
+ const minimumBrightnessLevelDataType = 0x20;
58
+ const minimumBrightnessLevelRawOffset = 4;
59
+ const minimumBrightnessLevelRawScale = 4.6615756;
53
60
  const switchTypeValueMap = {
54
61
  0: "momentary",
55
62
  1: "toggle",
@@ -67,6 +74,31 @@ const rd1pKnobActionsMap = {
67
74
  commandStepWithOnOff: "rotating_",
68
75
  commandStop: "stopped_rotating",
69
76
  };
77
+ const kineticRFButtonMultiPressActions = {
78
+ 1: "single",
79
+ 2: "double",
80
+ 3: "triple",
81
+ 4: "quadruple",
82
+ 5: "quintuple",
83
+ };
84
+ const kineticRFButtonMultiPressTimeout = 1000;
85
+ const kineticRFButtonMultiPressOptions = {
86
+ actions: () => e
87
+ .enum("actions", ea.SET, [
88
+ "single",
89
+ "single & double",
90
+ "single, double & triple",
91
+ "single, double, triple & quadruple",
92
+ "single, double, triple, quadruple & quintuple",
93
+ ])
94
+ .withDescription("Which press actions do you wish to detect (default: single)?"),
95
+ timeout: () => e
96
+ .numeric("timeout", ea.SET)
97
+ .withValueMin(500)
98
+ .withValueMax(1500)
99
+ .withUnit("ms")
100
+ .withDescription("Time in ms to delay sending of action since last event to allow for multi-press event detection (ignored if only single event is being detected)."),
101
+ };
70
102
  const luxScale = (value, type) => {
71
103
  let result = value;
72
104
  if (type === "from") {
@@ -85,6 +117,41 @@ const luxScale = (value, type) => {
85
117
  return result;
86
118
  };
87
119
  const fzLocal = {
120
+ kinetic_rf_button_multi_press: {
121
+ cluster: "genOnOff",
122
+ type: ["attributeReport", "readResponse"],
123
+ options: [kineticRFButtonMultiPressOptions.actions(), kineticRFButtonMultiPressOptions.timeout()],
124
+ convert: (model, msg, publish, options, meta) => {
125
+ if (utils.hasAlreadyProcessedMessage(msg, model))
126
+ return;
127
+ if (msg.data?.onOff === undefined)
128
+ return;
129
+ const endpoint = msg.endpoint;
130
+ const actionsRaw = typeof options?.actions === "string" ? options.actions : undefined;
131
+ if (!actionsRaw || actionsRaw === "single") {
132
+ return { action: `button_${endpoint.ID}_single_pressed` };
133
+ }
134
+ let buttonClickCount = globalStore.getValue(endpoint, "button_click_count");
135
+ buttonClickCount = buttonClickCount ? buttonClickCount + 1 : 1;
136
+ globalStore.putValue(endpoint, "button_click_count", buttonClickCount);
137
+ const existingTimer = globalStore.getValue(endpoint, "timer");
138
+ if (existingTimer)
139
+ clearTimeout(existingTimer);
140
+ const timeout = typeof options?.timeout === "number" ? options.timeout : kineticRFButtonMultiPressTimeout;
141
+ const enabledActions = actionsRaw ? actionsRaw.split(/[, &]+/) : [];
142
+ const timer = setTimeout(() => {
143
+ const count = globalStore.getValue(endpoint, "button_click_count");
144
+ if (kineticRFButtonMultiPressActions[count]) {
145
+ const button_action = kineticRFButtonMultiPressActions[count];
146
+ if (enabledActions.includes(button_action)) {
147
+ publish({ action: `button_${endpoint.ID}_${button_action}_pressed` });
148
+ }
149
+ }
150
+ globalStore.putValue(endpoint, "button_click_count", 0);
151
+ }, timeout);
152
+ globalStore.putValue(endpoint, "timer", timer);
153
+ },
154
+ },
88
155
  switch_type: {
89
156
  cluster: "genBasic",
90
157
  type: ["attributeReport", "readResponse"],
@@ -99,6 +166,20 @@ const fzLocal = {
99
166
  return undefined;
100
167
  },
101
168
  },
169
+ minimum_brightness_level: {
170
+ cluster: "genBasic",
171
+ type: ["attributeReport", "readResponse"],
172
+ convert: (model, msg, publish, options, meta) => {
173
+ if (Object.hasOwn(msg.data, minimumBrightnessLevelAttribute)) {
174
+ const value = msg.data[minimumBrightnessLevelAttribute];
175
+ const levelValue = Math.round((value - minimumBrightnessLevelRawOffset) / minimumBrightnessLevelRawScale);
176
+ return {
177
+ minimum_brightness_level: levelValue,
178
+ };
179
+ }
180
+ return undefined;
181
+ },
182
+ },
102
183
  rotary_remote_control: {
103
184
  cluster: "candeoRotaryRemoteControl",
104
185
  type: ["commandRotaryRemoteControl"],
@@ -247,6 +328,27 @@ const tzLocal = {
247
328
  await entity.read("genBasic", [switchTypeAttribute], { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
248
329
  },
249
330
  },
331
+ minimum_brightness_level: {
332
+ key: ["minimum_brightness_level"],
333
+ convertSet: async (entity, key, value, meta) => {
334
+ utils.assertNumber(value);
335
+ let numericValue = Number(value);
336
+ if (Number.isNaN(numericValue))
337
+ return;
338
+ if (numericValue < 0) {
339
+ numericValue = 0;
340
+ }
341
+ if (numericValue > 50) {
342
+ numericValue = 50;
343
+ }
344
+ const minValue = minimumBrightnessLevelRawOffset + Math.round(numericValue * minimumBrightnessLevelRawScale);
345
+ await entity.write("genBasic", { [minimumBrightnessLevelAttribute]: { value: minValue, type: minimumBrightnessLevelDataType } }, { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
346
+ return { state: { minimum_brightness_level: value } };
347
+ },
348
+ convertGet: async (entity, key, meta) => {
349
+ await entity.read("genBasic", [minimumBrightnessLevelAttribute], { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
350
+ },
351
+ },
250
352
  };
251
353
  exports.definitions = [
252
354
  {
@@ -298,6 +400,7 @@ exports.definitions = [
298
400
  configureReporting: true,
299
401
  levelReportingConfig: { min: 1, max: 3600, change: 1 },
300
402
  levelConfig: { features: ["on_off_transition_time", "on_level", "current_level_startup"] },
403
+ effect: false,
301
404
  }),
302
405
  m.electricityMeter({
303
406
  power: { min: 10, max: 600, change: 50 },
@@ -306,9 +409,22 @@ exports.definitions = [
306
409
  energy: { min: 10, max: 1800, change: 360000 },
307
410
  }),
308
411
  ],
309
- fromZigbee: [fzLocal.switch_type],
310
- toZigbee: [tzLocal.switch_type],
311
- exposes: [e.enum("external_switch_type", ea.ALL, ["momentary", "toggle"]).withLabel("External switch type")],
412
+ fromZigbee: [fzLocal.switch_type, fzLocal.minimum_brightness_level],
413
+ toZigbee: [tzLocal.switch_type, tzLocal.minimum_brightness_level],
414
+ exposes: [
415
+ e
416
+ .enum("external_switch_type", ea.ALL, ["momentary", "toggle"])
417
+ .withLabel("External switch type")
418
+ .withDescription("Change the type of external switch connected to the device (momentary or toggle). Power cycle the device after changing this setting to ensure it takes effect."),
419
+ e
420
+ .numeric("minimum_brightness_level", ea.ALL)
421
+ .withValueMin(0)
422
+ .withValueMax(50)
423
+ .withUnit("%")
424
+ .withValueStep(1)
425
+ .withLabel("Minimum brightness level")
426
+ .withDescription("Set the minimum brightness level for the device (0 - 50, 0 = do not use a minimum brightness level). Power cycle the device after changing this setting to ensure it takes effect."),
427
+ ],
312
428
  configure: async (device, coordinatorEndpoint, logger) => {
313
429
  const endpoint1 = device.getEndpoint(1);
314
430
  await endpoint1.write("genOnOff", { 16387: { value: 0xff, type: 0x30 } });
@@ -321,6 +437,8 @@ exports.definitions = [
321
437
  await endpoint1.read("genLevelCtrl", ["startUpCurrentLevel"]);
322
438
  await endpoint1.write("genBasic", { [switchTypeAttribute]: { value: switchTypeValueLookup["momentary"], type: switchTypeDataType } }, { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
323
439
  await endpoint1.read("genBasic", [switchTypeAttribute], { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
440
+ await endpoint1.write("genBasic", { [minimumBrightnessLevelAttribute]: { value: 4, type: minimumBrightnessLevelDataType } }, { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
441
+ await endpoint1.read("genBasic", [minimumBrightnessLevelAttribute], { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
324
442
  },
325
443
  },
326
444
  {
@@ -333,6 +451,7 @@ exports.definitions = [
333
451
  configureReporting: true,
334
452
  levelReportingConfig: { min: 1, max: 3600, change: 1 },
335
453
  levelConfig: { features: ["on_off_transition_time", "on_level", "current_level_startup"] },
454
+ effect: false,
336
455
  }),
337
456
  m.electricityMeter({
338
457
  power: { min: 10, max: 600, change: 50 },
@@ -341,9 +460,22 @@ exports.definitions = [
341
460
  energy: { min: 10, max: 1800, change: 360000 },
342
461
  }),
343
462
  ],
344
- fromZigbee: [fzLocal.switch_type],
345
- toZigbee: [tzLocal.switch_type],
346
- exposes: [e.enum("external_switch_type", ea.ALL, ["momentary", "toggle"]).withLabel("External switch type")],
463
+ fromZigbee: [fzLocal.switch_type, fzLocal.minimum_brightness_level],
464
+ toZigbee: [tzLocal.switch_type, tzLocal.minimum_brightness_level],
465
+ exposes: [
466
+ e
467
+ .enum("external_switch_type", ea.ALL, ["momentary", "toggle"])
468
+ .withLabel("External switch type")
469
+ .withDescription("Change the type of external switch connected to the device (momentary or toggle). Power cycle the device after changing this setting to ensure it takes effect."),
470
+ e
471
+ .numeric("minimum_brightness_level", ea.ALL)
472
+ .withValueMin(0)
473
+ .withValueMax(50)
474
+ .withUnit("%")
475
+ .withValueStep(1)
476
+ .withLabel("Minimum brightness level")
477
+ .withDescription("Set the minimum brightness level for the device (0 - 50, 0 = do not use a minimum brightness level). Power cycle the device after changing this setting to ensure it takes effect."),
478
+ ],
347
479
  configure: async (device, coordinatorEndpoint, logger) => {
348
480
  const endpoint1 = device.getEndpoint(1);
349
481
  await endpoint1.write("genOnOff", { 16387: { value: 0xff, type: 0x30 } });
@@ -356,6 +488,62 @@ exports.definitions = [
356
488
  await endpoint1.read("genLevelCtrl", ["startUpCurrentLevel"]);
357
489
  await endpoint1.write("genBasic", { [switchTypeAttribute]: { value: switchTypeValueLookup["momentary"], type: switchTypeDataType } }, { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
358
490
  await endpoint1.read("genBasic", [switchTypeAttribute], { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
491
+ await endpoint1.write("genBasic", { [minimumBrightnessLevelAttribute]: { value: 4, type: minimumBrightnessLevelDataType } }, { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
492
+ await endpoint1.read("genBasic", [minimumBrightnessLevelAttribute], { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
493
+ },
494
+ },
495
+ {
496
+ fingerprint: [
497
+ { modelID: "C-ZB-DM204V2", manufacturerName: "Candeo" },
498
+ { modelID: "C-ZB-DM204v2", manufacturerName: "Candeo" },
499
+ ],
500
+ model: "C-ZB-DM204v2",
501
+ vendor: "Candeo",
502
+ description: "Zigbee micro smart dimmer",
503
+ extend: [
504
+ m.light({
505
+ configureReporting: true,
506
+ levelReportingConfig: { min: 1, max: 3600, change: 1 },
507
+ levelConfig: { features: ["on_off_transition_time", "on_level", "current_level_startup"] },
508
+ effect: false,
509
+ }),
510
+ m.electricityMeter({
511
+ power: { min: 10, max: 600, change: 50 },
512
+ voltage: { min: 10, max: 600, change: 500 },
513
+ current: { min: 10, max: 600, change: 500 },
514
+ energy: { min: 10, max: 1800, change: 360000 },
515
+ }),
516
+ ],
517
+ fromZigbee: [fzLocal.switch_type, fzLocal.minimum_brightness_level],
518
+ toZigbee: [tzLocal.switch_type, tzLocal.minimum_brightness_level],
519
+ exposes: [
520
+ e
521
+ .enum("external_switch_type", ea.ALL, ["momentary", "toggle"])
522
+ .withLabel("External switch type")
523
+ .withDescription("Change the type of external switch connected to the device (momentary or toggle). Power cycle the device after changing this setting to ensure it takes effect."),
524
+ e
525
+ .numeric("minimum_brightness_level", ea.ALL)
526
+ .withValueMin(0)
527
+ .withValueMax(50)
528
+ .withUnit("%")
529
+ .withValueStep(1)
530
+ .withLabel("Minimum brightness level")
531
+ .withDescription("Set the minimum brightness level for the device (0 - 50, 0 = do not use a minimum brightness level). Power cycle the device after changing this setting to ensure it takes effect."),
532
+ ],
533
+ configure: async (device, coordinatorEndpoint, logger) => {
534
+ const endpoint1 = device.getEndpoint(1);
535
+ await endpoint1.write("genOnOff", { 16387: { value: 0xff, type: 0x30 } });
536
+ await endpoint1.read("genOnOff", ["startUpOnOff"]);
537
+ await endpoint1.write("genLevelCtrl", { 17: { value: 0xff, type: 0x20 } });
538
+ await endpoint1.read("genLevelCtrl", ["onLevel"]);
539
+ await endpoint1.write("genLevelCtrl", { 16: { value: 0x0a, type: 0x21 } });
540
+ await endpoint1.read("genLevelCtrl", ["onOffTransitionTime"]);
541
+ await endpoint1.write("genLevelCtrl", { 16384: { value: 0xff, type: 0x20 } });
542
+ await endpoint1.read("genLevelCtrl", ["startUpCurrentLevel"]);
543
+ await endpoint1.write("genBasic", { [switchTypeAttribute]: { value: switchTypeValueLookup["momentary"], type: switchTypeDataType } }, { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
544
+ await endpoint1.read("genBasic", [switchTypeAttribute], { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
545
+ await endpoint1.write("genBasic", { [minimumBrightnessLevelAttribute]: { value: 4, type: minimumBrightnessLevelDataType } }, { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
546
+ await endpoint1.read("genBasic", [minimumBrightnessLevelAttribute], { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
359
547
  },
360
548
  },
361
549
  {
@@ -539,6 +727,38 @@ exports.definitions = [
539
727
  await endpoint11.read("genBasic", [switchTypeAttribute], { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
540
728
  },
541
729
  },
730
+ {
731
+ fingerprint: [{ modelID: "C-ZB-SM30-2G", manufacturerName: "Candeo" }],
732
+ model: "C-ZB-SM30-2G",
733
+ vendor: "Candeo",
734
+ description: "Smart 2 gang switch module",
735
+ extend: [
736
+ m.deviceEndpoints({
737
+ endpoints: { l1: 1, l2: 2, e3: 3 },
738
+ multiEndpointSkip: ["power", "current", "voltage", "energy"],
739
+ }),
740
+ m.onOff({
741
+ powerOnBehavior: false,
742
+ endpointNames: ["l1", "l2"],
743
+ }),
744
+ m.electricityMeter({
745
+ power: { min: 5, max: 300, change: 10 },
746
+ voltage: { min: 5, max: 600, change: 500 },
747
+ current: { min: 5, max: 900, change: 10 },
748
+ energy: { min: 5, max: 1800, change: 50 },
749
+ }),
750
+ ],
751
+ exposes: [
752
+ e.power_on_behavior(["off", "on", "previous"]).withEndpoint("l1"),
753
+ e.power_on_behavior(["off", "on", "previous"]).withEndpoint("l2"),
754
+ ],
755
+ fromZigbee: [fz.power_on_behavior],
756
+ toZigbee: [tz.power_on_behavior],
757
+ configure: async (device, coordinatorEndpoint) => {
758
+ await m.setupAttributes(device, coordinatorEndpoint, "genOnOff", [{ attribute: "startUpOnOff", min: "MIN", max: "MAX", change: 1 }], false);
759
+ },
760
+ meta: {},
761
+ },
542
762
  {
543
763
  fingerprint: [{ modelID: "C-RFZB-SM1" }],
544
764
  model: "C-RFZB-SM1",
@@ -559,11 +779,25 @@ exports.definitions = [
559
779
  configureReporting: true,
560
780
  levelReportingConfig: { min: 1, max: 3600, change: 1 },
561
781
  levelConfig: { features: ["on_off_transition_time", "on_level", "current_level_startup"] },
782
+ effect: false,
562
783
  }),
563
784
  ],
564
- fromZigbee: [fzLocal.switch_type],
565
- toZigbee: [tzLocal.switch_type],
566
- exposes: [e.enum("external_switch_type", ea.ALL, ["momentary", "toggle"]).withLabel("External switch type")],
785
+ fromZigbee: [fzLocal.switch_type, fzLocal.minimum_brightness_level],
786
+ toZigbee: [tzLocal.switch_type, tzLocal.minimum_brightness_level],
787
+ exposes: [
788
+ e
789
+ .enum("external_switch_type", ea.ALL, ["momentary", "toggle"])
790
+ .withLabel("External switch type")
791
+ .withDescription("Change the type of external switch connected to the device (momentary or toggle). Power cycle the device after changing this setting to ensure it takes effect."),
792
+ e
793
+ .numeric("minimum_brightness_level", ea.ALL)
794
+ .withValueMin(0)
795
+ .withValueMax(50)
796
+ .withUnit("%")
797
+ .withValueStep(1)
798
+ .withLabel("Minimum brightness level")
799
+ .withDescription("Set the minimum brightness level for the device (0 - 50, 0 = do not use a minimum brightness level). Power cycle the device after changing this setting to ensure it takes effect."),
800
+ ],
567
801
  configure: async (device, coordinatorEndpoint, logger) => {
568
802
  const endpoint1 = device.getEndpoint(1);
569
803
  await endpoint1.write("genOnOff", { 16387: { value: 0xff, type: 0x30 } });
@@ -576,6 +810,8 @@ exports.definitions = [
576
810
  await endpoint1.read("genLevelCtrl", ["startUpCurrentLevel"]);
577
811
  await endpoint1.write("genBasic", { [switchTypeAttribute]: { value: switchTypeValueLookup["momentary"], type: switchTypeDataType } }, { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
578
812
  await endpoint1.read("genBasic", [switchTypeAttribute], { manufacturerCode: manufacturerSpecificSwitchTypeClusterCode });
813
+ await endpoint1.write("genBasic", { [minimumBrightnessLevelAttribute]: { value: 4, type: minimumBrightnessLevelDataType } }, { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
814
+ await endpoint1.read("genBasic", [minimumBrightnessLevelAttribute], { manufacturerCode: manufacturerSpecificMinimumBrightnessClusterCode });
579
815
  },
580
816
  },
581
817
  {
@@ -677,10 +913,12 @@ exports.definitions = [
677
913
  extend: [
678
914
  m.battery(),
679
915
  m.deviceAddCustomCluster("candeoRotaryRemoteControl", {
916
+ name: "candeoRotaryRemoteControl",
680
917
  ID: manufacturerSpecificRotaryRemoteControlClusterCode,
681
918
  attributes: {},
682
919
  commands: {
683
920
  rotaryRemoteControl: {
921
+ name: "rotaryRemoteControl",
684
922
  ID: 0x01,
685
923
  parameters: [
686
924
  { name: "field1", type: zigbee_herdsman_1.Zcl.DataType.UINT8, max: 0xff },
@@ -771,10 +1009,12 @@ exports.definitions = [
771
1009
  energy: { min: 5, max: 1800, change: 50 },
772
1010
  }),
773
1011
  m.deviceAddCustomCluster("genOnOff", {
1012
+ name: "genOnOff",
774
1013
  ID: 6,
775
1014
  attributes: {},
776
1015
  commands: {
777
1016
  release: {
1017
+ name: "release",
778
1018
  ID: 0x03,
779
1019
  parameters: [],
780
1020
  },
@@ -807,10 +1047,12 @@ exports.definitions = [
807
1047
  energy: { min: 5, max: 1800, change: 50 },
808
1048
  }),
809
1049
  m.deviceAddCustomCluster("genOnOff", {
1050
+ name: "genOnOff",
810
1051
  ID: 6,
811
1052
  attributes: {},
812
1053
  commands: {
813
1054
  release: {
1055
+ name: "release",
814
1056
  ID: 0x03,
815
1057
  parameters: [],
816
1058
  },
@@ -883,5 +1125,16 @@ exports.definitions = [
883
1125
  await endpoint2.bind("genLevelCtrl", coordinatorEndpoint);
884
1126
  },
885
1127
  },
1128
+ {
1129
+ fingerprint: [{ modelID: "C-RFZB-HUB", manufacturerName: "Candeo" }],
1130
+ model: "C-RFZB-HUB",
1131
+ vendor: "Candeo",
1132
+ description: "Kinetic RF to Zigbee gateway",
1133
+ fromZigbee: [fzLocal.kinetic_rf_button_multi_press],
1134
+ toZigbee: [],
1135
+ exposes: [
1136
+ e.action(Array.from({ length: 10 }, (_, i) => i + 1).flatMap((btn) => Object.values(kineticRFButtonMultiPressActions).map((state) => `button_${btn}_${state}_pressed`))),
1137
+ ],
1138
+ },
886
1139
  ];
887
1140
  //# sourceMappingURL=candeo.js.map