@willieee802/zigbee-herdsman-converters 19.44.4 → 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 +3139 -814
  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
@@ -447,65 +447,76 @@ const sdevices = {
447
447
  },
448
448
  },
449
449
  };
450
- const sdevicesCustomClusterDefinition = {
450
+ const sdevicesCustomCluster = {
451
+ name: "manuSpecificSDevices",
451
452
  ID: 0xfccf,
452
453
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
453
454
  attributes: {
454
- buttonEnableMultiClick: { ID: 0x1002, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
455
- childLock: { ID: 0x1003, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
456
- ledIndicatorOnEnable: { ID: 0x2001, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
457
- ledIndicatorOnH: { ID: 0x2002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
458
- ledIndicatorOnS: { ID: 0x2003, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
459
- ledIndicatorOnB: { ID: 0x2004, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
460
- ledIndicatorOffEnable: { ID: 0x2005, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
461
- ledIndicatorOffH: { ID: 0x2006, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
462
- ledIndicatorOffS: { ID: 0x2007, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
463
- ledIndicatorOffB: { ID: 0x2008, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
464
- emergencyShutoffState: { ID: 0x3001, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16 },
465
- emergencyShutoffRecovery: { ID: 0x3002, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16, write: true, max: 0xffff },
466
- upperVoltageThreshold: { ID: 0x3011, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
467
- lowerVoltageThreshold: { ID: 0x3012, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
468
- upperCurrentThreshold: { ID: 0x3013, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
469
- upperTempThreshold: { ID: 0x3014, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
470
- rmsVoltageMv: { ID: 0x4001, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
471
- rmsCurrentMa: { ID: 0x4002, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
472
- activePowerMw: { ID: 0x4003, type: zigbee_herdsman_1.Zcl.DataType.INT32 },
473
- rtcStatus: { ID: 0x5001, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16 },
455
+ buttonEnableMultiClick: { name: "buttonEnableMultiClick", ID: 0x1002, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
456
+ childLock: { name: "childLock", ID: 0x1003, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
457
+ ledIndicatorOnEnable: { name: "ledIndicatorOnEnable", ID: 0x2001, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
458
+ ledIndicatorOnH: { name: "ledIndicatorOnH", ID: 0x2002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
459
+ ledIndicatorOnS: { name: "ledIndicatorOnS", ID: 0x2003, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
460
+ ledIndicatorOnB: { name: "ledIndicatorOnB", ID: 0x2004, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
461
+ ledIndicatorOffEnable: { name: "ledIndicatorOffEnable", ID: 0x2005, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
462
+ ledIndicatorOffH: { name: "ledIndicatorOffH", ID: 0x2006, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
463
+ ledIndicatorOffS: { name: "ledIndicatorOffS", ID: 0x2007, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
464
+ ledIndicatorOffB: { name: "ledIndicatorOffB", ID: 0x2008, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
465
+ ledIndicationType: { name: "ledIndicationType", ID: 0x2009, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true, max: 0xff },
466
+ emergencyShutoffState: { name: "emergencyShutoffState", ID: 0x3001, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16 },
467
+ emergencyShutoffRecovery: { name: "emergencyShutoffRecovery", ID: 0x3002, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16, write: true, max: 0xffff },
468
+ upperVoltageThreshold: { name: "upperVoltageThreshold", ID: 0x3011, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
469
+ lowerVoltageThreshold: { name: "lowerVoltageThreshold", ID: 0x3012, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
470
+ upperCurrentThreshold: { name: "upperCurrentThreshold", ID: 0x3013, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
471
+ upperTempThreshold: { name: "upperTempThreshold", ID: 0x3014, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
472
+ rmsVoltageMv: { name: "rmsVoltageMv", ID: 0x4001, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
473
+ rmsCurrentMa: { name: "rmsCurrentMa", ID: 0x4002, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
474
+ activePowerMw: { name: "activePowerMw", ID: 0x4003, type: zigbee_herdsman_1.Zcl.DataType.INT32 },
475
+ powerProfile: { name: "powerProfile", ID: 0x4100, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true, max: 0xff },
476
+ neutralPresence: { name: "neutralPresence", ID: 0x4101, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true, max: 0xff },
477
+ rtcStatus: { name: "rtcStatus", ID: 0x5001, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16 },
474
478
  },
475
479
  commands: {},
476
480
  commandsResponse: {},
477
481
  };
478
482
  const sdevicesExtend = {
479
- sdevicesCustomCluster: () => m.deviceAddCustomCluster("manuSpecificSDevices", sdevicesCustomClusterDefinition),
483
+ sdevicesCustomCluster: () => m.deviceAddCustomCluster("manuSpecificSDevices", sdevicesCustomCluster),
480
484
  haDiagnosticCluster: () => m.deviceAddCustomCluster("haDiagnostic", {
485
+ name: "haDiagnostic",
481
486
  ID: zigbee_herdsman_1.Zcl.Clusters.haDiagnostic.ID,
482
487
  attributes: {
483
488
  sdevicesUptimeS: {
489
+ name: "sdevicesUptimeS",
484
490
  ID: 0x1001,
485
491
  type: zigbee_herdsman_1.Zcl.DataType.UINT32,
486
492
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
487
493
  },
488
494
  sdevicesButton1Clicks: {
495
+ name: "sdevicesButton1Clicks",
489
496
  ID: 0x1002,
490
497
  type: zigbee_herdsman_1.Zcl.DataType.UINT32,
491
498
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
492
499
  },
493
500
  sdevicesButton2Clicks: {
501
+ name: "sdevicesButton2Clicks",
494
502
  ID: 0x1003,
495
503
  type: zigbee_herdsman_1.Zcl.DataType.UINT32,
496
504
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
497
505
  },
498
506
  sdevicesButton3Clicks: {
507
+ name: "sdevicesButton3Clicks",
499
508
  ID: 0x1004,
500
509
  type: zigbee_herdsman_1.Zcl.DataType.UINT32,
501
510
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
502
511
  },
503
512
  sdevicesRelay1Switches: {
513
+ name: "sdevicesRelay1Switches",
504
514
  ID: 0x1005,
505
515
  type: zigbee_herdsman_1.Zcl.DataType.UINT32,
506
516
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
507
517
  },
508
518
  sdevicesRelay2Switches: {
519
+ name: "sdevicesRelay2Switches",
509
520
  ID: 0x1006,
510
521
  type: zigbee_herdsman_1.Zcl.DataType.UINT32,
511
522
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -515,9 +526,11 @@ const sdevicesExtend = {
515
526
  commandsResponse: {},
516
527
  }),
517
528
  closuresWindowCoveringCluster: () => m.deviceAddCustomCluster("closuresWindowCovering", {
529
+ name: "closuresWindowCovering",
518
530
  ID: zigbee_herdsman_1.Zcl.Clusters.closuresWindowCovering.ID,
519
531
  attributes: {
520
532
  sdevicesCalibrationTime: {
533
+ name: "sdevicesCalibrationTime",
521
534
  ID: 0x1001,
522
535
  type: zigbee_herdsman_1.Zcl.DataType.UINT16,
523
536
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -525,6 +538,7 @@ const sdevicesExtend = {
525
538
  max: 0xffff,
526
539
  },
527
540
  sdevicesButtonsMode: {
541
+ name: "sdevicesButtonsMode",
528
542
  ID: 0x1002,
529
543
  type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
530
544
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -532,6 +546,7 @@ const sdevicesExtend = {
532
546
  max: 0x01,
533
547
  },
534
548
  sdevicesMotorTimeout: {
549
+ name: "sdevicesMotorTimeout",
535
550
  ID: 0x1003,
536
551
  type: zigbee_herdsman_1.Zcl.DataType.UINT16,
537
552
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -543,9 +558,11 @@ const sdevicesExtend = {
543
558
  commandsResponse: {},
544
559
  }),
545
560
  hvacThermostatCluster: () => m.deviceAddCustomCluster("hvacThermostat", {
561
+ name: "hvacThermostat",
546
562
  ID: zigbee_herdsman_1.Zcl.Clusters.hvacThermostat.ID,
547
563
  attributes: {
548
564
  sdevicesRemoteTemperature: {
565
+ name: "sdevicesRemoteTemperature",
549
566
  ID: 0x4001,
550
567
  type: zigbee_herdsman_1.Zcl.DataType.INT16,
551
568
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -553,6 +570,7 @@ const sdevicesExtend = {
553
570
  min: -32768,
554
571
  },
555
572
  sdevicesRemoteTemperatureCalibration: {
573
+ name: "sdevicesRemoteTemperatureCalibration",
556
574
  ID: 0x4002,
557
575
  type: zigbee_herdsman_1.Zcl.DataType.INT8,
558
576
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -560,6 +578,7 @@ const sdevicesExtend = {
560
578
  min: -128,
561
579
  },
562
580
  sdevicesSensorMode: {
581
+ name: "sdevicesSensorMode",
563
582
  ID: 0x4003,
564
583
  type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
565
584
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -567,6 +586,7 @@ const sdevicesExtend = {
567
586
  max: 0x02,
568
587
  },
569
588
  sdevicesHeatingHysteresis: {
589
+ name: "sdevicesHeatingHysteresis",
570
590
  ID: 0x4019,
571
591
  type: zigbee_herdsman_1.Zcl.DataType.INT8,
572
592
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -574,6 +594,7 @@ const sdevicesExtend = {
574
594
  min: -128,
575
595
  },
576
596
  sdevicesMinLocalTemperatureLimit: {
597
+ name: "sdevicesMinLocalTemperatureLimit",
577
598
  ID: 0x40f0,
578
599
  type: zigbee_herdsman_1.Zcl.DataType.INT16,
579
600
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -581,6 +602,7 @@ const sdevicesExtend = {
581
602
  min: -32768,
582
603
  },
583
604
  sdevicesMaxLocalTemperatureLimit: {
605
+ name: "sdevicesMaxLocalTemperatureLimit",
584
606
  ID: 0x40f1,
585
607
  type: zigbee_herdsman_1.Zcl.DataType.INT16,
586
608
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -588,6 +610,7 @@ const sdevicesExtend = {
588
610
  min: -32768,
589
611
  },
590
612
  sdevicesOutputMode: {
613
+ name: "sdevicesOutputMode",
591
614
  ID: 0x4100,
592
615
  type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
593
616
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -595,15 +618,27 @@ const sdevicesExtend = {
595
618
  max: 0xff,
596
619
  },
597
620
  sdevicesLocalSensorType: {
621
+ name: "sdevicesLocalSensorType",
598
622
  ID: 0x4101,
599
623
  type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
600
624
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
601
625
  write: true,
602
626
  max: 0xff,
603
627
  },
604
- sdevicesSensorError: { ID: 0x4102, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD },
605
- sdevicesEventStatus: { ID: 0x4103, type: zigbee_herdsman_1.Zcl.DataType.BITMAP16, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD },
628
+ sdevicesSensorError: {
629
+ name: "sdevicesSensorError",
630
+ ID: 0x4102,
631
+ type: zigbee_herdsman_1.Zcl.DataType.BITMAP16,
632
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
633
+ },
634
+ sdevicesEventStatus: {
635
+ name: "sdevicesEventStatus",
636
+ ID: 0x4103,
637
+ type: zigbee_herdsman_1.Zcl.DataType.BITMAP16,
638
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
639
+ },
606
640
  sdevicesRemoteSensorTimeout: {
641
+ name: "sdevicesRemoteSensorTimeout",
607
642
  ID: 0x4203,
608
643
  type: zigbee_herdsman_1.Zcl.DataType.UINT16,
609
644
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -615,9 +650,11 @@ const sdevicesExtend = {
615
650
  commandsResponse: {},
616
651
  }),
617
652
  hvacUserInterfaceCfgCluster: () => m.deviceAddCustomCluster("hvacUserInterfaceCfg", {
653
+ name: "hvacUserInterfaceCfg",
618
654
  ID: zigbee_herdsman_1.Zcl.Clusters.hvacUserInterfaceCfg.ID,
619
655
  attributes: {
620
656
  sdevicesBrightnessOperationsMode: {
657
+ name: "sdevicesBrightnessOperationsMode",
621
658
  ID: 0x2001,
622
659
  type: zigbee_herdsman_1.Zcl.DataType.UINT16,
623
660
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -625,6 +662,7 @@ const sdevicesExtend = {
625
662
  max: 0xffff,
626
663
  },
627
664
  sdevicesBrightnessSteadyMode: {
665
+ name: "sdevicesBrightnessSteadyMode",
628
666
  ID: 0x2002,
629
667
  type: zigbee_herdsman_1.Zcl.DataType.UINT16,
630
668
  manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
@@ -636,9 +674,16 @@ const sdevicesExtend = {
636
674
  commandsResponse: {},
637
675
  }),
638
676
  genOnOffCluster: () => m.deviceAddCustomCluster("genOnOff", {
677
+ name: "genOnOff",
639
678
  ID: zigbee_herdsman_1.Zcl.Clusters.genOnOff.ID,
640
679
  attributes: {
641
- sdevicesRelayDecouple: { ID: 0x10dc, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD, write: true },
680
+ sdevicesRelayDecouple: {
681
+ name: "sdevicesRelayDecouple",
682
+ ID: 0x10dc,
683
+ type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN,
684
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SBERDEVICES_LTD,
685
+ write: true,
686
+ },
642
687
  },
643
688
  commands: {},
644
689
  commandsResponse: {},
@@ -1165,6 +1210,32 @@ const sdevicesExtend = {
1165
1210
  }
1166
1211
  return extend;
1167
1212
  },
1213
+ ledIndicationType: () => m.enumLookup({
1214
+ name: "led_indication_type",
1215
+ description: "Type of LED indication (ignored in cover controller mode). Either continuous light, or short flashes",
1216
+ cluster: "manuSpecificSDevices",
1217
+ attribute: "ledIndicationType",
1218
+ lookup: { continuous: 0, flashes: 1 },
1219
+ zigbeeCommandOptions: manufacturerOptions,
1220
+ }),
1221
+ powerProfile: () => m.enumLookup({
1222
+ name: "power_profile",
1223
+ description: "Power Profile when neutral wire is absent: quick mode is for fastest device response; anti-flicker (af) modes have different polling intervals (in ms). Anti-flicker fallback mode is the safest one: device will fall back to it automatically if unstable behavior has been detected in more responsive mode",
1224
+ cluster: "manuSpecificSDevices",
1225
+ attribute: "powerProfile",
1226
+ lookup: { quick: 0, af_250: 1, af_500: 2, af_750: 3, af_1000: 4, af_1250: 5, af_1750: 6, af_2000: 7, af_fallback: 254 },
1227
+ zigbeeCommandOptions: manufacturerOptions,
1228
+ }),
1229
+ neutralPresence: () => m.binary({
1230
+ name: "neutral_presence",
1231
+ cluster: "manuSpecificSDevices",
1232
+ attribute: "neutralPresence",
1233
+ description: "Neutral wire presence status",
1234
+ valueOn: ["YES", 0x01],
1235
+ valueOff: ["NO", 0x00],
1236
+ access: "STATE_GET",
1237
+ zigbeeCommandOptions: manufacturerOptions,
1238
+ }),
1168
1239
  };
1169
1240
  exports.definitions = [
1170
1241
  {
@@ -1194,6 +1265,7 @@ exports.definitions = [
1194
1265
  vendor: "Sber",
1195
1266
  description: "Smart button",
1196
1267
  extend: [
1268
+ tuya.clusters.addTuyaGenOnOffCluster(),
1197
1269
  tuyaMagicPacket(),
1198
1270
  tuyaOnOffActionLegacy({ actions: ["single", "double", "hold"] }),
1199
1271
  m.battery({ percentageReporting: false }),
@@ -1294,6 +1366,70 @@ exports.definitions = [
1294
1366
  await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ["haDiagnostic"]);
1295
1367
  },
1296
1368
  },
1369
+ {
1370
+ fingerprint: [{ modelID: "SBDV-00197", manufacturerName: "SDevices" }],
1371
+ model: "SBDV-00197",
1372
+ vendor: "Sber",
1373
+ description: "Smart Wall Switch (optional neutral wire, single button)",
1374
+ fromZigbee: [],
1375
+ toZigbee: [],
1376
+ extend: [
1377
+ sdevicesExtend.sdevicesCustomCluster(),
1378
+ sdevicesExtend.haDiagnosticCluster(),
1379
+ sdevicesExtend.genOnOffCluster(),
1380
+ m.binary({
1381
+ name: "allow_double_click",
1382
+ cluster: "manuSpecificSDevices",
1383
+ attribute: "buttonEnableMultiClick",
1384
+ description: "Allow detection of double clicks, may introduce delay in reaction when enabled",
1385
+ valueOn: ["ON", 0x01],
1386
+ valueOff: ["OFF", 0x00],
1387
+ zigbeeCommandOptions: manufacturerOptions,
1388
+ }),
1389
+ sdevicesExtend.ledIndicatorSettings(),
1390
+ m.identify(),
1391
+ m.onOff({
1392
+ powerOnBehavior: true,
1393
+ configureReporting: false,
1394
+ }),
1395
+ sdevicesExtend.onOffRelayDecouple({
1396
+ name: "relay_mode",
1397
+ description: "Decoupled mode for button",
1398
+ }),
1399
+ m.actionEnumLookup({
1400
+ cluster: "genMultistateInput",
1401
+ attribute: "presentValue",
1402
+ actionLookup: { hold: 0, single: 1, double: 2 },
1403
+ }),
1404
+ sdevicesExtend.childLock(),
1405
+ sdevicesExtend.deviceInfo(),
1406
+ sdevicesExtend.neutralPresence(),
1407
+ sdevicesExtend.powerProfile(),
1408
+ sdevicesExtend.ledIndicationType(),
1409
+ sdevicesExtend.deviceCustomDiagnostic(2, 1),
1410
+ ],
1411
+ ota: true,
1412
+ configure: async (device, coordinatorEndpoint) => {
1413
+ await device.getEndpoint(1).read("genOnOff", ["onOff", "startUpOnOff"]);
1414
+ await device.getEndpoint(1).read("genBasic", ["serialNumber"]);
1415
+ await device
1416
+ .getEndpoint(1)
1417
+ .read("manuSpecificSDevices", [
1418
+ "ledIndicatorOnEnable",
1419
+ "ledIndicatorOnH",
1420
+ "ledIndicatorOnS",
1421
+ "ledIndicatorOnB",
1422
+ "ledIndicatorOffEnable",
1423
+ "ledIndicatorOffH",
1424
+ "ledIndicatorOffS",
1425
+ "ledIndicatorOffB",
1426
+ ]);
1427
+ await device.getEndpoint(1).read("manuSpecificSDevices", ["buttonEnableMultiClick"]);
1428
+ await device.getEndpoint(1).read("manuSpecificSDevices", ["childLock"]);
1429
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ["genOnOff", "genMultistateInput"]);
1430
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ["haDiagnostic"]);
1431
+ },
1432
+ },
1297
1433
  {
1298
1434
  fingerprint: [{ modelID: "SBDV-00199", manufacturerName: "SDevices" }],
1299
1435
  model: "SBDV-00199",
@@ -1486,7 +1622,7 @@ exports.definitions = [
1486
1622
  ota: true,
1487
1623
  configure: async (device, coordinatorEndpoint) => {
1488
1624
  if (!device.customClusters.manuSpecificSDevices) {
1489
- device.addCustomCluster("manuSpecificSDevices", sdevicesCustomClusterDefinition);
1625
+ device.addCustomCluster("manuSpecificSDevices", sdevicesCustomCluster);
1490
1626
  }
1491
1627
  const coveringEp = device.getEndpoint(3);
1492
1628
  if (coveringEp != null) {
@@ -1586,6 +1722,279 @@ exports.definitions = [
1586
1722
  device.save();
1587
1723
  },
1588
1724
  },
1725
+ {
1726
+ fingerprint: [{ modelID: "SBDV-00200", manufacturerName: "SDevices" }],
1727
+ model: "SBDV-00200",
1728
+ vendor: "Sber",
1729
+ description: "Smart Wall Switch (optional neutral wire, two buttons)",
1730
+ fromZigbee: [
1731
+ fz.on_off,
1732
+ fz.power_on_behavior,
1733
+ sdevices.fz.cover_position_tilt,
1734
+ sdevices.fz.multistate_input,
1735
+ sdevices.fz.led_indicator_settings,
1736
+ sdevices.fz.decouple_relay,
1737
+ sdevices.fz.allow_double_click,
1738
+ sdevices.fz.closures,
1739
+ ],
1740
+ toZigbee: [
1741
+ sdevices.tz.custom_on_off,
1742
+ tz.power_on_behavior,
1743
+ tz.cover_position_tilt,
1744
+ sdevices.tz.cover_state,
1745
+ sdevices.tz.cover_mode,
1746
+ sdevices.tz.identify,
1747
+ sdevices.tz.led_indicator_on_settings,
1748
+ sdevices.tz.led_indicator_off_settings,
1749
+ sdevices.tz.decouple_relay,
1750
+ sdevices.tz.allow_double_click,
1751
+ sdevices.tz.closures_custom,
1752
+ ],
1753
+ exposes: (device, options) => {
1754
+ const switchExposes = [];
1755
+ const coversEpName = "cover";
1756
+ const coversExposes = [
1757
+ e.enum("state", ea.STATE_SET, ["OPEN", "CLOSE", "STOP"]).withProperty("current_state").withEndpoint(coversEpName),
1758
+ e
1759
+ .numeric("position", ea.ALL)
1760
+ .withValueMin(0)
1761
+ .withValueMax(100)
1762
+ .withDescription("Position of this cover, 100 is fully open if 'Invert cover' option is false (default)")
1763
+ .withUnit("%")
1764
+ .withEndpoint(coversEpName),
1765
+ e
1766
+ .composite("cover_mode", "cover_mode", ea.ALL)
1767
+ .withFeature(e.binary("reversed", ea.ALL, true, false).withDescription("Reversal of the motor rotating direction"))
1768
+ .withEndpoint(coversEpName),
1769
+ e
1770
+ .numeric("calibration_time", ea.ALL)
1771
+ .withValueMin(0)
1772
+ .withValueMax(3600)
1773
+ .withValueStep(0.1)
1774
+ .withDescription("Calibration time")
1775
+ .withUnit("s")
1776
+ .withEndpoint(coversEpName),
1777
+ e
1778
+ .numeric("motor_timeout", ea.ALL)
1779
+ .withValueMin(0)
1780
+ .withValueMax(3600)
1781
+ .withDescription("Timeout for continuous motor action")
1782
+ .withUnit("s")
1783
+ .withEndpoint(coversEpName),
1784
+ e.enum("buttons_mode", ea.ALL, ["normal", "inverted"]).withProperty("buttons_mode").withEndpoint(coversEpName),
1785
+ e
1786
+ .enum("identify", ea.SET, ["identify"])
1787
+ .withLabel("Identify")
1788
+ .withDescription("Initiate device identification")
1789
+ .withCategory("config")
1790
+ .withEndpoint(coversEpName),
1791
+ e
1792
+ .binary("led_indicator_off_enable", ea.ALL, "ON", "OFF")
1793
+ .withLabel("LED indication")
1794
+ .withDescription("Is LED indicator enabled")
1795
+ .withEndpoint(coversEpName),
1796
+ e
1797
+ .numeric("led_indicator_off_h", ea.ALL)
1798
+ .withUnit("°")
1799
+ .withValueMin(0)
1800
+ .withValueMax(359)
1801
+ .withLabel("Hue")
1802
+ .withDescription("Hue of LED indicator")
1803
+ .withEndpoint(coversEpName),
1804
+ e
1805
+ .numeric("led_indicator_off_s", ea.ALL)
1806
+ .withValueMin(0)
1807
+ .withValueMax(0xfe)
1808
+ .withLabel("Saturation")
1809
+ .withDescription("Saturation of LED indicator")
1810
+ .withEndpoint(coversEpName),
1811
+ e
1812
+ .numeric("led_indicator_off_b", ea.ALL)
1813
+ .withValueMin(1)
1814
+ .withValueMax(0xfe)
1815
+ .withLabel("Brightness")
1816
+ .withDescription("Brightness of LED indicator")
1817
+ .withEndpoint(coversEpName),
1818
+ ];
1819
+ const endpointsCount = 2;
1820
+ switchExposes.push(e.action(["hold_switch_1", "hold_switch_2", "single_switch_1", "single_switch_2", "double_switch_1", "double_switch_2"]));
1821
+ for (let i = 1; i <= endpointsCount; i++) {
1822
+ const epName = `switch_${i}`;
1823
+ const epPrefix = `(${i}) `;
1824
+ switchExposes.push(e.switch().withEndpoint(epName));
1825
+ switchExposes.push(e.power_on_behavior(["off", "on", "toggle", "previous"]).withLabel(`${epPrefix}Power-on behavior`).withEndpoint(epName));
1826
+ switchExposes.push(e
1827
+ .enum("relay_mode", ea.ALL, ["control_relay", "decoupled"])
1828
+ .withLabel(`${epPrefix}Relay mode`)
1829
+ .withDescription("Decoupled mode")
1830
+ .withEndpoint(epName));
1831
+ switchExposes.push(e
1832
+ .binary("allow_double_click", ea.ALL, "ON", "OFF")
1833
+ .withLabel(`${epPrefix}Allow double clicks`)
1834
+ .withDescription("Allow detection of double clicks, may introduce delay in reaction when enabled")
1835
+ .withEndpoint(epName));
1836
+ switchExposes.push(e
1837
+ .enum("identify", ea.SET, ["identify"])
1838
+ .withLabel(`${epPrefix}Identify`)
1839
+ .withDescription("Initiate device identification")
1840
+ .withCategory("config")
1841
+ .withEndpoint(epName));
1842
+ switchExposes.push(e
1843
+ .binary("led_indicator_on_enable", ea.ALL, "ON", "OFF")
1844
+ .withLabel(`${epPrefix}LED indication`)
1845
+ .withDescription("Is LED indicator enabled in ON state")
1846
+ .withEndpoint(epName));
1847
+ switchExposes.push(e
1848
+ .numeric("led_indicator_on_h", ea.ALL)
1849
+ .withUnit("°")
1850
+ .withValueMin(0)
1851
+ .withValueMax(359)
1852
+ .withLabel(`${epPrefix}Hue`)
1853
+ .withDescription("Hue of LED in ON state")
1854
+ .withEndpoint(epName));
1855
+ switchExposes.push(e
1856
+ .numeric("led_indicator_on_s", ea.ALL)
1857
+ .withValueMin(0)
1858
+ .withValueMax(0xfe)
1859
+ .withLabel(`${epPrefix}Saturation`)
1860
+ .withDescription("Saturation of LED in ON state")
1861
+ .withEndpoint(epName));
1862
+ switchExposes.push(e
1863
+ .numeric("led_indicator_on_b", ea.ALL)
1864
+ .withValueMin(1)
1865
+ .withValueMax(0xfe)
1866
+ .withLabel(`${epPrefix}Brightness`)
1867
+ .withDescription("Brightness of LED in ON state")
1868
+ .withEndpoint(epName));
1869
+ switchExposes.push(e
1870
+ .binary("led_indicator_off_enable", ea.ALL, "ON", "OFF")
1871
+ .withLabel(`${epPrefix}LED indication`)
1872
+ .withDescription("Is LED indicator enabled in OFF state")
1873
+ .withEndpoint(epName));
1874
+ switchExposes.push(e
1875
+ .numeric("led_indicator_off_h", ea.ALL)
1876
+ .withUnit("°")
1877
+ .withValueMin(0)
1878
+ .withValueMax(359)
1879
+ .withLabel(`${epPrefix}Hue`)
1880
+ .withDescription("Hue of LED in OFF state")
1881
+ .withEndpoint(epName));
1882
+ switchExposes.push(e
1883
+ .numeric("led_indicator_off_s", ea.ALL)
1884
+ .withValueMin(0)
1885
+ .withValueMax(0xfe)
1886
+ .withLabel(`${epPrefix}Saturation`)
1887
+ .withDescription("Saturation of LED in OFF state")
1888
+ .withEndpoint(epName));
1889
+ switchExposes.push(e
1890
+ .numeric("led_indicator_off_b", ea.ALL)
1891
+ .withValueMin(1)
1892
+ .withValueMax(0xfe)
1893
+ .withLabel(`${epPrefix}Brightness`)
1894
+ .withDescription("Brightness of LED in OFF state")
1895
+ .withEndpoint(epName));
1896
+ }
1897
+ if (!utils.isDummyDevice(device)) {
1898
+ return device.meta.window_covering_enabled ? [...coversExposes] : [...switchExposes];
1899
+ }
1900
+ return [...switchExposes, ...coversExposes];
1901
+ },
1902
+ extend: [
1903
+ m.deviceEndpoints({ endpoints: { switch_1: 1, switch_2: 2, cover: 3 } }),
1904
+ sdevicesExtend.sdevicesCustomCluster(),
1905
+ sdevicesExtend.haDiagnosticCluster(),
1906
+ sdevicesExtend.genOnOffCluster(),
1907
+ sdevicesExtend.closuresWindowCoveringCluster(),
1908
+ sdevicesExtend.childLock(),
1909
+ sdevicesExtend.deviceInfo(),
1910
+ sdevicesExtend.neutralPresence(),
1911
+ sdevicesExtend.powerProfile(),
1912
+ sdevicesExtend.ledIndicationType(),
1913
+ sdevicesExtend.deviceCustomDiagnostic(3, 2),
1914
+ ],
1915
+ ota: true,
1916
+ configure: async (device, coordinatorEndpoint) => {
1917
+ if (!device.customClusters.manuSpecificSDevices) {
1918
+ device.addCustomCluster("manuSpecificSDevices", sdevicesCustomCluster);
1919
+ }
1920
+ const coveringEp = device.getEndpoint(3);
1921
+ if (coveringEp != null) {
1922
+ try {
1923
+ const deviceCoverMode = await device.getEndpoint(3).read("genBasic", ["deviceEnabled"]);
1924
+ device.meta.window_covering_enabled = !!deviceCoverMode.deviceEnabled;
1925
+ device.save();
1926
+ }
1927
+ catch (error) {
1928
+ if (error.message.includes("UNSUPPORTED_ATTRIBUTE")) {
1929
+ device.meta.window_covering_enabled = false;
1930
+ device.save();
1931
+ }
1932
+ else {
1933
+ throw error;
1934
+ }
1935
+ }
1936
+ }
1937
+ else {
1938
+ device.meta.window_covering_enabled = false;
1939
+ device.save();
1940
+ }
1941
+ if (device.meta.window_covering_enabled) {
1942
+ /* Device is in Window Covering mode */
1943
+ await device.getEndpoint(3).read("genBasic", ["serialNumber"]);
1944
+ await device.getEndpoint(3).read("closuresWindowCovering", ["currentPositionLiftPercentage", "windowCoveringMode"]);
1945
+ await device
1946
+ .getEndpoint(3)
1947
+ .read("closuresWindowCovering", ["sdevicesCalibrationTime", "sdevicesButtonsMode", "sdevicesMotorTimeout"], manufacturerOptions);
1948
+ await device
1949
+ .getEndpoint(3)
1950
+ .read("manuSpecificSDevices", ["ledIndicatorOffEnable", "ledIndicatorOffH", "ledIndicatorOffS", "ledIndicatorOffB"], manufacturerOptions);
1951
+ await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ["closuresWindowCovering"]);
1952
+ await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ["manuSpecificSDevices"]);
1953
+ await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ["haDiagnostic"]);
1954
+ await device.getEndpoint(3).read("manuSpecificSDevices", ["childLock"]);
1955
+ }
1956
+ else {
1957
+ /* Device is in 2-button Switch mode */
1958
+ await device.getEndpoint(1).read("genBasic", ["serialNumber"]);
1959
+ await device.getEndpoint(1).read("genOnOff", ["onOff", "startUpOnOff"]);
1960
+ await device.getEndpoint(2).read("genOnOff", ["onOff", "startUpOnOff"]);
1961
+ await device.getEndpoint(1).read("genOnOff", ["sdevicesRelayDecouple"], manufacturerOptions);
1962
+ await device.getEndpoint(2).read("genOnOff", ["sdevicesRelayDecouple"], manufacturerOptions);
1963
+ await device
1964
+ .getEndpoint(1)
1965
+ .read("manuSpecificSDevices", [
1966
+ "buttonEnableMultiClick",
1967
+ "ledIndicatorOnEnable",
1968
+ "ledIndicatorOnH",
1969
+ "ledIndicatorOnS",
1970
+ "ledIndicatorOnB",
1971
+ "ledIndicatorOffEnable",
1972
+ "ledIndicatorOffH",
1973
+ "ledIndicatorOffS",
1974
+ "ledIndicatorOffB",
1975
+ ], manufacturerOptions);
1976
+ await device
1977
+ .getEndpoint(2)
1978
+ .read("manuSpecificSDevices", [
1979
+ "buttonEnableMultiClick",
1980
+ "ledIndicatorOnEnable",
1981
+ "ledIndicatorOnH",
1982
+ "ledIndicatorOnS",
1983
+ "ledIndicatorOnB",
1984
+ "ledIndicatorOffEnable",
1985
+ "ledIndicatorOffH",
1986
+ "ledIndicatorOffS",
1987
+ "ledIndicatorOffB",
1988
+ ], manufacturerOptions);
1989
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ["genOnOff", "genMultistateInput"]);
1990
+ await reporting.bind(device.getEndpoint(2), coordinatorEndpoint, ["genOnOff", "genMultistateInput"]);
1991
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ["manuSpecificSDevices"]);
1992
+ await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ["haDiagnostic"]);
1993
+ await device.getEndpoint(1).read("manuSpecificSDevices", ["childLock"]);
1994
+ }
1995
+ device.save();
1996
+ },
1997
+ },
1589
1998
  {
1590
1999
  fingerprint: [{ modelID: "SBDV-00202", manufacturerName: "SDevices" }],
1591
2000
  model: "SBDV-00202",