zigbee-herdsman-converters 21.7.0 → 21.9.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 (1382) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/package.json +7 -34
  3. package/converters/fromZigbee.d.ts +0 -2036
  4. package/converters/fromZigbee.d.ts.map +0 -1
  5. package/converters/fromZigbee.js +0 -5343
  6. package/converters/fromZigbee.js.map +0 -1
  7. package/converters/toZigbee.d.ts +0 -1578
  8. package/converters/toZigbee.d.ts.map +0 -1
  9. package/converters/toZigbee.js +0 -4422
  10. package/converters/toZigbee.js.map +0 -1
  11. package/devices/ITCommander.d.ts +0 -4
  12. package/devices/ITCommander.d.ts.map +0 -1
  13. package/devices/ITCommander.js +0 -77
  14. package/devices/ITCommander.js.map +0 -1
  15. package/devices/acova.d.ts +0 -4
  16. package/devices/acova.d.ts.map +0 -1
  17. package/devices/acova.js +0 -127
  18. package/devices/acova.js.map +0 -1
  19. package/devices/acuity_brands_lighting.d.ts +0 -4
  20. package/devices/acuity_brands_lighting.d.ts.map +0 -1
  21. package/devices/acuity_brands_lighting.js +0 -29
  22. package/devices/acuity_brands_lighting.js.map +0 -1
  23. package/devices/adeo.d.ts +0 -4
  24. package/devices/adeo.d.ts.map +0 -1
  25. package/devices/adeo.js +0 -486
  26. package/devices/adeo.js.map +0 -1
  27. package/devices/adurosmart.d.ts +0 -4
  28. package/devices/adurosmart.d.ts.map +0 -1
  29. package/devices/adurosmart.js +0 -183
  30. package/devices/adurosmart.js.map +0 -1
  31. package/devices/aeotec.d.ts +0 -4
  32. package/devices/aeotec.d.ts.map +0 -1
  33. package/devices/aeotec.js +0 -66
  34. package/devices/aeotec.js.map +0 -1
  35. package/devices/airam.d.ts +0 -4
  36. package/devices/airam.d.ts.map +0 -1
  37. package/devices/airam.js +0 -106
  38. package/devices/airam.js.map +0 -1
  39. package/devices/airzone_aidoo.d.ts +0 -4
  40. package/devices/airzone_aidoo.d.ts.map +0 -1
  41. package/devices/airzone_aidoo.js +0 -81
  42. package/devices/airzone_aidoo.js.map +0 -1
  43. package/devices/ajax_online.d.ts +0 -4
  44. package/devices/ajax_online.d.ts.map +0 -1
  45. package/devices/ajax_online.js +0 -84
  46. package/devices/ajax_online.js.map +0 -1
  47. package/devices/akuvox.d.ts +0 -4
  48. package/devices/akuvox.d.ts.map +0 -1
  49. package/devices/akuvox.js +0 -68
  50. package/devices/akuvox.js.map +0 -1
  51. package/devices/alchemy.d.ts +0 -4
  52. package/devices/alchemy.d.ts.map +0 -1
  53. package/devices/alchemy.js +0 -22
  54. package/devices/alchemy.js.map +0 -1
  55. package/devices/aldi.d.ts +0 -4
  56. package/devices/aldi.d.ts.map +0 -1
  57. package/devices/aldi.js +0 -57
  58. package/devices/aldi.js.map +0 -1
  59. package/devices/alecto.d.ts +0 -4
  60. package/devices/alecto.d.ts.map +0 -1
  61. package/devices/alecto.js +0 -101
  62. package/devices/alecto.js.map +0 -1
  63. package/devices/amina.d.ts +0 -4
  64. package/devices/amina.d.ts.map +0 -1
  65. package/devices/amina.js +0 -370
  66. package/devices/amina.js.map +0 -1
  67. package/devices/anchor.d.ts +0 -4
  68. package/devices/anchor.d.ts.map +0 -1
  69. package/devices/anchor.js +0 -15
  70. package/devices/anchor.js.map +0 -1
  71. package/devices/atlantic.d.ts +0 -4
  72. package/devices/atlantic.d.ts.map +0 -1
  73. package/devices/atlantic.js +0 -146
  74. package/devices/atlantic.js.map +0 -1
  75. package/devices/atsmart.d.ts +0 -4
  76. package/devices/atsmart.d.ts.map +0 -1
  77. package/devices/atsmart.js +0 -15
  78. package/devices/atsmart.js.map +0 -1
  79. package/devices/aubess.d.ts +0 -4
  80. package/devices/aubess.d.ts.map +0 -1
  81. package/devices/aubess.js +0 -60
  82. package/devices/aubess.js.map +0 -1
  83. package/devices/aurora_lighting.d.ts +0 -4
  84. package/devices/aurora_lighting.d.ts.map +0 -1
  85. package/devices/aurora_lighting.js +0 -338
  86. package/devices/aurora_lighting.js.map +0 -1
  87. package/devices/automaton.d.ts +0 -4
  88. package/devices/automaton.d.ts.map +0 -1
  89. package/devices/automaton.js +0 -65
  90. package/devices/automaton.js.map +0 -1
  91. package/devices/avatto.d.ts +0 -4
  92. package/devices/avatto.d.ts.map +0 -1
  93. package/devices/avatto.js +0 -67
  94. package/devices/avatto.js.map +0 -1
  95. package/devices/awox.d.ts +0 -4
  96. package/devices/awox.d.ts.map +0 -1
  97. package/devices/awox.js +0 -240
  98. package/devices/awox.js.map +0 -1
  99. package/devices/axis.d.ts +0 -4
  100. package/devices/axis.d.ts.map +0 -1
  101. package/devices/axis.js +0 -63
  102. package/devices/axis.js.map +0 -1
  103. package/devices/bankamp.d.ts +0 -4
  104. package/devices/bankamp.d.ts.map +0 -1
  105. package/devices/bankamp.js +0 -15
  106. package/devices/bankamp.js.map +0 -1
  107. package/devices/bega.d.ts +0 -4
  108. package/devices/bega.d.ts.map +0 -1
  109. package/devices/bega.js +0 -29
  110. package/devices/bega.js.map +0 -1
  111. package/devices/belkin.d.ts +0 -4
  112. package/devices/belkin.d.ts.map +0 -1
  113. package/devices/belkin.js +0 -15
  114. package/devices/belkin.js.map +0 -1
  115. package/devices/bitron.d.ts +0 -4
  116. package/devices/bitron.d.ts.map +0 -1
  117. package/devices/bitron.js +0 -359
  118. package/devices/bitron.js.map +0 -1
  119. package/devices/bituo_technik.d.ts +0 -4
  120. package/devices/bituo_technik.d.ts.map +0 -1
  121. package/devices/bituo_technik.js +0 -121
  122. package/devices/bituo_technik.js.map +0 -1
  123. package/devices/blaupunkt.d.ts +0 -4
  124. package/devices/blaupunkt.d.ts.map +0 -1
  125. package/devices/blaupunkt.js +0 -68
  126. package/devices/blaupunkt.js.map +0 -1
  127. package/devices/blitzwolf.d.ts +0 -4
  128. package/devices/blitzwolf.d.ts.map +0 -1
  129. package/devices/blitzwolf.js +0 -73
  130. package/devices/blitzwolf.js.map +0 -1
  131. package/devices/bosch.d.ts +0 -4
  132. package/devices/bosch.d.ts.map +0 -1
  133. package/devices/bosch.js +0 -2048
  134. package/devices/bosch.js.map +0 -1
  135. package/devices/bouffalo_lab.d.ts +0 -4
  136. package/devices/bouffalo_lab.d.ts.map +0 -1
  137. package/devices/bouffalo_lab.js +0 -15
  138. package/devices/bouffalo_lab.js.map +0 -1
  139. package/devices/brimate.d.ts +0 -4
  140. package/devices/brimate.d.ts.map +0 -1
  141. package/devices/brimate.js +0 -55
  142. package/devices/brimate.js.map +0 -1
  143. package/devices/bseed.d.ts +0 -4
  144. package/devices/bseed.d.ts.map +0 -1
  145. package/devices/bseed.js +0 -57
  146. package/devices/bseed.js.map +0 -1
  147. package/devices/bticino.d.ts +0 -4
  148. package/devices/bticino.d.ts.map +0 -1
  149. package/devices/bticino.js +0 -113
  150. package/devices/bticino.js.map +0 -1
  151. package/devices/busch_jaeger.d.ts +0 -4
  152. package/devices/busch_jaeger.d.ts.map +0 -1
  153. package/devices/busch_jaeger.js +0 -186
  154. package/devices/busch_jaeger.js.map +0 -1
  155. package/devices/byun.d.ts +0 -4
  156. package/devices/byun.d.ts.map +0 -1
  157. package/devices/byun.js +0 -64
  158. package/devices/byun.js.map +0 -1
  159. package/devices/calex.d.ts +0 -4
  160. package/devices/calex.d.ts.map +0 -1
  161. package/devices/calex.js +0 -91
  162. package/devices/calex.js.map +0 -1
  163. package/devices/candeo.d.ts +0 -4
  164. package/devices/candeo.d.ts.map +0 -1
  165. package/devices/candeo.js +0 -185
  166. package/devices/candeo.js.map +0 -1
  167. package/devices/casaia.d.ts +0 -4
  168. package/devices/casaia.d.ts.map +0 -1
  169. package/devices/casaia.js +0 -99
  170. package/devices/casaia.js.map +0 -1
  171. package/devices/cel.d.ts +0 -4
  172. package/devices/cel.d.ts.map +0 -1
  173. package/devices/cel.js +0 -20
  174. package/devices/cel.js.map +0 -1
  175. package/devices/centralite.d.ts +0 -4
  176. package/devices/centralite.d.ts.map +0 -1
  177. package/devices/centralite.js +0 -444
  178. package/devices/centralite.js.map +0 -1
  179. package/devices/chacon.d.ts +0 -4
  180. package/devices/chacon.d.ts.map +0 -1
  181. package/devices/chacon.js +0 -18
  182. package/devices/chacon.js.map +0 -1
  183. package/devices/cleode.d.ts +0 -4
  184. package/devices/cleode.d.ts.map +0 -1
  185. package/devices/cleode.js +0 -15
  186. package/devices/cleode.js.map +0 -1
  187. package/devices/cleverio.d.ts +0 -4
  188. package/devices/cleverio.d.ts.map +0 -1
  189. package/devices/cleverio.js +0 -77
  190. package/devices/cleverio.js.map +0 -1
  191. package/devices/climax.d.ts +0 -4
  192. package/devices/climax.d.ts.map +0 -1
  193. package/devices/climax.js +0 -181
  194. package/devices/climax.js.map +0 -1
  195. package/devices/commercial_electric.d.ts +0 -4
  196. package/devices/commercial_electric.d.ts.map +0 -1
  197. package/devices/commercial_electric.js +0 -15
  198. package/devices/commercial_electric.js.map +0 -1
  199. package/devices/cree.d.ts +0 -4
  200. package/devices/cree.d.ts.map +0 -1
  201. package/devices/cree.js +0 -15
  202. package/devices/cree.js.map +0 -1
  203. package/devices/ctm.d.ts +0 -4
  204. package/devices/ctm.d.ts.map +0 -1
  205. package/devices/ctm.js +0 -1383
  206. package/devices/ctm.js.map +0 -1
  207. package/devices/current_products_corp.d.ts +0 -4
  208. package/devices/current_products_corp.d.ts.map +0 -1
  209. package/devices/current_products_corp.js +0 -64
  210. package/devices/current_products_corp.js.map +0 -1
  211. package/devices/custom_devices_diy.d.ts +0 -4
  212. package/devices/custom_devices_diy.d.ts.map +0 -1
  213. package/devices/custom_devices_diy.js +0 -1206
  214. package/devices/custom_devices_diy.js.map +0 -1
  215. package/devices/cy_lighting.d.ts +0 -4
  216. package/devices/cy_lighting.d.ts.map +0 -1
  217. package/devices/cy_lighting.js +0 -15
  218. package/devices/cy_lighting.js.map +0 -1
  219. package/devices/danalock.d.ts +0 -4
  220. package/devices/danalock.d.ts.map +0 -1
  221. package/devices/danalock.js +0 -65
  222. package/devices/danalock.js.map +0 -1
  223. package/devices/danfoss.d.ts +0 -4
  224. package/devices/danfoss.d.ts.map +0 -1
  225. package/devices/danfoss.js +0 -743
  226. package/devices/danfoss.js.map +0 -1
  227. package/devices/databyte.d.ts +0 -4
  228. package/devices/databyte.d.ts.map +0 -1
  229. package/devices/databyte.js +0 -95
  230. package/devices/databyte.js.map +0 -1
  231. package/devices/datek.d.ts +0 -4
  232. package/devices/datek.d.ts.map +0 -1
  233. package/devices/datek.js +0 -298
  234. package/devices/datek.js.map +0 -1
  235. package/devices/dawon_dns.d.ts +0 -4
  236. package/devices/dawon_dns.d.ts.map +0 -1
  237. package/devices/dawon_dns.js +0 -318
  238. package/devices/dawon_dns.js.map +0 -1
  239. package/devices/develco.d.ts +0 -4
  240. package/devices/develco.d.ts.map +0 -1
  241. package/devices/develco.js +0 -1037
  242. package/devices/develco.js.map +0 -1
  243. package/devices/digi.d.ts +0 -4
  244. package/devices/digi.d.ts.map +0 -1
  245. package/devices/digi.js +0 -25
  246. package/devices/digi.js.map +0 -1
  247. package/devices/diyruz.d.ts +0 -4
  248. package/devices/diyruz.d.ts.map +0 -1
  249. package/devices/diyruz.js +0 -403
  250. package/devices/diyruz.js.map +0 -1
  251. package/devices/dlink.d.ts +0 -4
  252. package/devices/dlink.d.ts.map +0 -1
  253. package/devices/dlink.js +0 -76
  254. package/devices/dlink.js.map +0 -1
  255. package/devices/dnake.d.ts +0 -4
  256. package/devices/dnake.d.ts.map +0 -1
  257. package/devices/dnake.js +0 -15
  258. package/devices/dnake.js.map +0 -1
  259. package/devices/dowsing_reynolds.d.ts +0 -4
  260. package/devices/dowsing_reynolds.d.ts.map +0 -1
  261. package/devices/dowsing_reynolds.js +0 -15
  262. package/devices/dowsing_reynolds.js.map +0 -1
  263. package/devices/dresden_elektronik.d.ts +0 -4
  264. package/devices/dresden_elektronik.d.ts.map +0 -1
  265. package/devices/dresden_elektronik.js +0 -50
  266. package/devices/dresden_elektronik.js.map +0 -1
  267. package/devices/easyaccess.d.ts +0 -4
  268. package/devices/easyaccess.d.ts.map +0 -1
  269. package/devices/easyaccess.js +0 -71
  270. package/devices/easyaccess.js.map +0 -1
  271. package/devices/easyiot.d.ts +0 -4
  272. package/devices/easyiot.d.ts.map +0 -1
  273. package/devices/easyiot.js +0 -358
  274. package/devices/easyiot.js.map +0 -1
  275. package/devices/eatonhalo_led.d.ts +0 -4
  276. package/devices/eatonhalo_led.d.ts.map +0 -1
  277. package/devices/eatonhalo_led.js +0 -15
  278. package/devices/eatonhalo_led.js.map +0 -1
  279. package/devices/echostar.d.ts +0 -4
  280. package/devices/echostar.d.ts.map +0 -1
  281. package/devices/echostar.js +0 -65
  282. package/devices/echostar.js.map +0 -1
  283. package/devices/ecodim.d.ts +0 -4
  284. package/devices/ecodim.d.ts.map +0 -1
  285. package/devices/ecodim.js +0 -270
  286. package/devices/ecodim.js.map +0 -1
  287. package/devices/ecolink.d.ts +0 -4
  288. package/devices/ecolink.d.ts.map +0 -1
  289. package/devices/ecolink.js +0 -61
  290. package/devices/ecolink.js.map +0 -1
  291. package/devices/ecosmart.d.ts +0 -4
  292. package/devices/ecosmart.d.ts.map +0 -1
  293. package/devices/ecosmart.js +0 -83
  294. package/devices/ecosmart.js.map +0 -1
  295. package/devices/ecozy.d.ts +0 -4
  296. package/devices/ecozy.d.ts.map +0 -1
  297. package/devices/ecozy.js +0 -89
  298. package/devices/ecozy.js.map +0 -1
  299. package/devices/edp.d.ts +0 -4
  300. package/devices/edp.d.ts.map +0 -1
  301. package/devices/edp.js +0 -74
  302. package/devices/edp.js.map +0 -1
  303. package/devices/efekta.d.ts +0 -4
  304. package/devices/efekta.d.ts.map +0 -1
  305. package/devices/efekta.js +0 -754
  306. package/devices/efekta.js.map +0 -1
  307. package/devices/eglo.d.ts +0 -4
  308. package/devices/eglo.d.ts.map +0 -1
  309. package/devices/eglo.js +0 -132
  310. package/devices/eglo.js.map +0 -1
  311. package/devices/elko.d.ts +0 -4
  312. package/devices/elko.d.ts.map +0 -1
  313. package/devices/elko.js +0 -240
  314. package/devices/elko.js.map +0 -1
  315. package/devices/enbrighten.d.ts +0 -4
  316. package/devices/enbrighten.d.ts.map +0 -1
  317. package/devices/enbrighten.js +0 -97
  318. package/devices/enbrighten.js.map +0 -1
  319. package/devices/enocean.d.ts +0 -4
  320. package/devices/enocean.d.ts.map +0 -1
  321. package/devices/enocean.js +0 -153
  322. package/devices/enocean.js.map +0 -1
  323. package/devices/envilar.d.ts +0 -4
  324. package/devices/envilar.d.ts.map +0 -1
  325. package/devices/envilar.js +0 -100
  326. package/devices/envilar.js.map +0 -1
  327. package/devices/essentialb.d.ts +0 -4
  328. package/devices/essentialb.d.ts.map +0 -1
  329. package/devices/essentialb.js +0 -137
  330. package/devices/essentialb.js.map +0 -1
  331. package/devices/eucontrols.d.ts +0 -4
  332. package/devices/eucontrols.d.ts.map +0 -1
  333. package/devices/eucontrols.js +0 -15
  334. package/devices/eucontrols.js.map +0 -1
  335. package/devices/eurotronic.d.ts +0 -4
  336. package/devices/eurotronic.d.ts.map +0 -1
  337. package/devices/eurotronic.js +0 -128
  338. package/devices/eurotronic.js.map +0 -1
  339. package/devices/evanell.d.ts +0 -4
  340. package/devices/evanell.d.ts.map +0 -1
  341. package/devices/evanell.js +0 -75
  342. package/devices/evanell.js.map +0 -1
  343. package/devices/evn.d.ts +0 -4
  344. package/devices/evn.d.ts.map +0 -1
  345. package/devices/evn.js +0 -94
  346. package/devices/evn.js.map +0 -1
  347. package/devices/evology.d.ts +0 -4
  348. package/devices/evology.d.ts.map +0 -1
  349. package/devices/evology.js +0 -64
  350. package/devices/evology.js.map +0 -1
  351. package/devices/evvr.d.ts +0 -4
  352. package/devices/evvr.d.ts.map +0 -1
  353. package/devices/evvr.js +0 -15
  354. package/devices/evvr.js.map +0 -1
  355. package/devices/ewelink.d.ts +0 -4
  356. package/devices/ewelink.d.ts.map +0 -1
  357. package/devices/ewelink.js +0 -205
  358. package/devices/ewelink.js.map +0 -1
  359. package/devices/ezex.d.ts +0 -4
  360. package/devices/ezex.d.ts.map +0 -1
  361. package/devices/ezex.js +0 -15
  362. package/devices/ezex.js.map +0 -1
  363. package/devices/fantem.d.ts +0 -4
  364. package/devices/fantem.d.ts.map +0 -1
  365. package/devices/fantem.js +0 -118
  366. package/devices/fantem.js.map +0 -1
  367. package/devices/feibit.d.ts +0 -4
  368. package/devices/feibit.d.ts.map +0 -1
  369. package/devices/feibit.js +0 -334
  370. package/devices/feibit.js.map +0 -1
  371. package/devices/fireangel.d.ts +0 -4
  372. package/devices/fireangel.d.ts.map +0 -1
  373. package/devices/fireangel.js +0 -55
  374. package/devices/fireangel.js.map +0 -1
  375. package/devices/frankever.d.ts +0 -4
  376. package/devices/frankever.d.ts.map +0 -1
  377. package/devices/frankever.js +0 -71
  378. package/devices/frankever.js.map +0 -1
  379. package/devices/frient.d.ts +0 -4
  380. package/devices/frient.d.ts.map +0 -1
  381. package/devices/frient.js +0 -42
  382. package/devices/frient.js.map +0 -1
  383. package/devices/futurehome.d.ts +0 -4
  384. package/devices/futurehome.d.ts.map +0 -1
  385. package/devices/futurehome.js +0 -124
  386. package/devices/futurehome.js.map +0 -1
  387. package/devices/ge.d.ts +0 -4
  388. package/devices/ge.d.ts.map +0 -1
  389. package/devices/ge.js +0 -134
  390. package/devices/ge.js.map +0 -1
  391. package/devices/gewiss.d.ts +0 -4
  392. package/devices/gewiss.d.ts.map +0 -1
  393. package/devices/gewiss.js +0 -78
  394. package/devices/gewiss.js.map +0 -1
  395. package/devices/gidealed.d.ts +0 -4
  396. package/devices/gidealed.d.ts.map +0 -1
  397. package/devices/gidealed.js +0 -15
  398. package/devices/gidealed.js.map +0 -1
  399. package/devices/giderwel.d.ts +0 -4
  400. package/devices/giderwel.d.ts.map +0 -1
  401. package/devices/giderwel.js +0 -15
  402. package/devices/giderwel.js.map +0 -1
  403. package/devices/giex.d.ts +0 -4
  404. package/devices/giex.d.ts.map +0 -1
  405. package/devices/giex.js +0 -121
  406. package/devices/giex.js.map +0 -1
  407. package/devices/girier.d.ts +0 -4
  408. package/devices/girier.d.ts.map +0 -1
  409. package/devices/girier.js +0 -56
  410. package/devices/girier.js.map +0 -1
  411. package/devices/gledopto.d.ts +0 -4
  412. package/devices/gledopto.d.ts.map +0 -1
  413. package/devices/gledopto.js +0 -1046
  414. package/devices/gledopto.js.map +0 -1
  415. package/devices/gmmts.d.ts +0 -4
  416. package/devices/gmmts.d.ts.map +0 -1
  417. package/devices/gmmts.js +0 -2287
  418. package/devices/gmmts.js.map +0 -1
  419. package/devices/gmy.d.ts +0 -4
  420. package/devices/gmy.d.ts.map +0 -1
  421. package/devices/gmy.js +0 -15
  422. package/devices/gmy.js.map +0 -1
  423. package/devices/gs.d.ts +0 -4
  424. package/devices/gs.d.ts.map +0 -1
  425. package/devices/gs.js +0 -89
  426. package/devices/gs.js.map +0 -1
  427. package/devices/gumax.d.ts +0 -4
  428. package/devices/gumax.d.ts.map +0 -1
  429. package/devices/gumax.js +0 -15
  430. package/devices/gumax.js.map +0 -1
  431. package/devices/halemeier.d.ts +0 -4
  432. package/devices/halemeier.d.ts.map +0 -1
  433. package/devices/halemeier.js +0 -129
  434. package/devices/halemeier.js.map +0 -1
  435. package/devices/hampton_bay.d.ts +0 -4
  436. package/devices/hampton_bay.d.ts.map +0 -1
  437. package/devices/hampton_bay.js +0 -72
  438. package/devices/hampton_bay.js.map +0 -1
  439. package/devices/heatit.d.ts +0 -4
  440. package/devices/heatit.d.ts.map +0 -1
  441. package/devices/heatit.js +0 -15
  442. package/devices/heatit.js.map +0 -1
  443. package/devices/heiman.d.ts +0 -4
  444. package/devices/heiman.d.ts.map +0 -1
  445. package/devices/heiman.js +0 -807
  446. package/devices/heiman.js.map +0 -1
  447. package/devices/heimgard_technologies.d.ts +0 -4
  448. package/devices/heimgard_technologies.d.ts.map +0 -1
  449. package/devices/heimgard_technologies.js +0 -193
  450. package/devices/heimgard_technologies.js.map +0 -1
  451. package/devices/hej.d.ts +0 -4
  452. package/devices/hej.d.ts.map +0 -1
  453. package/devices/hej.js +0 -73
  454. package/devices/hej.js.map +0 -1
  455. package/devices/hfh.d.ts +0 -4
  456. package/devices/hfh.d.ts.map +0 -1
  457. package/devices/hfh.js +0 -15
  458. package/devices/hfh.js.map +0 -1
  459. package/devices/hilux.d.ts +0 -4
  460. package/devices/hilux.d.ts.map +0 -1
  461. package/devices/hilux.js +0 -22
  462. package/devices/hilux.js.map +0 -1
  463. package/devices/hive.d.ts +0 -4
  464. package/devices/hive.d.ts.map +0 -1
  465. package/devices/hive.js +0 -766
  466. package/devices/hive.js.map +0 -1
  467. package/devices/hommyn.d.ts +0 -4
  468. package/devices/hommyn.d.ts.map +0 -1
  469. package/devices/hommyn.js +0 -64
  470. package/devices/hommyn.js.map +0 -1
  471. package/devices/honyar.d.ts +0 -4
  472. package/devices/honyar.d.ts.map +0 -1
  473. package/devices/honyar.js +0 -171
  474. package/devices/honyar.js.map +0 -1
  475. package/devices/hornbach.d.ts +0 -4
  476. package/devices/hornbach.d.ts.map +0 -1
  477. package/devices/hornbach.js +0 -99
  478. package/devices/hornbach.js.map +0 -1
  479. package/devices/hzc_electric.d.ts +0 -4
  480. package/devices/hzc_electric.d.ts.map +0 -1
  481. package/devices/hzc_electric.js +0 -94
  482. package/devices/hzc_electric.js.map +0 -1
  483. package/devices/icasa.d.ts +0 -4
  484. package/devices/icasa.d.ts.map +0 -1
  485. package/devices/icasa.js +0 -167
  486. package/devices/icasa.js.map +0 -1
  487. package/devices/idinio.d.ts +0 -4
  488. package/devices/idinio.d.ts.map +0 -1
  489. package/devices/idinio.js +0 -15
  490. package/devices/idinio.js.map +0 -1
  491. package/devices/ihorn.d.ts +0 -4
  492. package/devices/ihorn.d.ts.map +0 -1
  493. package/devices/ihorn.js +0 -109
  494. package/devices/ihorn.js.map +0 -1
  495. package/devices/ikea.d.ts +0 -4
  496. package/devices/ikea.d.ts.map +0 -1
  497. package/devices/ikea.js +0 -927
  498. package/devices/ikea.js.map +0 -1
  499. package/devices/ilightsin.d.ts +0 -4
  500. package/devices/ilightsin.d.ts.map +0 -1
  501. package/devices/ilightsin.js +0 -15
  502. package/devices/ilightsin.js.map +0 -1
  503. package/devices/iluminize.d.ts +0 -4
  504. package/devices/iluminize.d.ts.map +0 -1
  505. package/devices/iluminize.js +0 -376
  506. package/devices/iluminize.js.map +0 -1
  507. package/devices/ilux.d.ts +0 -4
  508. package/devices/ilux.d.ts.map +0 -1
  509. package/devices/ilux.js +0 -15
  510. package/devices/ilux.js.map +0 -1
  511. package/devices/imhotepcreation.d.ts +0 -4
  512. package/devices/imhotepcreation.d.ts.map +0 -1
  513. package/devices/imhotepcreation.js +0 -251
  514. package/devices/imhotepcreation.js.map +0 -1
  515. package/devices/immax.d.ts +0 -4
  516. package/devices/immax.d.ts.map +0 -1
  517. package/devices/immax.js +0 -304
  518. package/devices/immax.js.map +0 -1
  519. package/devices/imou.d.ts +0 -4
  520. package/devices/imou.d.ts.map +0 -1
  521. package/devices/imou.js +0 -28
  522. package/devices/imou.js.map +0 -1
  523. package/devices/index.d.ts +0 -13
  524. package/devices/index.d.ts.map +0 -1
  525. package/devices/index.js +0 -638
  526. package/devices/index.js.map +0 -1
  527. package/devices/innr.d.ts +0 -4
  528. package/devices/innr.d.ts.map +0 -1
  529. package/devices/innr.js +0 -878
  530. package/devices/innr.js.map +0 -1
  531. package/devices/inovelli.d.ts +0 -4
  532. package/devices/inovelli.d.ts.map +0 -1
  533. package/devices/inovelli.js +0 -1977
  534. package/devices/inovelli.js.map +0 -1
  535. package/devices/insta.d.ts +0 -4
  536. package/devices/insta.d.ts.map +0 -1
  537. package/devices/insta.js +0 -186
  538. package/devices/insta.js.map +0 -1
  539. package/devices/iolloi.d.ts +0 -4
  540. package/devices/iolloi.d.ts.map +0 -1
  541. package/devices/iolloi.js +0 -16
  542. package/devices/iolloi.js.map +0 -1
  543. package/devices/iotperfect.d.ts +0 -4
  544. package/devices/iotperfect.d.ts.map +0 -1
  545. package/devices/iotperfect.js +0 -62
  546. package/devices/iotperfect.js.map +0 -1
  547. package/devices/iris.d.ts +0 -4
  548. package/devices/iris.d.ts.map +0 -1
  549. package/devices/iris.js +0 -211
  550. package/devices/iris.js.map +0 -1
  551. package/devices/istar.d.ts +0 -4
  552. package/devices/istar.d.ts.map +0 -1
  553. package/devices/istar.js +0 -22
  554. package/devices/istar.js.map +0 -1
  555. package/devices/jasco.d.ts +0 -4
  556. package/devices/jasco.d.ts.map +0 -1
  557. package/devices/jasco.js +0 -34
  558. package/devices/jasco.js.map +0 -1
  559. package/devices/javis.d.ts +0 -4
  560. package/devices/javis.d.ts.map +0 -1
  561. package/devices/javis.js +0 -84
  562. package/devices/javis.js.map +0 -1
  563. package/devices/jethome.d.ts +0 -4
  564. package/devices/jethome.d.ts.map +0 -1
  565. package/devices/jethome.js +0 -124
  566. package/devices/jethome.js.map +0 -1
  567. package/devices/jiawen.d.ts +0 -4
  568. package/devices/jiawen.d.ts.map +0 -1
  569. package/devices/jiawen.js +0 -22
  570. package/devices/jiawen.js.map +0 -1
  571. package/devices/jumitech.d.ts +0 -4
  572. package/devices/jumitech.d.ts.map +0 -1
  573. package/devices/jumitech.js +0 -15
  574. package/devices/jumitech.js.map +0 -1
  575. package/devices/jxuan.d.ts +0 -4
  576. package/devices/jxuan.d.ts.map +0 -1
  577. package/devices/jxuan.js +0 -89
  578. package/devices/jxuan.js.map +0 -1
  579. package/devices/kami.d.ts +0 -4
  580. package/devices/kami.d.ts.map +0 -1
  581. package/devices/kami.js +0 -55
  582. package/devices/kami.js.map +0 -1
  583. package/devices/keen_home.d.ts +0 -4
  584. package/devices/keen_home.d.ts.map +0 -1
  585. package/devices/keen_home.js +0 -160
  586. package/devices/keen_home.js.map +0 -1
  587. package/devices/klikaanklikuit.d.ts +0 -4
  588. package/devices/klikaanklikuit.d.ts.map +0 -1
  589. package/devices/klikaanklikuit.js +0 -22
  590. package/devices/klikaanklikuit.js.map +0 -1
  591. package/devices/kmpcil.d.ts +0 -4
  592. package/devices/kmpcil.d.ts.map +0 -1
  593. package/devices/kmpcil.js +0 -219
  594. package/devices/kmpcil.js.map +0 -1
  595. package/devices/konke.d.ts +0 -4
  596. package/devices/konke.d.ts.map +0 -1
  597. package/devices/konke.js +0 -210
  598. package/devices/konke.js.map +0 -1
  599. package/devices/ksentry.d.ts +0 -4
  600. package/devices/ksentry.d.ts.map +0 -1
  601. package/devices/ksentry.js +0 -15
  602. package/devices/ksentry.js.map +0 -1
  603. package/devices/kurvia.d.ts +0 -4
  604. package/devices/kurvia.d.ts.map +0 -1
  605. package/devices/kurvia.js +0 -20
  606. package/devices/kurvia.js.map +0 -1
  607. package/devices/kwikset.d.ts +0 -4
  608. package/devices/kwikset.d.ts.map +0 -1
  609. package/devices/kwikset.js +0 -157
  610. package/devices/kwikset.js.map +0 -1
  611. package/devices/lanesto.d.ts +0 -4
  612. package/devices/lanesto.d.ts.map +0 -1
  613. package/devices/lanesto.js +0 -15
  614. package/devices/lanesto.js.map +0 -1
  615. package/devices/lds.d.ts +0 -4
  616. package/devices/lds.d.ts.map +0 -1
  617. package/devices/lds.js +0 -15
  618. package/devices/lds.js.map +0 -1
  619. package/devices/led_trading.d.ts +0 -4
  620. package/devices/led_trading.d.ts.map +0 -1
  621. package/devices/led_trading.js +0 -112
  622. package/devices/led_trading.js.map +0 -1
  623. package/devices/ledvance.d.ts +0 -4
  624. package/devices/ledvance.d.ts.map +0 -1
  625. package/devices/ledvance.js +0 -337
  626. package/devices/ledvance.js.map +0 -1
  627. package/devices/leedarson.d.ts +0 -4
  628. package/devices/leedarson.d.ts.map +0 -1
  629. package/devices/leedarson.js +0 -182
  630. package/devices/leedarson.js.map +0 -1
  631. package/devices/legrand.d.ts +0 -4
  632. package/devices/legrand.d.ts.map +0 -1
  633. package/devices/legrand.js +0 -736
  634. package/devices/legrand.js.map +0 -1
  635. package/devices/lellki.d.ts +0 -4
  636. package/devices/lellki.d.ts.map +0 -1
  637. package/devices/lellki.js +0 -169
  638. package/devices/lellki.js.map +0 -1
  639. package/devices/letsled.d.ts +0 -4
  640. package/devices/letsled.d.ts.map +0 -1
  641. package/devices/letsled.js +0 -15
  642. package/devices/letsled.js.map +0 -1
  643. package/devices/letv.d.ts +0 -4
  644. package/devices/letv.d.ts.map +0 -1
  645. package/devices/letv.js +0 -90
  646. package/devices/letv.js.map +0 -1
  647. package/devices/leviton.d.ts +0 -4
  648. package/devices/leviton.d.ts.map +0 -1
  649. package/devices/leviton.js +0 -164
  650. package/devices/leviton.js.map +0 -1
  651. package/devices/lg.d.ts +0 -4
  652. package/devices/lg.d.ts.map +0 -1
  653. package/devices/lg.js +0 -29
  654. package/devices/lg.js.map +0 -1
  655. package/devices/lidl.d.ts +0 -4
  656. package/devices/lidl.d.ts.map +0 -1
  657. package/devices/lidl.js +0 -674
  658. package/devices/lidl.js.map +0 -1
  659. package/devices/lifecontrol.d.ts +0 -4
  660. package/devices/lifecontrol.d.ts.map +0 -1
  661. package/devices/lifecontrol.js +0 -149
  662. package/devices/lifecontrol.js.map +0 -1
  663. package/devices/lightsolutions.d.ts +0 -4
  664. package/devices/lightsolutions.d.ts.map +0 -1
  665. package/devices/lightsolutions.js +0 -36
  666. package/devices/lightsolutions.js.map +0 -1
  667. package/devices/linkind.d.ts +0 -4
  668. package/devices/linkind.d.ts.map +0 -1
  669. package/devices/linkind.js +0 -275
  670. package/devices/linkind.js.map +0 -1
  671. package/devices/linptech.d.ts +0 -4
  672. package/devices/linptech.d.ts.map +0 -1
  673. package/devices/linptech.js +0 -159
  674. package/devices/linptech.js.map +0 -1
  675. package/devices/livingwise.d.ts +0 -4
  676. package/devices/livingwise.d.ts.map +0 -1
  677. package/devices/livingwise.js +0 -119
  678. package/devices/livingwise.js.map +0 -1
  679. package/devices/livolo.d.ts +0 -4
  680. package/devices/livolo.d.ts.map +0 -1
  681. package/devices/livolo.js +0 -422
  682. package/devices/livolo.js.map +0 -1
  683. package/devices/lixee.d.ts +0 -4
  684. package/devices/lixee.d.ts.map +0 -1
  685. package/devices/lixee.js +0 -1926
  686. package/devices/lixee.js.map +0 -1
  687. package/devices/lonsonho.d.ts +0 -4
  688. package/devices/lonsonho.d.ts.map +0 -1
  689. package/devices/lonsonho.js +0 -303
  690. package/devices/lonsonho.js.map +0 -1
  691. package/devices/ls.d.ts +0 -4
  692. package/devices/ls.d.ts.map +0 -1
  693. package/devices/ls.js +0 -68
  694. package/devices/ls.js.map +0 -1
  695. package/devices/lubeez.d.ts +0 -4
  696. package/devices/lubeez.d.ts.map +0 -1
  697. package/devices/lubeez.js +0 -15
  698. package/devices/lubeez.js.map +0 -1
  699. package/devices/lumi.d.ts +0 -4
  700. package/devices/lumi.d.ts.map +0 -1
  701. package/devices/lumi.js +0 -4387
  702. package/devices/lumi.js.map +0 -1
  703. package/devices/lupus.d.ts +0 -4
  704. package/devices/lupus.d.ts.map +0 -1
  705. package/devices/lupus.js +0 -98
  706. package/devices/lupus.js.map +0 -1
  707. package/devices/lutron.d.ts +0 -4
  708. package/devices/lutron.d.ts.map +0 -1
  709. package/devices/lutron.js +0 -71
  710. package/devices/lutron.js.map +0 -1
  711. package/devices/lux.d.ts +0 -4
  712. package/devices/lux.d.ts.map +0 -1
  713. package/devices/lux.js +0 -91
  714. package/devices/lux.js.map +0 -1
  715. package/devices/lytko.d.ts +0 -4
  716. package/devices/lytko.d.ts.map +0 -1
  717. package/devices/lytko.js +0 -788
  718. package/devices/lytko.js.map +0 -1
  719. package/devices/m_elec.d.ts +0 -4
  720. package/devices/m_elec.d.ts.map +0 -1
  721. package/devices/m_elec.js +0 -36
  722. package/devices/m_elec.js.map +0 -1
  723. package/devices/makegood.d.ts +0 -4
  724. package/devices/makegood.d.ts.map +0 -1
  725. package/devices/makegood.js +0 -66
  726. package/devices/makegood.js.map +0 -1
  727. package/devices/matcall_bv.d.ts +0 -4
  728. package/devices/matcall_bv.d.ts.map +0 -1
  729. package/devices/matcall_bv.js +0 -22
  730. package/devices/matcall_bv.js.map +0 -1
  731. package/devices/mazda.d.ts +0 -4
  732. package/devices/mazda.d.ts.map +0 -1
  733. package/devices/mazda.js +0 -142
  734. package/devices/mazda.js.map +0 -1
  735. package/devices/meazon.d.ts +0 -4
  736. package/devices/meazon.d.ts.map +0 -1
  737. package/devices/meazon.js +0 -99
  738. package/devices/meazon.js.map +0 -1
  739. package/devices/mercator.d.ts +0 -4
  740. package/devices/mercator.d.ts.map +0 -1
  741. package/devices/mercator.js +0 -256
  742. package/devices/mercator.js.map +0 -1
  743. package/devices/miboxer.d.ts +0 -4
  744. package/devices/miboxer.d.ts.map +0 -1
  745. package/devices/miboxer.js +0 -93
  746. package/devices/miboxer.js.map +0 -1
  747. package/devices/micromatic.d.ts +0 -4
  748. package/devices/micromatic.d.ts.map +0 -1
  749. package/devices/micromatic.js +0 -15
  750. package/devices/micromatic.js.map +0 -1
  751. package/devices/modular.d.ts +0 -4
  752. package/devices/modular.d.ts.map +0 -1
  753. package/devices/modular.js +0 -15
  754. package/devices/modular.js.map +0 -1
  755. package/devices/moes.d.ts +0 -4
  756. package/devices/moes.d.ts.map +0 -1
  757. package/devices/moes.js +0 -654
  758. package/devices/moes.js.map +0 -1
  759. package/devices/muller_licht.d.ts +0 -4
  760. package/devices/muller_licht.d.ts.map +0 -1
  761. package/devices/muller_licht.js +0 -341
  762. package/devices/muller_licht.js.map +0 -1
  763. package/devices/multiterm.d.ts +0 -4
  764. package/devices/multiterm.d.ts.map +0 -1
  765. package/devices/multiterm.js +0 -123
  766. package/devices/multiterm.js.map +0 -1
  767. package/devices/namron.d.ts +0 -4
  768. package/devices/namron.d.ts.map +0 -1
  769. package/devices/namron.js +0 -1464
  770. package/devices/namron.js.map +0 -1
  771. package/devices/nanoleaf.d.ts +0 -4
  772. package/devices/nanoleaf.d.ts.map +0 -1
  773. package/devices/nanoleaf.js +0 -15
  774. package/devices/nanoleaf.js.map +0 -1
  775. package/devices/neo.d.ts +0 -4
  776. package/devices/neo.d.ts.map +0 -1
  777. package/devices/neo.js +0 -558
  778. package/devices/neo.js.map +0 -1
  779. package/devices/net2grid.d.ts +0 -4
  780. package/devices/net2grid.d.ts.map +0 -1
  781. package/devices/net2grid.js +0 -68
  782. package/devices/net2grid.js.map +0 -1
  783. package/devices/netvox.d.ts +0 -4
  784. package/devices/netvox.d.ts.map +0 -1
  785. package/devices/netvox.js +0 -75
  786. package/devices/netvox.js.map +0 -1
  787. package/devices/nexelec.d.ts +0 -4
  788. package/devices/nexelec.d.ts.map +0 -1
  789. package/devices/nexelec.js +0 -15
  790. package/devices/nexelec.js.map +0 -1
  791. package/devices/niko.d.ts +0 -4
  792. package/devices/niko.d.ts.map +0 -1
  793. package/devices/niko.js +0 -495
  794. package/devices/niko.js.map +0 -1
  795. package/devices/ninja_blocks.d.ts +0 -4
  796. package/devices/ninja_blocks.d.ts.map +0 -1
  797. package/devices/ninja_blocks.js +0 -64
  798. package/devices/ninja_blocks.js.map +0 -1
  799. package/devices/niviss.d.ts +0 -4
  800. package/devices/niviss.d.ts.map +0 -1
  801. package/devices/niviss.js +0 -15
  802. package/devices/niviss.js.map +0 -1
  803. package/devices/nodon.d.ts +0 -4
  804. package/devices/nodon.d.ts.map +0 -1
  805. package/devices/nodon.js +0 -386
  806. package/devices/nodon.js.map +0 -1
  807. package/devices/nordtronic.d.ts +0 -4
  808. package/devices/nordtronic.d.ts.map +0 -1
  809. package/devices/nordtronic.js +0 -41
  810. package/devices/nordtronic.js.map +0 -1
  811. package/devices/nous.d.ts +0 -4
  812. package/devices/nous.d.ts.map +0 -1
  813. package/devices/nous.js +0 -151
  814. package/devices/nous.js.map +0 -1
  815. package/devices/novo.d.ts +0 -4
  816. package/devices/novo.d.ts.map +0 -1
  817. package/devices/novo.js +0 -57
  818. package/devices/novo.js.map +0 -1
  819. package/devices/nue_3a.d.ts +0 -4
  820. package/devices/nue_3a.d.ts.map +0 -1
  821. package/devices/nue_3a.js +0 -361
  822. package/devices/nue_3a.js.map +0 -1
  823. package/devices/nyce.d.ts +0 -4
  824. package/devices/nyce.d.ts.map +0 -1
  825. package/devices/nyce.js +0 -134
  826. package/devices/nyce.js.map +0 -1
  827. package/devices/onenuo.d.ts +0 -4
  828. package/devices/onenuo.d.ts.map +0 -1
  829. package/devices/onenuo.js +0 -86
  830. package/devices/onenuo.js.map +0 -1
  831. package/devices/onesti.d.ts +0 -4
  832. package/devices/onesti.d.ts.map +0 -1
  833. package/devices/onesti.js +0 -208
  834. package/devices/onesti.js.map +0 -1
  835. package/devices/openlumi.d.ts +0 -4
  836. package/devices/openlumi.d.ts.map +0 -1
  837. package/devices/openlumi.js +0 -62
  838. package/devices/openlumi.js.map +0 -1
  839. package/devices/orvibo.d.ts +0 -4
  840. package/devices/orvibo.d.ts.map +0 -1
  841. package/devices/orvibo.js +0 -391
  842. package/devices/orvibo.js.map +0 -1
  843. package/devices/osram.d.ts +0 -4
  844. package/devices/osram.d.ts.map +0 -1
  845. package/devices/osram.js +0 -516
  846. package/devices/osram.js.map +0 -1
  847. package/devices/oujiabao.d.ts +0 -4
  848. package/devices/oujiabao.d.ts.map +0 -1
  849. package/devices/oujiabao.js +0 -55
  850. package/devices/oujiabao.js.map +0 -1
  851. package/devices/owon.d.ts +0 -4
  852. package/devices/owon.d.ts.map +0 -1
  853. package/devices/owon.js +0 -478
  854. package/devices/owon.js.map +0 -1
  855. package/devices/ozsmartthings.d.ts +0 -4
  856. package/devices/ozsmartthings.d.ts.map +0 -1
  857. package/devices/ozsmartthings.js +0 -48
  858. package/devices/ozsmartthings.js.map +0 -1
  859. package/devices/paul_neuhaus.d.ts +0 -4
  860. package/devices/paul_neuhaus.d.ts.map +0 -1
  861. package/devices/paul_neuhaus.js +0 -194
  862. package/devices/paul_neuhaus.js.map +0 -1
  863. package/devices/paulmann.d.ts +0 -4
  864. package/devices/paulmann.d.ts.map +0 -1
  865. package/devices/paulmann.js +0 -330
  866. package/devices/paulmann.js.map +0 -1
  867. package/devices/peq.d.ts +0 -4
  868. package/devices/peq.d.ts.map +0 -1
  869. package/devices/peq.js +0 -64
  870. package/devices/peq.js.map +0 -1
  871. package/devices/perenio.d.ts +0 -4
  872. package/devices/perenio.d.ts.map +0 -1
  873. package/devices/perenio.js +0 -468
  874. package/devices/perenio.js.map +0 -1
  875. package/devices/philio.d.ts +0 -4
  876. package/devices/philio.d.ts.map +0 -1
  877. package/devices/philio.js +0 -16
  878. package/devices/philio.js.map +0 -1
  879. package/devices/philips.d.ts +0 -4
  880. package/devices/philips.d.ts.map +0 -1
  881. package/devices/philips.js +0 -4030
  882. package/devices/philips.js.map +0 -1
  883. package/devices/plaid.d.ts +0 -4
  884. package/devices/plaid.d.ts.map +0 -1
  885. package/devices/plaid.js +0 -65
  886. package/devices/plaid.js.map +0 -1
  887. package/devices/plugwise.d.ts +0 -4
  888. package/devices/plugwise.d.ts.map +0 -1
  889. package/devices/plugwise.js +0 -210
  890. package/devices/plugwise.js.map +0 -1
  891. package/devices/profalux.d.ts +0 -4
  892. package/devices/profalux.d.ts.map +0 -1
  893. package/devices/profalux.js +0 -191
  894. package/devices/profalux.js.map +0 -1
  895. package/devices/prolight.d.ts +0 -4
  896. package/devices/prolight.d.ts.map +0 -1
  897. package/devices/prolight.js +0 -115
  898. package/devices/prolight.js.map +0 -1
  899. package/devices/pushok.d.ts +0 -4
  900. package/devices/pushok.d.ts.map +0 -1
  901. package/devices/pushok.js +0 -300
  902. package/devices/pushok.js.map +0 -1
  903. package/devices/qa.d.ts +0 -4
  904. package/devices/qa.d.ts.map +0 -1
  905. package/devices/qa.js +0 -295
  906. package/devices/qa.js.map +0 -1
  907. package/devices/qmotion.d.ts +0 -4
  908. package/devices/qmotion.d.ts.map +0 -1
  909. package/devices/qmotion.js +0 -73
  910. package/devices/qmotion.js.map +0 -1
  911. package/devices/qoto.d.ts +0 -4
  912. package/devices/qoto.d.ts.map +0 -1
  913. package/devices/qoto.js +0 -87
  914. package/devices/qoto.js.map +0 -1
  915. package/devices/quotra.d.ts +0 -4
  916. package/devices/quotra.d.ts.map +0 -1
  917. package/devices/quotra.js +0 -22
  918. package/devices/quotra.js.map +0 -1
  919. package/devices/rademacher.d.ts +0 -4
  920. package/devices/rademacher.d.ts.map +0 -1
  921. package/devices/rademacher.js +0 -29
  922. package/devices/rademacher.js.map +0 -1
  923. package/devices/radium.d.ts +0 -4
  924. package/devices/radium.d.ts.map +0 -1
  925. package/devices/radium.js +0 -15
  926. package/devices/radium.js.map +0 -1
  927. package/devices/raex.d.ts +0 -4
  928. package/devices/raex.d.ts.map +0 -1
  929. package/devices/raex.js +0 -15
  930. package/devices/raex.js.map +0 -1
  931. package/devices/rgb_genie.d.ts +0 -4
  932. package/devices/rgb_genie.d.ts.map +0 -1
  933. package/devices/rgb_genie.js +0 -279
  934. package/devices/rgb_genie.js.map +0 -1
  935. package/devices/robb.d.ts +0 -4
  936. package/devices/robb.d.ts.map +0 -1
  937. package/devices/robb.js +0 -449
  938. package/devices/robb.js.map +0 -1
  939. package/devices/roome.d.ts +0 -4
  940. package/devices/roome.d.ts.map +0 -1
  941. package/devices/roome.js +0 -55
  942. package/devices/roome.js.map +0 -1
  943. package/devices/rtx.d.ts +0 -4
  944. package/devices/rtx.d.ts.map +0 -1
  945. package/devices/rtx.js +0 -151
  946. package/devices/rtx.js.map +0 -1
  947. package/devices/salus_controls.d.ts +0 -4
  948. package/devices/salus_controls.d.ts.map +0 -1
  949. package/devices/salus_controls.js +0 -136
  950. package/devices/salus_controls.js.map +0 -1
  951. package/devices/samotech.d.ts +0 -4
  952. package/devices/samotech.d.ts.map +0 -1
  953. package/devices/samotech.js +0 -75
  954. package/devices/samotech.js.map +0 -1
  955. package/devices/saswell.d.ts +0 -4
  956. package/devices/saswell.d.ts.map +0 -1
  957. package/devices/saswell.js +0 -125
  958. package/devices/saswell.js.map +0 -1
  959. package/devices/sber.d.ts +0 -4
  960. package/devices/sber.d.ts.map +0 -1
  961. package/devices/sber.js +0 -66
  962. package/devices/sber.js.map +0 -1
  963. package/devices/scanproducts.d.ts +0 -4
  964. package/devices/scanproducts.d.ts.map +0 -1
  965. package/devices/scanproducts.js +0 -22
  966. package/devices/scanproducts.js.map +0 -1
  967. package/devices/schlage.d.ts +0 -4
  968. package/devices/schlage.d.ts.map +0 -1
  969. package/devices/schlage.js +0 -64
  970. package/devices/schlage.js.map +0 -1
  971. package/devices/schneider_electric.d.ts +0 -4
  972. package/devices/schneider_electric.d.ts.map +0 -1
  973. package/devices/schneider_electric.js +0 -2187
  974. package/devices/schneider_electric.js.map +0 -1
  975. package/devices/schwaiger.d.ts +0 -4
  976. package/devices/schwaiger.d.ts.map +0 -1
  977. package/devices/schwaiger.js +0 -109
  978. package/devices/schwaiger.js.map +0 -1
  979. package/devices/seastar_intelligence.d.ts +0 -4
  980. package/devices/seastar_intelligence.d.ts.map +0 -1
  981. package/devices/seastar_intelligence.js +0 -20
  982. package/devices/seastar_intelligence.js.map +0 -1
  983. package/devices/securifi.d.ts +0 -4
  984. package/devices/securifi.d.ts.map +0 -1
  985. package/devices/securifi.js +0 -83
  986. package/devices/securifi.js.map +0 -1
  987. package/devices/sengled.d.ts +0 -7
  988. package/devices/sengled.d.ts.map +0 -1
  989. package/devices/sengled.js +0 -358
  990. package/devices/sengled.js.map +0 -1
  991. package/devices/sercomm.d.ts +0 -4
  992. package/devices/sercomm.d.ts.map +0 -1
  993. package/devices/sercomm.js +0 -189
  994. package/devices/sercomm.js.map +0 -1
  995. package/devices/shade_control.d.ts +0 -4
  996. package/devices/shade_control.d.ts.map +0 -1
  997. package/devices/shade_control.js +0 -65
  998. package/devices/shade_control.js.map +0 -1
  999. package/devices/shenzhen_homa.d.ts +0 -4
  1000. package/devices/shenzhen_homa.d.ts.map +0 -1
  1001. package/devices/shenzhen_homa.js +0 -111
  1002. package/devices/shenzhen_homa.js.map +0 -1
  1003. package/devices/shinasystem.d.ts +0 -4
  1004. package/devices/shinasystem.d.ts.map +0 -1
  1005. package/devices/shinasystem.js +0 -961
  1006. package/devices/shinasystem.js.map +0 -1
  1007. package/devices/shyugj.d.ts +0 -4
  1008. package/devices/shyugj.d.ts.map +0 -1
  1009. package/devices/shyugj.js +0 -21
  1010. package/devices/shyugj.js.map +0 -1
  1011. package/devices/siglis.d.ts +0 -4
  1012. package/devices/siglis.d.ts.map +0 -1
  1013. package/devices/siglis.js +0 -457
  1014. package/devices/siglis.js.map +0 -1
  1015. package/devices/sikom.d.ts +0 -4
  1016. package/devices/sikom.d.ts.map +0 -1
  1017. package/devices/sikom.js +0 -68
  1018. package/devices/sikom.js.map +0 -1
  1019. package/devices/sinope.d.ts +0 -4
  1020. package/devices/sinope.d.ts.map +0 -1
  1021. package/devices/sinope.js +0 -1755
  1022. package/devices/sinope.js.map +0 -1
  1023. package/devices/siterwell.d.ts +0 -4
  1024. package/devices/siterwell.d.ts.map +0 -1
  1025. package/devices/siterwell.js +0 -111
  1026. package/devices/siterwell.js.map +0 -1
  1027. package/devices/skydance.d.ts +0 -4
  1028. package/devices/skydance.d.ts.map +0 -1
  1029. package/devices/skydance.js +0 -156
  1030. package/devices/skydance.js.map +0 -1
  1031. package/devices/slv.d.ts +0 -4
  1032. package/devices/slv.d.ts.map +0 -1
  1033. package/devices/slv.js +0 -38
  1034. package/devices/slv.js.map +0 -1
  1035. package/devices/smart9.d.ts +0 -4
  1036. package/devices/smart9.d.ts.map +0 -1
  1037. package/devices/smart9.js +0 -67
  1038. package/devices/smart9.js.map +0 -1
  1039. package/devices/smart_home_pty.d.ts +0 -4
  1040. package/devices/smart_home_pty.d.ts.map +0 -1
  1041. package/devices/smart_home_pty.js +0 -22
  1042. package/devices/smart_home_pty.js.map +0 -1
  1043. package/devices/smartenit.d.ts +0 -4
  1044. package/devices/smartenit.d.ts.map +0 -1
  1045. package/devices/smartenit.js +0 -81
  1046. package/devices/smartenit.js.map +0 -1
  1047. package/devices/smartthings.d.ts +0 -4
  1048. package/devices/smartthings.d.ts.map +0 -1
  1049. package/devices/smartthings.js +0 -527
  1050. package/devices/smartthings.js.map +0 -1
  1051. package/devices/smartwings.d.ts +0 -4
  1052. package/devices/smartwings.d.ts.map +0 -1
  1053. package/devices/smartwings.js +0 -64
  1054. package/devices/smartwings.js.map +0 -1
  1055. package/devices/smlight.d.ts +0 -4
  1056. package/devices/smlight.d.ts.map +0 -1
  1057. package/devices/smlight.js +0 -22
  1058. package/devices/smlight.js.map +0 -1
  1059. package/devices/sohan_electric.d.ts +0 -4
  1060. package/devices/sohan_electric.d.ts.map +0 -1
  1061. package/devices/sohan_electric.js +0 -20
  1062. package/devices/sohan_electric.js.map +0 -1
  1063. package/devices/solaredge.d.ts +0 -4
  1064. package/devices/solaredge.d.ts.map +0 -1
  1065. package/devices/solaredge.js +0 -15
  1066. package/devices/solaredge.js.map +0 -1
  1067. package/devices/soma.d.ts +0 -4
  1068. package/devices/soma.d.ts.map +0 -1
  1069. package/devices/soma.js +0 -15
  1070. package/devices/soma.js.map +0 -1
  1071. package/devices/somfy.d.ts +0 -4
  1072. package/devices/somfy.d.ts.map +0 -1
  1073. package/devices/somfy.js +0 -88
  1074. package/devices/somfy.js.map +0 -1
  1075. package/devices/somgoms.d.ts +0 -4
  1076. package/devices/somgoms.d.ts.map +0 -1
  1077. package/devices/somgoms.js +0 -84
  1078. package/devices/somgoms.js.map +0 -1
  1079. package/devices/sonoff.d.ts +0 -4
  1080. package/devices/sonoff.d.ts.map +0 -1
  1081. package/devices/sonoff.js +0 -1444
  1082. package/devices/sonoff.js.map +0 -1
  1083. package/devices/sowilo.d.ts +0 -4
  1084. package/devices/sowilo.d.ts.map +0 -1
  1085. package/devices/sowilo.js +0 -15
  1086. package/devices/sowilo.js.map +0 -1
  1087. package/devices/spotmau.d.ts +0 -4
  1088. package/devices/spotmau.d.ts.map +0 -1
  1089. package/devices/spotmau.js +0 -42
  1090. package/devices/spotmau.js.map +0 -1
  1091. package/devices/stelpro.d.ts +0 -4
  1092. package/devices/stelpro.d.ts.map +0 -1
  1093. package/devices/stelpro.js +0 -366
  1094. package/devices/stelpro.js.map +0 -1
  1095. package/devices/sunricher.d.ts +0 -4
  1096. package/devices/sunricher.d.ts.map +0 -1
  1097. package/devices/sunricher.js +0 -1114
  1098. package/devices/sunricher.js.map +0 -1
  1099. package/devices/swann.d.ts +0 -4
  1100. package/devices/swann.d.ts.map +0 -1
  1101. package/devices/swann.js +0 -73
  1102. package/devices/swann.js.map +0 -1
  1103. package/devices/sylvania.d.ts +0 -4
  1104. package/devices/sylvania.d.ts.map +0 -1
  1105. package/devices/sylvania.js +0 -226
  1106. package/devices/sylvania.js.map +0 -1
  1107. package/devices/tapestry.d.ts +0 -4
  1108. package/devices/tapestry.d.ts.map +0 -1
  1109. package/devices/tapestry.js +0 -56
  1110. package/devices/tapestry.js.map +0 -1
  1111. package/devices/tci.d.ts +0 -4
  1112. package/devices/tci.d.ts.map +0 -1
  1113. package/devices/tci.js +0 -29
  1114. package/devices/tci.js.map +0 -1
  1115. package/devices/tech.d.ts +0 -4
  1116. package/devices/tech.d.ts.map +0 -1
  1117. package/devices/tech.js +0 -131
  1118. package/devices/tech.js.map +0 -1
  1119. package/devices/technicolor.d.ts +0 -4
  1120. package/devices/technicolor.d.ts.map +0 -1
  1121. package/devices/technicolor.js +0 -102
  1122. package/devices/technicolor.js.map +0 -1
  1123. package/devices/terncy.d.ts +0 -4
  1124. package/devices/terncy.d.ts.map +0 -1
  1125. package/devices/terncy.js +0 -116
  1126. package/devices/terncy.js.map +0 -1
  1127. package/devices/the_light_group.d.ts +0 -4
  1128. package/devices/the_light_group.d.ts.map +0 -1
  1129. package/devices/the_light_group.js +0 -130
  1130. package/devices/the_light_group.js.map +0 -1
  1131. package/devices/third_reality.d.ts +0 -4
  1132. package/devices/third_reality.d.ts.map +0 -1
  1133. package/devices/third_reality.js +0 -557
  1134. package/devices/third_reality.js.map +0 -1
  1135. package/devices/titan_products.d.ts +0 -4
  1136. package/devices/titan_products.d.ts.map +0 -1
  1137. package/devices/titan_products.js +0 -62
  1138. package/devices/titan_products.js.map +0 -1
  1139. package/devices/tlwglobal.d.ts +0 -4
  1140. package/devices/tlwglobal.d.ts.map +0 -1
  1141. package/devices/tlwglobal.js +0 -32
  1142. package/devices/tlwglobal.js.map +0 -1
  1143. package/devices/tplink.d.ts +0 -4
  1144. package/devices/tplink.d.ts.map +0 -1
  1145. package/devices/tplink.js +0 -82
  1146. package/devices/tplink.js.map +0 -1
  1147. package/devices/trust.d.ts +0 -4
  1148. package/devices/trust.d.ts.map +0 -1
  1149. package/devices/trust.js +0 -183
  1150. package/devices/trust.js.map +0 -1
  1151. package/devices/tubeszb.d.ts +0 -4
  1152. package/devices/tubeszb.d.ts.map +0 -1
  1153. package/devices/tubeszb.js +0 -60
  1154. package/devices/tubeszb.js.map +0 -1
  1155. package/devices/tuya.d.ts +0 -4
  1156. package/devices/tuya.d.ts.map +0 -1
  1157. package/devices/tuya.js +0 -13609
  1158. package/devices/tuya.js.map +0 -1
  1159. package/devices/ubisys.d.ts +0 -4
  1160. package/devices/ubisys.d.ts.map +0 -1
  1161. package/devices/ubisys.js +0 -1300
  1162. package/devices/ubisys.js.map +0 -1
  1163. package/devices/uhome.d.ts +0 -4
  1164. package/devices/uhome.d.ts.map +0 -1
  1165. package/devices/uhome.js +0 -64
  1166. package/devices/uhome.js.map +0 -1
  1167. package/devices/universal_electronics_inc.d.ts +0 -4
  1168. package/devices/universal_electronics_inc.d.ts.map +0 -1
  1169. package/devices/universal_electronics_inc.js +0 -186
  1170. package/devices/universal_electronics_inc.js.map +0 -1
  1171. package/devices/vbled.d.ts +0 -4
  1172. package/devices/vbled.d.ts.map +0 -1
  1173. package/devices/vbled.js +0 -15
  1174. package/devices/vbled.js.map +0 -1
  1175. package/devices/vesternet.d.ts +0 -4
  1176. package/devices/vesternet.d.ts.map +0 -1
  1177. package/devices/vesternet.js +0 -330
  1178. package/devices/vesternet.js.map +0 -1
  1179. package/devices/viessmann.d.ts +0 -4
  1180. package/devices/viessmann.d.ts.map +0 -1
  1181. package/devices/viessmann.js +0 -115
  1182. package/devices/viessmann.js.map +0 -1
  1183. package/devices/villeroy_boch.d.ts +0 -4
  1184. package/devices/villeroy_boch.d.ts.map +0 -1
  1185. package/devices/villeroy_boch.js +0 -22
  1186. package/devices/villeroy_boch.js.map +0 -1
  1187. package/devices/vimar.d.ts +0 -4
  1188. package/devices/vimar.d.ts.map +0 -1
  1189. package/devices/vimar.js +0 -137
  1190. package/devices/vimar.js.map +0 -1
  1191. package/devices/visonic.d.ts +0 -4
  1192. package/devices/visonic.d.ts.map +0 -1
  1193. package/devices/visonic.js +0 -138
  1194. package/devices/visonic.js.map +0 -1
  1195. package/devices/vrey.d.ts +0 -4
  1196. package/devices/vrey.d.ts.map +0 -1
  1197. package/devices/vrey.js +0 -18
  1198. package/devices/vrey.js.map +0 -1
  1199. package/devices/wally.d.ts +0 -4
  1200. package/devices/wally.d.ts.map +0 -1
  1201. package/devices/wally.js +0 -64
  1202. package/devices/wally.js.map +0 -1
  1203. package/devices/waxman.d.ts +0 -4
  1204. package/devices/waxman.d.ts.map +0 -1
  1205. package/devices/waxman.js +0 -85
  1206. package/devices/waxman.js.map +0 -1
  1207. package/devices/weiser.d.ts +0 -4
  1208. package/devices/weiser.d.ts.map +0 -1
  1209. package/devices/weiser.js +0 -103
  1210. package/devices/weiser.js.map +0 -1
  1211. package/devices/weten.d.ts +0 -4
  1212. package/devices/weten.d.ts.map +0 -1
  1213. package/devices/weten.js +0 -89
  1214. package/devices/weten.js.map +0 -1
  1215. package/devices/wirenboard.d.ts +0 -4
  1216. package/devices/wirenboard.d.ts.map +0 -1
  1217. package/devices/wirenboard.js +0 -626
  1218. package/devices/wirenboard.js.map +0 -1
  1219. package/devices/wisdom.d.ts +0 -4
  1220. package/devices/wisdom.d.ts.map +0 -1
  1221. package/devices/wisdom.js +0 -15
  1222. package/devices/wisdom.js.map +0 -1
  1223. package/devices/woolley.d.ts +0 -4
  1224. package/devices/woolley.d.ts.map +0 -1
  1225. package/devices/woolley.js +0 -88
  1226. package/devices/woolley.js.map +0 -1
  1227. package/devices/woox.d.ts +0 -4
  1228. package/devices/woox.d.ts.map +0 -1
  1229. package/devices/woox.js +0 -137
  1230. package/devices/woox.js.map +0 -1
  1231. package/devices/wyze.d.ts +0 -4
  1232. package/devices/wyze.d.ts.map +0 -1
  1233. package/devices/wyze.js +0 -63
  1234. package/devices/wyze.js.map +0 -1
  1235. package/devices/xinghuoyuan.d.ts +0 -4
  1236. package/devices/xinghuoyuan.d.ts.map +0 -1
  1237. package/devices/xinghuoyuan.js +0 -15
  1238. package/devices/xinghuoyuan.js.map +0 -1
  1239. package/devices/xyzroe.d.ts +0 -4
  1240. package/devices/xyzroe.d.ts.map +0 -1
  1241. package/devices/xyzroe.js +0 -519
  1242. package/devices/xyzroe.js.map +0 -1
  1243. package/devices/yale.d.ts +0 -4
  1244. package/devices/yale.d.ts.map +0 -1
  1245. package/devices/yale.js +0 -503
  1246. package/devices/yale.js.map +0 -1
  1247. package/devices/yandex.d.ts +0 -4
  1248. package/devices/yandex.d.ts.map +0 -1
  1249. package/devices/yandex.js +0 -410
  1250. package/devices/yandex.js.map +0 -1
  1251. package/devices/ynoa.d.ts +0 -4
  1252. package/devices/ynoa.d.ts.map +0 -1
  1253. package/devices/ynoa.js +0 -113
  1254. package/devices/ynoa.js.map +0 -1
  1255. package/devices/yookee.d.ts +0 -4
  1256. package/devices/yookee.d.ts.map +0 -1
  1257. package/devices/yookee.js +0 -63
  1258. package/devices/yookee.js.map +0 -1
  1259. package/devices/ysrsai.d.ts +0 -4
  1260. package/devices/ysrsai.d.ts.map +0 -1
  1261. package/devices/ysrsai.js +0 -66
  1262. package/devices/ysrsai.js.map +0 -1
  1263. package/devices/zemismart.d.ts +0 -4
  1264. package/devices/zemismart.d.ts.map +0 -1
  1265. package/devices/zemismart.js +0 -405
  1266. package/devices/zemismart.js.map +0 -1
  1267. package/devices/zen.d.ts +0 -4
  1268. package/devices/zen.d.ts.map +0 -1
  1269. package/devices/zen.js +0 -96
  1270. package/devices/zen.js.map +0 -1
  1271. package/devices/zigbeetlc.d.ts +0 -13
  1272. package/devices/zigbeetlc.d.ts.map +0 -1
  1273. package/devices/zigbeetlc.js +0 -201
  1274. package/devices/zigbeetlc.js.map +0 -1
  1275. package/devices/zipato.d.ts +0 -4
  1276. package/devices/zipato.d.ts.map +0 -1
  1277. package/devices/zipato.js +0 -15
  1278. package/devices/zipato.js.map +0 -1
  1279. package/index.d.ts +0 -21
  1280. package/index.d.ts.map +0 -1
  1281. package/index.js +0 -488
  1282. package/index.js.map +0 -1
  1283. package/lib/color.d.ts +0 -272
  1284. package/lib/color.d.ts.map +0 -1
  1285. package/lib/color.js +0 -765
  1286. package/lib/color.js.map +0 -1
  1287. package/lib/configureKey.d.ts +0 -3
  1288. package/lib/configureKey.d.ts.map +0 -1
  1289. package/lib/configureKey.js +0 -939
  1290. package/lib/configureKey.js.map +0 -1
  1291. package/lib/constants.d.ts +0 -68
  1292. package/lib/constants.d.ts.map +0 -1
  1293. package/lib/constants.js +0 -293
  1294. package/lib/constants.js.map +0 -1
  1295. package/lib/develco.d.ts +0 -15
  1296. package/lib/develco.d.ts.map +0 -1
  1297. package/lib/develco.js +0 -183
  1298. package/lib/develco.js.map +0 -1
  1299. package/lib/ewelink.d.ts +0 -7
  1300. package/lib/ewelink.d.ts.map +0 -1
  1301. package/lib/ewelink.js +0 -34
  1302. package/lib/ewelink.js.map +0 -1
  1303. package/lib/exposes.d.ts +0 -344
  1304. package/lib/exposes.d.ts.map +0 -1
  1305. package/lib/exposes.js +0 -1065
  1306. package/lib/exposes.js.map +0 -1
  1307. package/lib/generateDefinition.d.ts +0 -6
  1308. package/lib/generateDefinition.d.ts.map +0 -1
  1309. package/lib/generateDefinition.js +0 -356
  1310. package/lib/generateDefinition.js.map +0 -1
  1311. package/lib/ikea.d.ts +0 -39
  1312. package/lib/ikea.d.ts.map +0 -1
  1313. package/lib/ikea.js +0 -776
  1314. package/lib/ikea.js.map +0 -1
  1315. package/lib/kelvinToXy.d.ts +0 -8
  1316. package/lib/kelvinToXy.d.ts.map +0 -1
  1317. package/lib/kelvinToXy.js +0 -1914
  1318. package/lib/kelvinToXy.js.map +0 -1
  1319. package/lib/ledvance.d.ts +0 -20
  1320. package/lib/ledvance.d.ts.map +0 -1
  1321. package/lib/ledvance.js +0 -103
  1322. package/lib/ledvance.js.map +0 -1
  1323. package/lib/legacy.d.ts +0 -5128
  1324. package/lib/legacy.d.ts.map +0 -1
  1325. package/lib/legacy.js +0 -6603
  1326. package/lib/legacy.js.map +0 -1
  1327. package/lib/legrand.d.ts +0 -69
  1328. package/lib/legrand.d.ts.map +0 -1
  1329. package/lib/legrand.js +0 -282
  1330. package/lib/legrand.js.map +0 -1
  1331. package/lib/light.d.ts +0 -6
  1332. package/lib/light.d.ts.map +0 -1
  1333. package/lib/light.js +0 -146
  1334. package/lib/light.js.map +0 -1
  1335. package/lib/logger.d.ts +0 -4
  1336. package/lib/logger.d.ts.map +0 -1
  1337. package/lib/logger.js +0 -14
  1338. package/lib/logger.js.map +0 -1
  1339. package/lib/lumi.d.ts +0 -953
  1340. package/lib/lumi.d.ts.map +0 -1
  1341. package/lib/lumi.js +0 -4973
  1342. package/lib/lumi.js.map +0 -1
  1343. package/lib/modernExtend.d.ts +0 -325
  1344. package/lib/modernExtend.d.ts.map +0 -1
  1345. package/lib/modernExtend.js +0 -1995
  1346. package/lib/modernExtend.js.map +0 -1
  1347. package/lib/ota.d.ts +0 -71
  1348. package/lib/ota.d.ts.map +0 -1
  1349. package/lib/ota.js +0 -663
  1350. package/lib/ota.js.map +0 -1
  1351. package/lib/philips.d.ts +0 -84
  1352. package/lib/philips.d.ts.map +0 -1
  1353. package/lib/philips.js +0 -657
  1354. package/lib/philips.js.map +0 -1
  1355. package/lib/reporting.d.ts +0 -58
  1356. package/lib/reporting.d.ts.map +0 -1
  1357. package/lib/reporting.js +0 -336
  1358. package/lib/reporting.js.map +0 -1
  1359. package/lib/store.d.ts +0 -7
  1360. package/lib/store.d.ts.map +0 -1
  1361. package/lib/store.js +0 -56
  1362. package/lib/store.js.map +0 -1
  1363. package/lib/tuya.d.ts +0 -764
  1364. package/lib/tuya.d.ts.map +0 -1
  1365. package/lib/tuya.js +0 -2425
  1366. package/lib/tuya.js.map +0 -1
  1367. package/lib/types.d.ts +0 -433
  1368. package/lib/types.d.ts.map +0 -1
  1369. package/lib/types.js +0 -4
  1370. package/lib/types.js.map +0 -1
  1371. package/lib/ubisys.d.ts +0 -19
  1372. package/lib/ubisys.d.ts.map +0 -1
  1373. package/lib/ubisys.js +0 -293
  1374. package/lib/ubisys.js.map +0 -1
  1375. package/lib/utils.d.ts +0 -93
  1376. package/lib/utils.d.ts.map +0 -1
  1377. package/lib/utils.js +0 -790
  1378. package/lib/utils.js.map +0 -1
  1379. package/lib/zosung.d.ts +0 -52
  1380. package/lib/zosung.d.ts.map +0 -1
  1381. package/lib/zosung.js +0 -256
  1382. package/lib/zosung.js.map +0 -1
package/devices/bosch.js DELETED
@@ -1,2048 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const zigbee_herdsman_1 = require("zigbee-herdsman");
40
- const fromZigbee_1 = __importDefault(require("../converters/fromZigbee"));
41
- const toZigbee_1 = __importDefault(require("../converters/toZigbee"));
42
- const constants = __importStar(require("../lib/constants"));
43
- const exposes = __importStar(require("../lib/exposes"));
44
- const logger_1 = require("../lib/logger");
45
- const modernExtend_1 = require("../lib/modernExtend");
46
- const reporting = __importStar(require("../lib/reporting"));
47
- const globalStore = __importStar(require("../lib/store"));
48
- const utils = __importStar(require("../lib/utils"));
49
- const e = exposes.presets;
50
- const ea = exposes.access;
51
- const NS = 'zhc:bosch';
52
- const manufacturerOptions = { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH };
53
- const sirenVolume = {
54
- low: 0x01,
55
- medium: 0x02,
56
- high: 0x03,
57
- };
58
- const sirenLight = {
59
- only_light: 0x00,
60
- only_siren: 0x01,
61
- siren_and_light: 0x02,
62
- };
63
- const outdoorSirenState = {
64
- ON: 0x07,
65
- OFF: 0x00,
66
- };
67
- const sirenPowerSupply = {
68
- solar_panel: 0x01,
69
- ac_power_supply: 0x02,
70
- dc_power_supply: 0x03,
71
- };
72
- // Universal Switch II
73
- const buttonMap = {
74
- config_led_top_left_press: 0x10,
75
- config_led_top_right_press: 0x11,
76
- config_led_bottom_left_press: 0x12,
77
- config_led_bottom_right_press: 0x13,
78
- config_led_top_left_longpress: 0x20,
79
- config_led_top_right_longpress: 0x21,
80
- config_led_bottom_left_longpress: 0x22,
81
- config_led_bottom_right_longpress: 0x23,
82
- };
83
- // Universal Switch II
84
- const labelShortPress = `Specifies LED color (rgb) and pattern on short press as hex string.
85
- 0-2: RGB value (e.g. ffffff = white)
86
- 3: Light position (01=top, 02=bottom, 00=full)
87
- 4-7: Durations for sequence fade-in -> on -> fade-out -> off (e.g. 01020102)
88
- 8: Number of Repetitions (01=1 to ff=255)
89
- Example: ff1493000104010001`;
90
- // Universal Switch II
91
- const labelLongPress = `Specifies LED color (rgb) and pattern on long press as hex string.
92
- 0-2: RGB value (e.g. ffffff = white)
93
- 3: Light position (01=top, 02=bottom, 00=full)
94
- 4-7: Durations for sequence fade-in -> on -> fade-out -> off (e.g. 01020102)
95
- 8: Number of Repetitions (01=1 to ff=255)
96
- Example: ff4200000502050001`;
97
- // Universal Switch II
98
- const labelConfirmation = `Specifies LED color (rgb) and pattern of the confirmation response as hex string.
99
- 0-2: RGB value (e.g. ffffff = white)
100
- 3: Light position (01=top, 02=bottom, 00=full)
101
- 4-7: Durations for sequence fade-in -> on -> fade-out -> off (e.g. 01020102)
102
- 8: Number of Repetitions (01=1 to ff=255)
103
- Example: 30ff00000102010001`;
104
- const boschExtend = {
105
- hvacThermostatCluster: () => (0, modernExtend_1.deviceAddCustomCluster)('hvacThermostat', {
106
- ID: zigbee_herdsman_1.Zcl.Clusters.hvacThermostat.ID,
107
- attributes: {
108
- operatingMode: {
109
- ID: 0x4007,
110
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
111
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
112
- },
113
- heatingDemand: {
114
- ID: 0x4020,
115
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
116
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
117
- },
118
- valveAdaptStatus: {
119
- ID: 0x4022,
120
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
121
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
122
- },
123
- remoteTemperature: {
124
- ID: 0x4040,
125
- type: zigbee_herdsman_1.Zcl.DataType.INT16,
126
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
127
- },
128
- windowDetection: {
129
- ID: 0x4042,
130
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
131
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
132
- },
133
- boostHeating: {
134
- ID: 0x4043,
135
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
136
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
137
- },
138
- },
139
- commands: {
140
- calibrateValve: {
141
- ID: 0x41,
142
- parameters: [],
143
- },
144
- },
145
- commandsResponse: {},
146
- }),
147
- hvacUserInterfaceCfgCluster: () => (0, modernExtend_1.deviceAddCustomCluster)('hvacUserInterfaceCfg', {
148
- ID: zigbee_herdsman_1.Zcl.Clusters.hvacUserInterfaceCfg.ID,
149
- attributes: {
150
- displayOrientation: {
151
- ID: 0x400b,
152
- type: zigbee_herdsman_1.Zcl.DataType.UINT8,
153
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
154
- },
155
- displayedTemperature: {
156
- ID: 0x4039,
157
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
158
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
159
- },
160
- displayOntime: {
161
- ID: 0x403a,
162
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
163
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
164
- },
165
- displayBrightness: {
166
- ID: 0x403b,
167
- type: zigbee_herdsman_1.Zcl.DataType.ENUM8,
168
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
169
- },
170
- },
171
- commands: {},
172
- commandsResponse: {},
173
- }),
174
- operatingMode: () => (0, modernExtend_1.enumLookup)({
175
- name: 'operating_mode',
176
- cluster: 'hvacThermostat',
177
- attribute: 'operatingMode',
178
- reporting: { min: '10_SECONDS', max: 'MAX', change: null },
179
- description: 'Bosch-specific operating mode (overrides system mode)',
180
- lookup: { schedule: 0x00, manual: 0x01, pause: 0x05 },
181
- zigbeeCommandOptions: manufacturerOptions,
182
- }),
183
- windowDetection: () => (0, modernExtend_1.binary)({
184
- name: 'window_detection',
185
- cluster: 'hvacThermostat',
186
- attribute: 'windowDetection',
187
- description: 'Enable/disable window open (Lo.) mode',
188
- valueOn: ['ON', 0x01],
189
- valueOff: ['OFF', 0x00],
190
- zigbeeCommandOptions: manufacturerOptions,
191
- }),
192
- boostHeating: () => (0, modernExtend_1.binary)({
193
- name: 'boost_heating',
194
- cluster: 'hvacThermostat',
195
- attribute: 'boostHeating',
196
- reporting: { min: '10_SECONDS', max: 'MAX', change: null, attribute: 'boostHeating' },
197
- description: 'Activate boost heating (5 min. on TRV)',
198
- valueOn: ['ON', 0x01],
199
- valueOff: ['OFF', 0x00],
200
- zigbeeCommandOptions: manufacturerOptions,
201
- }),
202
- childLock: () => (0, modernExtend_1.binary)({
203
- name: 'child_lock',
204
- cluster: 'hvacUserInterfaceCfg',
205
- attribute: 'keypadLockout',
206
- description: 'Enables/disables physical input on the device',
207
- valueOn: ['LOCK', 0x01],
208
- valueOff: ['UNLOCK', 0x00],
209
- }),
210
- displayOntime: () => (0, modernExtend_1.numeric)({
211
- name: 'display_ontime',
212
- cluster: 'hvacUserInterfaceCfg',
213
- attribute: 'displayOntime',
214
- description: 'Sets the display on-time',
215
- valueMin: 5,
216
- valueMax: 30,
217
- unit: 's',
218
- zigbeeCommandOptions: manufacturerOptions,
219
- }),
220
- displayBrightness: () => (0, modernExtend_1.numeric)({
221
- name: 'display_brightness',
222
- cluster: 'hvacUserInterfaceCfg',
223
- attribute: 'displayBrightness',
224
- description: 'Sets brightness of the display',
225
- valueMin: 0,
226
- valueMax: 10,
227
- zigbeeCommandOptions: manufacturerOptions,
228
- }),
229
- valveAdaptProcess: () => {
230
- const adaptationStatus = {
231
- none: 0x00,
232
- ready_to_calibrate: 0x01,
233
- calibration_in_progress: 0x02,
234
- error: 0x03,
235
- success: 0x04,
236
- };
237
- const exposes = [
238
- e
239
- .binary('valve_adapt_process', ea.ALL, true, false)
240
- .withLabel('Trigger adaptation process')
241
- .withDescription('Trigger the valve adaptation process. Only possible when adaptation status is "ready_to_calibrate" or "error".')
242
- .withCategory('config'),
243
- ];
244
- const fromZigbee = [
245
- {
246
- cluster: 'hvacThermostat',
247
- type: ['attributeReport', 'readResponse'],
248
- convert: (model, msg, publish, options, meta) => {
249
- const result = {};
250
- if (msg.data.valveAdaptStatus !== undefined) {
251
- if (msg.data['valveAdaptStatus'] === adaptationStatus.calibration_in_progress) {
252
- result.valve_adapt_process = true;
253
- }
254
- else {
255
- result.valve_adapt_process = false;
256
- }
257
- }
258
- return result;
259
- },
260
- },
261
- ];
262
- const toZigbee = [
263
- {
264
- key: ['valve_adapt_process'],
265
- convertSet: async (entity, key, value, meta) => {
266
- if (value == true) {
267
- const adaptStatus = utils.getFromLookup(meta.state.valve_adapt_status, adaptationStatus);
268
- switch (adaptStatus) {
269
- case adaptationStatus.ready_to_calibrate:
270
- case adaptationStatus.error:
271
- await entity.command('hvacThermostat', 'calibrateValve', {}, manufacturerOptions);
272
- break;
273
- default:
274
- throw new Error('Valve adaptation process not possible right now.');
275
- }
276
- }
277
- return { state: { valve_adapt_process: value } };
278
- },
279
- convertGet: async (entity, key, meta) => {
280
- await entity.read('hvacThermostat', ['valveAdaptStatus'], manufacturerOptions);
281
- },
282
- },
283
- ];
284
- return {
285
- exposes,
286
- fromZigbee,
287
- toZigbee,
288
- isModernExtend: true,
289
- };
290
- },
291
- heatingDemand: () => {
292
- const fromZigbee = [
293
- {
294
- cluster: 'hvacThermostat',
295
- type: ['attributeReport', 'readResponse'],
296
- convert: (model, msg, publish, options, meta) => {
297
- const result = {};
298
- if (msg.data.heatingDemand !== undefined) {
299
- const demand = msg.data['heatingDemand'];
300
- result.pi_heating_demand = demand;
301
- result.running_state = demand > 0 ? 'heat' : 'idle';
302
- }
303
- return result;
304
- },
305
- },
306
- ];
307
- const toZigbee = [
308
- {
309
- key: ['pi_heating_demand'],
310
- convertSet: async (entity, key, value, meta) => {
311
- if (key === 'pi_heating_demand') {
312
- let demand = utils.toNumber(value, key);
313
- demand = utils.numberWithinRange(demand, 0, 100);
314
- await entity.write('hvacThermostat', { heatingDemand: demand }, manufacturerOptions);
315
- return { state: { pi_heating_demand: demand } };
316
- }
317
- },
318
- convertGet: async (entity, key, meta) => {
319
- await entity.read('hvacThermostat', ['heatingDemand'], manufacturerOptions);
320
- },
321
- },
322
- {
323
- key: ['running_state'],
324
- convertGet: async (entity, key, meta) => {
325
- await entity.read('hvacThermostat', ['heatingDemand'], manufacturerOptions);
326
- },
327
- },
328
- ];
329
- return {
330
- fromZigbee,
331
- toZigbee,
332
- isModernExtend: true,
333
- };
334
- },
335
- ignoreDst: () => {
336
- const fromZigbee = [
337
- {
338
- cluster: 'genTime',
339
- type: 'read',
340
- convert: async (model, msg, publish, options, meta) => {
341
- if (msg.data.includes('dstStart', 'dstEnd', 'dstShift')) {
342
- const response = {
343
- dstStart: { attribute: 0x0003, status: zigbee_herdsman_1.Zcl.Status.SUCCESS, value: 0x00 },
344
- dstEnd: { attribute: 0x0004, status: zigbee_herdsman_1.Zcl.Status.SUCCESS, value: 0x00 },
345
- dstShift: { attribute: 0x0005, status: zigbee_herdsman_1.Zcl.Status.SUCCESS, value: 0x00 },
346
- };
347
- await msg.endpoint.readResponse(msg.cluster, msg.meta.zclTransactionSequenceNumber, response);
348
- }
349
- },
350
- },
351
- ];
352
- return {
353
- fromZigbee,
354
- isModernExtend: true,
355
- };
356
- },
357
- doorWindowContact: (hasVibrationSensor) => {
358
- const exposes = [
359
- e.binary('contact', ea.STATE, false, true).withDescription('Indicates whether the device is opened or closed'),
360
- e
361
- .enum('action', ea.STATE, ['none', 'single', 'long'])
362
- .withDescription('Triggered action (e.g. a button click)')
363
- .withCategory('diagnostic'),
364
- ];
365
- if (hasVibrationSensor) {
366
- exposes.push(e.binary('vibration', ea.STATE, true, false).withDescription('Indicates whether the device detected vibration'));
367
- }
368
- const fromZigbee = [
369
- {
370
- cluster: 'ssIasZone',
371
- type: ['commandStatusChangeNotification', 'attributeReport', 'readResponse'],
372
- convert: (model, msg, publish, options, meta) => {
373
- if (msg.data.zoneStatus !== undefined || msg.data.zonestatus !== undefined) {
374
- const zoneStatus = msg.type === 'commandStatusChangeNotification' ? msg.data.zonestatus : msg.data.zoneStatus;
375
- const lookup = { 0x00: 'none', 0x01: 'single', 0x02: 'long' };
376
- const result = {
377
- contact: !((zoneStatus & 1) > 0),
378
- vibration: (zoneStatus & (1 << 1)) > 0,
379
- tamper: (zoneStatus & (1 << 2)) > 0,
380
- battery_low: (zoneStatus & (1 << 3)) > 0,
381
- supervision_reports: (zoneStatus & (1 << 4)) > 0,
382
- restore_reports: (zoneStatus & (1 << 5)) > 0,
383
- trouble: (zoneStatus & (1 << 6)) > 0,
384
- ac_status: (zoneStatus & (1 << 7)) > 0,
385
- test: (zoneStatus & (1 << 8)) > 0,
386
- battery_defect: (zoneStatus & (1 << 9)) > 0,
387
- action: lookup[(zoneStatus >> 11) & 3],
388
- };
389
- if (result.action === 'none')
390
- delete result.action;
391
- return result;
392
- }
393
- },
394
- },
395
- ];
396
- return {
397
- exposes,
398
- fromZigbee,
399
- isModernExtend: true,
400
- };
401
- },
402
- smokeAlarm: () => {
403
- const smokeAlarm = {
404
- OFF: 0x0000,
405
- ON: 0x3c00, // 15360 or 46080 works
406
- };
407
- const burglarAlarm = {
408
- OFF: 0x0001,
409
- ON: 0xb401, // 46081
410
- };
411
- const exposes = [
412
- e.binary('smoke', ea.STATE, true, false).withDescription('Indicates whether the device detected smoke'),
413
- e
414
- .binary('test', ea.STATE, true, false)
415
- .withDescription('Indicates whether the device is currently performing a test')
416
- .withCategory('diagnostic'),
417
- e.binary('alarm_smoke', ea.ALL, true, false).withDescription('Toggle the smoke alarm siren').withCategory('config'),
418
- e.binary('alarm_burglar', ea.ALL, true, false).withDescription('Toggle the burglar alarm siren').withCategory('config'),
419
- ];
420
- const fromZigbee = [
421
- {
422
- cluster: 'ssIasZone',
423
- type: ['commandStatusChangeNotification', 'attributeReport', 'readResponse'],
424
- convert: (model, msg, publish, options, meta) => {
425
- if (msg.data.zoneStatus !== undefined || msg.data.zonestatus !== undefined) {
426
- const zoneStatus = msg.type === 'commandStatusChangeNotification' ? msg.data.zonestatus : msg.data.zoneStatus;
427
- return {
428
- smoke: (zoneStatus & 1) > 0,
429
- alarm_smoke: (zoneStatus & (1 << 1)) > 0,
430
- battery_low: (zoneStatus & (1 << 3)) > 0,
431
- supervision_reports: (zoneStatus & (1 << 4)) > 0,
432
- restore_reports: (zoneStatus & (1 << 5)) > 0,
433
- alarm_burglar: (zoneStatus & (1 << 7)) > 0,
434
- test: (zoneStatus & (1 << 8)) > 0,
435
- alarm_silenced: (zoneStatus & (1 << 11)) > 0,
436
- };
437
- }
438
- },
439
- },
440
- ];
441
- const toZigbee = [
442
- {
443
- key: ['alarm_smoke', 'alarm_burglar'],
444
- convertSet: async (entity, key, value, meta) => {
445
- if (key === 'alarm_smoke') {
446
- let transformedValue = 'OFF';
447
- if (value === true) {
448
- transformedValue = 'ON';
449
- }
450
- const index = utils.getFromLookup(transformedValue, smokeAlarm);
451
- await entity.command('ssIasZone', 'boschSmokeAlarmSiren', { data: index }, manufacturerOptions);
452
- return { state: { alarm_smoke: value } };
453
- }
454
- if (key === 'alarm_burglar') {
455
- let transformedValue = 'OFF';
456
- if (value === true) {
457
- transformedValue = 'ON';
458
- }
459
- const index = utils.getFromLookup(transformedValue, burglarAlarm);
460
- await entity.command('ssIasZone', 'boschSmokeAlarmSiren', { data: index }, manufacturerOptions);
461
- return { state: { alarm_burglar: value } };
462
- }
463
- },
464
- convertGet: async (entity, key, meta) => {
465
- switch (key) {
466
- case 'alarm_smoke':
467
- case 'alarm_burglar':
468
- case 'zone_status':
469
- await entity.read('ssIasZone', ['zoneStatus']);
470
- break;
471
- default:
472
- throw new Error(`Unhandled key boschExtend.smokeAlarm.toZigbee.convertGet ${key}`);
473
- }
474
- },
475
- },
476
- ];
477
- return {
478
- exposes,
479
- fromZigbee,
480
- toZigbee,
481
- isModernExtend: true,
482
- };
483
- },
484
- broadcastAlarm: () => {
485
- const sirenState = {
486
- smoke_off: 0x0000,
487
- smoke_on: 0x3c00,
488
- burglar_off: 0x0001,
489
- burglar_on: 0xb401,
490
- };
491
- const exposes = [
492
- e
493
- .enum('broadcast_alarm', ea.SET, Object.keys(sirenState))
494
- .withDescription('Set siren state of all BSD-2 via broadcast')
495
- .withCategory('config'),
496
- ];
497
- const toZigbee = [
498
- {
499
- key: ['broadcast_alarm'],
500
- convertSet: async (entity, key, value, meta) => {
501
- if (key === 'broadcast_alarm') {
502
- const index = utils.getFromLookup(value, sirenState);
503
- utils.assertEndpoint(entity);
504
- await entity.zclCommandBroadcast(255, zigbee_herdsman_1.ZSpec.BroadcastAddress.SLEEPY, zigbee_herdsman_1.Zcl.Clusters.ssIasZone.ID, 'boschSmokeAlarmSiren', { data: index }, manufacturerOptions);
505
- return;
506
- }
507
- },
508
- },
509
- ];
510
- return {
511
- exposes,
512
- toZigbee,
513
- isModernExtend: true,
514
- };
515
- },
516
- twinguard: () => {
517
- const smokeSensitivity = {
518
- low: 0x03,
519
- medium: 0x02,
520
- high: 0x01,
521
- };
522
- const sirenState = {
523
- stop: 0x00,
524
- pre_alarm: 0x01,
525
- fire: 0x02,
526
- burglar: 0x03,
527
- };
528
- const stateOffOn = {
529
- OFF: 0x00,
530
- ON: 0x01,
531
- };
532
- const exposes = [
533
- e.binary('smoke', ea.STATE, true, false).withDescription('Indicates whether the device detected smoke'),
534
- e
535
- .numeric('temperature', ea.STATE)
536
- .withValueMin(0)
537
- .withValueMax(65)
538
- .withValueStep(0.1)
539
- .withUnit('°C')
540
- .withDescription('Measured temperature value'),
541
- e
542
- .numeric('humidity', ea.STATE)
543
- .withValueMin(0)
544
- .withValueMax(100)
545
- .withValueStep(0.1)
546
- .withUnit('%')
547
- .withDescription('Measured relative humidity'),
548
- e
549
- .numeric('voc', ea.STATE)
550
- .withValueMin(0)
551
- .withValueMax(50000)
552
- .withValueStep(1)
553
- .withLabel('VOC')
554
- .withUnit('µg/m³')
555
- .withDescription('Measured VOC value'),
556
- e
557
- .numeric('co2', ea.STATE)
558
- .withValueMin(400)
559
- .withValueMax(2400)
560
- .withValueStep(1)
561
- .withLabel('CO2')
562
- .withUnit('ppm')
563
- .withDescription('The measured CO2 (carbon dioxide) value'),
564
- e.numeric('aqi', ea.STATE).withValueMin(0).withValueMax(500).withValueStep(1).withLabel('AQI').withDescription('Air Quality Index'),
565
- e.illuminance(),
566
- e
567
- .numeric('battery', ea.STATE)
568
- .withUnit('%')
569
- .withValueMin(0)
570
- .withValueMax(100)
571
- .withDescription('Remaining battery in %')
572
- .withCategory('diagnostic'),
573
- e.text('siren_state', ea.STATE).withDescription('Siren state').withCategory('diagnostic'),
574
- e.enum('alarm', ea.ALL, Object.keys(sirenState)).withDescription('Alarm mode for siren'),
575
- e.binary('self_test', ea.ALL, true, false).withDescription('Initiate self-test').withCategory('config'),
576
- e.enum('sensitivity', ea.ALL, Object.keys(smokeSensitivity)).withDescription('Sensitivity of the smoke detector').withCategory('config'),
577
- e.binary('pre_alarm', ea.ALL, 'ON', 'OFF').withDescription('Enable/disable pre-alarm').withCategory('config'),
578
- e.binary('heartbeat', ea.ALL, 'ON', 'OFF').withDescription('Enable/disable heartbeat (blue LED)').withCategory('config'),
579
- ];
580
- const fromZigbee = [
581
- {
582
- cluster: 'twinguardSmokeDetector',
583
- type: ['attributeReport', 'readResponse'],
584
- convert: (model, msg, publish, options, meta) => {
585
- const result = {};
586
- if (msg.data.sensitivity !== undefined) {
587
- result.sensitivity = Object.keys(smokeSensitivity)[msg.data['sensitivity']];
588
- }
589
- return result;
590
- },
591
- },
592
- {
593
- cluster: 'twinguardMeasurements',
594
- type: ['attributeReport', 'readResponse'],
595
- convert: (model, msg, publish, options, meta) => {
596
- const result = {};
597
- if (msg.data.humidity !== undefined) {
598
- const humidity = utils.toNumber(msg.data['humidity']) / 100.0;
599
- if (utils.isInRange(0, 100, humidity)) {
600
- result.humidity = humidity;
601
- }
602
- }
603
- if (msg.data.airpurity !== undefined) {
604
- const iaq = utils.toNumber(msg.data['airpurity']);
605
- result.aqi = iaq;
606
- let factorVoc = 6;
607
- let factorCo2 = 2;
608
- if (iaq >= 51 && iaq <= 100) {
609
- factorVoc = 10;
610
- factorCo2 = 4;
611
- }
612
- else if (iaq >= 101 && iaq <= 150) {
613
- factorVoc = 20;
614
- factorCo2 = 4;
615
- }
616
- else if (iaq >= 151 && iaq <= 200) {
617
- factorVoc = 50;
618
- factorCo2 = 4;
619
- }
620
- else if (iaq >= 201 && iaq <= 250) {
621
- factorVoc = 100;
622
- factorCo2 = 4;
623
- }
624
- else if (iaq >= 251) {
625
- factorVoc = 100;
626
- factorCo2 = 4;
627
- }
628
- result.voc = iaq * factorVoc;
629
- result.co2 = iaq * factorCo2 + 400;
630
- }
631
- if (msg.data.temperature !== undefined) {
632
- result.temperature = utils.toNumber(msg.data['temperature']) / 100.0;
633
- }
634
- if (msg.data.illuminance !== undefined) {
635
- result.illuminance = utils.precisionRound(msg.data['illuminance'] / 2, 2);
636
- }
637
- if (msg.data.battery !== undefined) {
638
- result.battery = utils.precisionRound(msg.data['battery'] / 2, 2);
639
- }
640
- return result;
641
- },
642
- },
643
- {
644
- cluster: 'twinguardOptions',
645
- type: ['attributeReport', 'readResponse'],
646
- convert: (model, msg, publish, options, meta) => {
647
- const result = {};
648
- if (msg.data.pre_alarm !== undefined) {
649
- result.pre_alarm = Object.keys(stateOffOn)[msg.data['pre_alarm']];
650
- }
651
- return result;
652
- },
653
- },
654
- {
655
- cluster: 'twinguardSetup',
656
- type: ['attributeReport', 'readResponse'],
657
- convert: (model, msg, publish, options, meta) => {
658
- const result = {};
659
- if (msg.data.heartbeat !== undefined) {
660
- result.heartbeat = Object.keys(stateOffOn)[msg.data['heartbeat']];
661
- }
662
- return result;
663
- },
664
- },
665
- {
666
- cluster: 'twinguardAlarm',
667
- type: ['attributeReport', 'readResponse'],
668
- convert: (model, msg, publish, options, meta) => {
669
- const result = {};
670
- const lookup = {
671
- 0x00200020: 'clear',
672
- 0x01200020: 'self_test',
673
- 0x02200020: 'burglar',
674
- 0x00200082: 'pre_alarm',
675
- 0x00200081: 'fire',
676
- 0x00200040: 'silenced',
677
- };
678
- if (msg.data.alarm_status !== undefined) {
679
- result.self_test = (msg.data['alarm_status'] & (1 << 24)) > 0;
680
- result.smoke = (msg.data['alarm_status'] & (1 << 7)) > 0;
681
- result.siren_state = lookup[msg.data['alarm_status']];
682
- }
683
- return result;
684
- },
685
- },
686
- {
687
- cluster: 'genAlarms',
688
- type: ['commandAlarm', 'readResponse'],
689
- convert: async (model, msg, publish, options, meta) => {
690
- const result = {};
691
- const lookup = {
692
- 0x10: 'fire',
693
- 0x11: 'pre_alarm',
694
- 0x14: 'clear',
695
- 0x16: 'silenced',
696
- };
697
- result.siren_state = lookup[msg.data.alarmcode];
698
- if (msg.data.alarmcode == 0x10 || msg.data.alarmcode == 0x11) {
699
- await msg.endpoint.commandResponse('genAlarms', 'alarm', { alarmcode: msg.data.alarmcode, clusterid: 0xe000 }, { direction: 1 });
700
- }
701
- return result;
702
- },
703
- },
704
- ];
705
- const toZigbee = [
706
- {
707
- key: ['sensitivity', 'pre_alarm', 'self_test', 'alarm', 'heartbeat'],
708
- convertSet: async (entity, key, value, meta) => {
709
- if (key === 'sensitivity') {
710
- const index = utils.getFromLookup(value, smokeSensitivity);
711
- await entity.write('twinguardSmokeDetector', { sensitivity: index }, manufacturerOptions);
712
- return { state: { sensitivity: value } };
713
- }
714
- if (key === 'pre_alarm') {
715
- const index = utils.getFromLookup(value, stateOffOn);
716
- await entity.write('twinguardOptions', { pre_alarm: index }, manufacturerOptions);
717
- return { state: { pre_alarm: value } };
718
- }
719
- if (key === 'heartbeat') {
720
- const endpoint = meta.device.getEndpoint(12);
721
- const index = utils.getFromLookup(value, stateOffOn);
722
- await endpoint.write('twinguardSetup', { heartbeat: index }, manufacturerOptions);
723
- return { state: { heartbeat: value } };
724
- }
725
- if (key === 'self_test') {
726
- if (value) {
727
- await entity.command('twinguardSmokeDetector', 'initiateTestMode', manufacturerOptions);
728
- }
729
- }
730
- if (key === 'alarm') {
731
- const endpoint = meta.device.getEndpoint(12);
732
- const index = utils.getFromLookup(value, sirenState);
733
- utils.assertEndpoint(entity);
734
- if (index == 0x00) {
735
- await entity.commandResponse('genAlarms', 'alarm', { alarmcode: 0x16, clusterid: 0xe000 }, { direction: 1 });
736
- await entity.commandResponse('genAlarms', 'alarm', { alarmcode: 0x14, clusterid: 0xe000 }, { direction: 1 });
737
- await endpoint.command('twinguardAlarm', 'burglarAlarm', { data: 0x00 }, manufacturerOptions);
738
- }
739
- else if (index == 0x01) {
740
- await entity.commandResponse('genAlarms', 'alarm', { alarmcode: 0x11, clusterid: 0xe000 }, { direction: 1 });
741
- return { state: { siren_state: 'pre_alarm' } };
742
- }
743
- else if (index == 0x02) {
744
- await entity.commandResponse('genAlarms', 'alarm', { alarmcode: 0x10, clusterid: 0xe000 }, { direction: 1 });
745
- return { state: { siren_state: 'fire' } };
746
- }
747
- else if (index == 0x03) {
748
- await endpoint.command('twinguardAlarm', 'burglarAlarm', { data: 0x01 }, manufacturerOptions);
749
- }
750
- }
751
- },
752
- convertGet: async (entity, key, meta) => {
753
- switch (key) {
754
- case 'sensitivity':
755
- await entity.read('twinguardSmokeDetector', ['sensitivity'], manufacturerOptions);
756
- break;
757
- case 'pre_alarm':
758
- await entity.read('twinguardOptions', ['pre_alarm'], manufacturerOptions);
759
- break;
760
- case 'heartbeat':
761
- await meta.device.getEndpoint(12).read('twinguardSetup', ['heartbeat'], manufacturerOptions);
762
- break;
763
- case 'alarm':
764
- case 'self_test':
765
- await meta.device.getEndpoint(12).read('twinguardAlarm', ['alarm_status'], manufacturerOptions);
766
- break;
767
- default:
768
- throw new Error(`Unhandled key boschExtend.twinguard.toZigbee.convertGet ${key}`);
769
- }
770
- },
771
- },
772
- ];
773
- return {
774
- exposes,
775
- fromZigbee,
776
- toZigbee,
777
- isModernExtend: true,
778
- };
779
- },
780
- bmct: () => {
781
- const stateDeviceMode = {
782
- light: 0x04,
783
- shutter: 0x01,
784
- disabled: 0x00,
785
- };
786
- const stateMotor = {
787
- stopped: 0x00,
788
- opening: 0x01,
789
- closing: 0x02,
790
- };
791
- const stateSwitchType = {
792
- button: 0x01,
793
- button_key_change: 0x02,
794
- rocker_switch: 0x03,
795
- rocker_switch_key_change: 0x04,
796
- };
797
- const stateOffOn = {
798
- OFF: 0x00,
799
- ON: 0x01,
800
- };
801
- const fromZigbee = [
802
- fromZigbee_1.default.on_off,
803
- fromZigbee_1.default.power_on_behavior,
804
- fromZigbee_1.default.cover_position_tilt,
805
- {
806
- cluster: 'boschSpecific',
807
- type: ['attributeReport', 'readResponse'],
808
- convert: (model, msg, publish, options, meta) => {
809
- const result = {};
810
- const data = msg.data;
811
- if (data.deviceMode !== undefined) {
812
- result.device_mode = Object.keys(stateDeviceMode).find((key) => stateDeviceMode[key] === msg.data['deviceMode']);
813
- const deviceMode = msg.data['deviceMode'];
814
- if (deviceMode !== meta.device.meta.deviceMode) {
815
- meta.device.meta.deviceMode = deviceMode;
816
- meta.deviceExposesChanged();
817
- }
818
- }
819
- if (data.switchType !== undefined) {
820
- result.switch_type = Object.keys(stateSwitchType).find((key) => stateSwitchType[key] === msg.data['switchType']);
821
- }
822
- if (data.calibrationOpeningTime !== undefined) {
823
- result.calibration_opening_time = msg.data['calibrationOpeningTime'] / 10;
824
- }
825
- if (data.calibrationClosingTime !== undefined) {
826
- result.calibration_closing_time = msg.data['calibrationClosingTime'] / 10;
827
- }
828
- if (data.calibrationButtonHoldTime !== undefined) {
829
- result.calibration_button_hold_time = msg.data['calibrationButtonHoldTime'] / 10;
830
- }
831
- if (data.calibrationMotorStartDelay !== undefined) {
832
- result.calibration_motor_start_delay = msg.data['calibrationMotorStartDelay'] / 10;
833
- }
834
- if (data.childLock !== undefined) {
835
- const property = utils.postfixWithEndpointName('child_lock', msg, model, meta);
836
- result[property] = msg.data['childLock'] === 1 ? 'ON' : 'OFF';
837
- }
838
- if (data.motorState !== undefined) {
839
- result.motor_state = Object.keys(stateMotor).find((key) => stateMotor[key] === msg.data['motorState']);
840
- }
841
- return result;
842
- },
843
- },
844
- ];
845
- const toZigbee = [
846
- toZigbee_1.default.power_on_behavior,
847
- toZigbee_1.default.cover_position_tilt,
848
- {
849
- key: ['device_mode', 'switch_type', 'child_lock', 'state', 'on_time', 'off_wait_time'],
850
- convertSet: async (entity, key, value, meta) => {
851
- if (key === 'state') {
852
- if ('ID' in entity && entity.ID === 1) {
853
- await toZigbee_1.default.cover_state.convertSet(entity, key, value, meta);
854
- }
855
- else {
856
- await toZigbee_1.default.on_off.convertSet(entity, key, value, meta);
857
- }
858
- }
859
- if (key === 'on_time' || key === 'on_wait_time') {
860
- if ('ID' in entity && entity.ID !== 1) {
861
- await toZigbee_1.default.on_off.convertSet(entity, key, value, meta);
862
- }
863
- }
864
- if (key === 'device_mode') {
865
- const index = utils.getFromLookup(value, stateDeviceMode);
866
- await entity.write('boschSpecific', { deviceMode: index });
867
- await entity.read('boschSpecific', ['deviceMode']);
868
- return { state: { device_mode: value } };
869
- }
870
- if (key === 'switch_type') {
871
- const index = utils.getFromLookup(value, stateSwitchType);
872
- await entity.write('boschSpecific', { switchType: index });
873
- return { state: { switch_type: value } };
874
- }
875
- if (key === 'child_lock') {
876
- const index = utils.getFromLookup(value, stateOffOn);
877
- await entity.write('boschSpecific', { childLock: index });
878
- return { state: { child_lock: value } };
879
- }
880
- },
881
- convertGet: async (entity, key, meta) => {
882
- switch (key) {
883
- case 'state':
884
- case 'on_time':
885
- case 'off_wait_time':
886
- if ('ID' in entity && entity.ID !== 1) {
887
- await entity.read('genOnOff', ['onOff']);
888
- }
889
- break;
890
- case 'device_mode':
891
- await entity.read('boschSpecific', ['deviceMode']);
892
- break;
893
- case 'switch_type':
894
- await entity.read('boschSpecific', ['switchType']);
895
- break;
896
- case 'child_lock':
897
- await entity.read('boschSpecific', ['childLock']);
898
- break;
899
- default:
900
- throw new Error(`Unhandled key boschExtend.bmct.toZigbee.convertGet ${key}`);
901
- }
902
- },
903
- },
904
- {
905
- key: ['calibration_closing_time', 'calibration_opening_time', 'calibration_button_hold_time', 'calibration_motor_start_delay'],
906
- convertSet: async (entity, key, value, meta) => {
907
- if (key === 'calibration_opening_time') {
908
- const number = utils.toNumber(value, 'calibration_opening_time');
909
- const index = number * 10;
910
- await entity.write('boschSpecific', { calibrationOpeningTime: index });
911
- return { state: { calibration_opening_time: number } };
912
- }
913
- if (key === 'calibration_closing_time') {
914
- const number = utils.toNumber(value, 'calibration_closing_time');
915
- const index = number * 10;
916
- await entity.write('boschSpecific', { calibrationClosingTime: index });
917
- return { state: { calibration_closing_time: number } };
918
- }
919
- if (key === 'calibration_button_hold_time') {
920
- const number = utils.toNumber(value, 'calibration_button_hold_time');
921
- const index = number * 10;
922
- await entity.write('boschSpecific', { calibrationButtonHoldTime: index });
923
- return { state: { calibration_button_hold_time: number } };
924
- }
925
- if (key === 'calibration_motor_start_delay') {
926
- const number = utils.toNumber(value, 'calibration_motor_start_delay');
927
- const index = number * 10;
928
- await entity.write('boschSpecific', { calibrationMotorStartDelay: index });
929
- return { state: { calibration_motor_start_delay: number } };
930
- }
931
- },
932
- convertGet: async (entity, key, meta) => {
933
- switch (key) {
934
- case 'calibration_opening_time':
935
- await entity.read('boschSpecific', ['calibrationOpeningTime']);
936
- break;
937
- case 'calibration_closing_time':
938
- await entity.read('boschSpecific', ['calibrationClosingTime']);
939
- break;
940
- case 'calibration_button_hold_time':
941
- await entity.read('boschSpecific', ['calibrationButtonHoldTime']);
942
- break;
943
- case 'calibration_motor_start_delay':
944
- await entity.read('boschSpecific', ['calibrationMotorStartDelay']);
945
- break;
946
- default:
947
- throw new Error(`Unhandled key boschExtend.bmct.toZigbee.convertGet ${key}`);
948
- }
949
- },
950
- },
951
- ];
952
- return {
953
- fromZigbee,
954
- toZigbee,
955
- isModernExtend: true,
956
- };
957
- },
958
- };
959
- const tzLocal = {
960
- rbshoszbeu: {
961
- key: ['light_delay', 'siren_delay', 'light_duration', 'siren_duration', 'siren_volume', 'alarm_state', 'power_source', 'siren_and_light'],
962
- convertSet: async (entity, key, value, meta) => {
963
- if (key === 'light_delay') {
964
- const index = value;
965
- await entity.write(0x0502, { 0xa004: { value: index, type: 0x21 } }, manufacturerOptions);
966
- return { state: { light_delay: value } };
967
- }
968
- if (key === 'siren_delay') {
969
- const index = value;
970
- await entity.write(0x0502, { 0xa003: { value: index, type: 0x21 } }, manufacturerOptions);
971
- return { state: { siren_delay: value } };
972
- }
973
- if (key === 'light_duration') {
974
- const index = value;
975
- await entity.write(0x0502, { 0xa005: { value: index, type: 0x20 } }, manufacturerOptions);
976
- return { state: { light_duration: value } };
977
- }
978
- if (key === 'siren_duration') {
979
- const index = value;
980
- await entity.write(0x0502, { 0xa000: { value: index, type: 0x20 } }, manufacturerOptions);
981
- return { state: { siren_duration: value } };
982
- }
983
- if (key === 'siren_and_light') {
984
- const index = utils.getFromLookup(value, sirenLight);
985
- await entity.write(0x0502, { 0xa001: { value: index, type: 0x20 } }, manufacturerOptions);
986
- return { state: { siren_and_light: value } };
987
- }
988
- if (key === 'siren_volume') {
989
- const index = utils.getFromLookup(value, sirenVolume);
990
- await entity.write(0x0502, { 0xa002: { value: index, type: 0x20 } }, manufacturerOptions);
991
- return { state: { siren_volume: value } };
992
- }
993
- if (key === 'power_source') {
994
- const index = utils.getFromLookup(value, sirenPowerSupply);
995
- await entity.write(0x0001, { 0xa002: { value: index, type: 0x20 } }, manufacturerOptions);
996
- return { state: { power_source: value } };
997
- }
998
- if (key === 'alarm_state') {
999
- const endpoint = meta.device.getEndpoint(1);
1000
- const index = utils.getFromLookup(value, outdoorSirenState);
1001
- if (index == 0) {
1002
- await endpoint.command(0x0502, 0xf0, { data: 0 }, manufacturerOptions);
1003
- return { state: { alarm_state: value } };
1004
- }
1005
- else {
1006
- await endpoint.command(0x0502, 0xf0, { data: 7 }, manufacturerOptions);
1007
- return { state: { alarm_state: value } };
1008
- }
1009
- }
1010
- },
1011
- convertGet: async (entity, key, meta) => {
1012
- switch (key) {
1013
- case 'light_delay':
1014
- await entity.read(0x0502, [0xa004], manufacturerOptions);
1015
- break;
1016
- case 'siren_delay':
1017
- await entity.read(0x0502, [0xa003], manufacturerOptions);
1018
- break;
1019
- case 'light_duration':
1020
- await entity.read(0x0502, [0xa005], manufacturerOptions);
1021
- break;
1022
- case 'siren_duration':
1023
- await entity.read(0x0502, [0xa000], manufacturerOptions);
1024
- break;
1025
- case 'siren_and_light':
1026
- await entity.read(0x0502, [0xa001], manufacturerOptions);
1027
- break;
1028
- case 'siren_volume':
1029
- await entity.read(0x0502, [0xa002], manufacturerOptions);
1030
- break;
1031
- case 'alarm_state':
1032
- await entity.read(0x0502, [0xf0], manufacturerOptions);
1033
- break;
1034
- default: // Unknown key
1035
- throw new Error(`Unhandled key toZigbee.rbshoszbeu.convertGet ${key}`);
1036
- }
1037
- },
1038
- },
1039
- bhius_config: {
1040
- key: Object.keys(buttonMap),
1041
- convertGet: async (entity, key, meta) => {
1042
- if (buttonMap[key] === undefined) {
1043
- throw new Error(`Unknown key ${key}`);
1044
- }
1045
- await entity.read('boschSpecific', [buttonMap[key]], manufacturerOptions);
1046
- },
1047
- convertSet: async (entity, key, value, meta) => {
1048
- if (buttonMap[key] === undefined) {
1049
- return;
1050
- }
1051
- const buffer = Buffer.from(value, 'hex');
1052
- if (buffer.length !== 9)
1053
- throw new Error(`Invalid configuration length: ${buffer.length} (should be 9)`);
1054
- const payload = {};
1055
- payload[buttonMap[key]] = { value: buffer, type: 65 };
1056
- await entity.write('boschSpecific', payload, manufacturerOptions);
1057
- const result = {};
1058
- result[key] = value;
1059
- return { state: result };
1060
- },
1061
- },
1062
- };
1063
- const fzLocal = {
1064
- bhius_button_press: {
1065
- cluster: 'boschSpecific',
1066
- type: 'raw',
1067
- options: [e.text('led_response', ea.ALL).withLabel('LED config (confirmation response)').withDescription(labelConfirmation)],
1068
- convert: async (model, msg, publish, options, meta) => {
1069
- const sequenceNumber = msg.data.readUInt8(3);
1070
- const buttonId = msg.data.readUInt8(4);
1071
- const longPress = msg.data.readUInt8(5);
1072
- const duration = msg.data.readUInt16LE(6);
1073
- let buffer;
1074
- if (options.led_response !== undefined) {
1075
- buffer = Buffer.from(options.led_response, 'hex');
1076
- if (buffer.length !== 9) {
1077
- logger_1.logger.error(`Invalid length of led_response: ${buffer.length} (should be 9)`, NS);
1078
- buffer = Buffer.from('30ff00000102010001', 'hex');
1079
- }
1080
- }
1081
- else {
1082
- buffer = Buffer.from('30ff00000102010001', 'hex');
1083
- }
1084
- if (utils.hasAlreadyProcessedMessage(msg, model, sequenceNumber))
1085
- return;
1086
- const buttons = { 0: 'top_left', 1: 'top_right', 2: 'bottom_left', 3: 'bottom_right' };
1087
- let command = '';
1088
- if (buttonId in buttons) {
1089
- if (longPress && duration > 0) {
1090
- if (globalStore.hasValue(msg.endpoint, buttons[buttonId]))
1091
- return;
1092
- globalStore.putValue(msg.endpoint, buttons[buttonId], duration);
1093
- command = 'longpress';
1094
- }
1095
- else {
1096
- globalStore.clearValue(msg.endpoint, buttons[buttonId]);
1097
- command = longPress ? 'longpress_release' : 'release';
1098
- msg.endpoint.command('boschSpecific', 'confirmButtonPressed', { data: buffer }, { sendPolicy: 'immediate' }).catch((error) => { });
1099
- }
1100
- return { action: `button_${buttons[buttonId]}_${command}` };
1101
- }
1102
- else {
1103
- logger_1.logger.error(`Received message with unknown command ID ${buttonId}. Data: 0x${msg.data.toString('hex')}`, NS);
1104
- }
1105
- },
1106
- },
1107
- bhius_config: {
1108
- cluster: 'boschSpecific',
1109
- type: ['attributeReport', 'readResponse'],
1110
- convert: async (model, msg, publish, options, meta) => {
1111
- const result = {};
1112
- for (const id of Object.values(buttonMap)) {
1113
- if (msg.data[id] !== undefined) {
1114
- result[Object.keys(buttonMap).find((key) => buttonMap[key] === id)] = msg.data[id].toString('hex');
1115
- }
1116
- }
1117
- return result;
1118
- },
1119
- },
1120
- };
1121
- const definitions = [
1122
- {
1123
- zigbeeModel: ['RBSH-OS-ZB-EU'],
1124
- model: 'BSIR-EZ',
1125
- vendor: 'Bosch',
1126
- description: 'Outdoor siren',
1127
- fromZigbee: [fromZigbee_1.default.ias_alarm_only_alarm_1, fromZigbee_1.default.battery, fromZigbee_1.default.power_source],
1128
- toZigbee: [tzLocal.rbshoszbeu, toZigbee_1.default.warning],
1129
- meta: { battery: { voltageToPercentage: { min: 2500, max: 4200 } } },
1130
- configure: async (device, coordinatorEndpoint) => {
1131
- const endpoint = device.getEndpoint(1);
1132
- await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'ssIasZone', 'ssIasWd', 'genBasic']);
1133
- await reporting.batteryVoltage(endpoint);
1134
- await endpoint.read(0x0502, [0xa000, 0xa001, 0xa002, 0xa003, 0xa004, 0xa005], manufacturerOptions);
1135
- if (endpoint.binds.some((b) => b.cluster.name === 'genPollCtrl')) {
1136
- await endpoint.unbind('genPollCtrl', coordinatorEndpoint);
1137
- }
1138
- },
1139
- exposes: [
1140
- e.binary('alarm_state', ea.ALL, 'ON', 'OFF').withDescription('Alarm turn ON/OFF'),
1141
- e
1142
- .numeric('light_delay', ea.ALL)
1143
- .withValueMin(0)
1144
- .withValueMax(30)
1145
- .withValueStep(1)
1146
- .withUnit('s')
1147
- .withDescription('Flashing light delay')
1148
- .withUnit('s'),
1149
- e
1150
- .numeric('siren_delay', ea.ALL)
1151
- .withValueMin(0)
1152
- .withValueMax(30)
1153
- .withValueStep(1)
1154
- .withUnit('s')
1155
- .withDescription('Siren alarm delay')
1156
- .withUnit('s'),
1157
- e
1158
- .numeric('siren_duration', ea.ALL)
1159
- .withValueMin(1)
1160
- .withValueMax(15)
1161
- .withValueStep(1)
1162
- .withUnit('m')
1163
- .withDescription('Duration of the alarm siren')
1164
- .withUnit('m'),
1165
- e
1166
- .numeric('light_duration', ea.ALL)
1167
- .withValueMin(1)
1168
- .withValueMax(15)
1169
- .withValueStep(1)
1170
- .withUnit('m')
1171
- .withDescription('Duration of the alarm light')
1172
- .withUnit('m'),
1173
- e.enum('siren_volume', ea.ALL, Object.keys(sirenVolume)).withDescription('Volume of the alarm'),
1174
- e.enum('siren_and_light', ea.ALL, Object.keys(sirenLight)).withDescription('Siren and Light behaviour during alarm '),
1175
- e.enum('power_source', ea.ALL, Object.keys(sirenPowerSupply)).withDescription('Siren power source'),
1176
- e
1177
- .warning()
1178
- .removeFeature('strobe_level')
1179
- .removeFeature('strobe')
1180
- .removeFeature('strobe_duty_cycle')
1181
- .removeFeature('level')
1182
- .removeFeature('duration'),
1183
- e.test(),
1184
- e.tamper(),
1185
- e.battery(),
1186
- e.battery_voltage(),
1187
- e.battery_low(),
1188
- e.binary('ac_status', ea.STATE, true, false).withDescription('Is the device plugged in'),
1189
- ],
1190
- extend: [
1191
- (0, modernExtend_1.deviceAddCustomCluster)('ssIasZone', {
1192
- ID: zigbee_herdsman_1.Zcl.Clusters.ssIasZone.ID,
1193
- attributes: {},
1194
- commands: {
1195
- boschTestTamper: {
1196
- ID: 0xf3,
1197
- parameters: [{ name: 'data', type: zigbee_herdsman_1.Zcl.DataType.UINT8 }],
1198
- },
1199
- },
1200
- commandsResponse: {},
1201
- }),
1202
- (0, modernExtend_1.deviceAddCustomCluster)('ssIasWd', {
1203
- ID: zigbee_herdsman_1.Zcl.Clusters.ssIasWd.ID,
1204
- attributes: {},
1205
- commands: {
1206
- boschOutdoorSiren: {
1207
- ID: 240,
1208
- parameters: [{ name: 'data', type: zigbee_herdsman_1.Zcl.DataType.UINT8 }],
1209
- },
1210
- },
1211
- commandsResponse: {},
1212
- }),
1213
- (0, modernExtend_1.quirkCheckinInterval)(0),
1214
- ],
1215
- },
1216
- {
1217
- zigbeeModel: ['RBSH-WS-ZB-EU'],
1218
- model: 'BWA-1',
1219
- vendor: 'Bosch',
1220
- description: 'Smart water alarm',
1221
- extend: [
1222
- (0, modernExtend_1.deviceAddCustomCluster)('boschSpecific', {
1223
- ID: 0xfcac,
1224
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1225
- attributes: {
1226
- alarmOnMotion: {
1227
- ID: 0x0003,
1228
- type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN,
1229
- },
1230
- },
1231
- commands: {},
1232
- commandsResponse: {},
1233
- }),
1234
- (0, modernExtend_1.iasZoneAlarm)({
1235
- zoneType: 'water_leak',
1236
- zoneAttributes: ['alarm_1', 'tamper'],
1237
- }),
1238
- (0, modernExtend_1.battery)({
1239
- percentage: true,
1240
- lowStatus: true,
1241
- }),
1242
- (0, modernExtend_1.binary)({
1243
- name: 'alarm_on_motion',
1244
- cluster: 'boschSpecific',
1245
- attribute: 'alarmOnMotion',
1246
- description: 'Toggle audible alarm on motion',
1247
- valueOn: ['ON', 0x01],
1248
- valueOff: ['OFF', 0x00],
1249
- zigbeeCommandOptions: manufacturerOptions,
1250
- entityCategory: 'config',
1251
- }),
1252
- (0, modernExtend_1.bindCluster)({
1253
- cluster: 'genPollCtrl',
1254
- clusterType: 'input',
1255
- }),
1256
- ],
1257
- configure: async (device, coordinatorEndpoint) => {
1258
- const endpoint = device.getEndpoint(1);
1259
- await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
1260
- await endpoint.read('ssIasZone', ['zoneStatus']);
1261
- await endpoint.read('boschSpecific', ['alarmOnMotion'], manufacturerOptions);
1262
- },
1263
- },
1264
- {
1265
- zigbeeModel: ['RBSH-SD-ZB-EU'],
1266
- model: 'BSD-2',
1267
- vendor: 'Bosch',
1268
- description: 'Smoke alarm II',
1269
- extend: [
1270
- (0, modernExtend_1.deviceAddCustomCluster)('ssIasZone', {
1271
- ID: zigbee_herdsman_1.Zcl.Clusters.ssIasZone.ID,
1272
- attributes: {},
1273
- commands: {
1274
- boschSmokeAlarmSiren: {
1275
- ID: 0x80,
1276
- parameters: [{ name: 'data', type: zigbee_herdsman_1.Zcl.DataType.UINT16 }],
1277
- },
1278
- },
1279
- commandsResponse: {},
1280
- }),
1281
- boschExtend.smokeAlarm(),
1282
- (0, modernExtend_1.battery)({
1283
- percentage: true,
1284
- lowStatus: false,
1285
- }),
1286
- (0, modernExtend_1.enumLookup)({
1287
- name: 'sensitivity',
1288
- cluster: 'ssIasZone',
1289
- attribute: 'currentZoneSensitivityLevel',
1290
- description: 'Sensitivity of the smoke detector',
1291
- lookup: {
1292
- low: 0x00,
1293
- medium: 0x01,
1294
- high: 0x02,
1295
- },
1296
- entityCategory: 'config',
1297
- }),
1298
- boschExtend.broadcastAlarm(),
1299
- (0, modernExtend_1.bindCluster)({
1300
- cluster: 'genPollCtrl',
1301
- clusterType: 'input',
1302
- }),
1303
- ],
1304
- configure: async (device, coordinatorEndpoint) => {
1305
- const endpoint = device.getEndpoint(1);
1306
- await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
1307
- await endpoint.read('ssIasZone', ['zoneStatus']);
1308
- await endpoint.read('ssIasZone', ['currentZoneSensitivityLevel']);
1309
- },
1310
- },
1311
- {
1312
- zigbeeModel: [
1313
- 'RFDL-ZB',
1314
- 'RFDL-ZB-EU',
1315
- 'RFDL-ZB-H',
1316
- 'RFDL-ZB-K',
1317
- 'RFDL-ZB-CHI',
1318
- 'RFDL-ZB-MS',
1319
- 'RFDL-ZB-ES',
1320
- 'RFPR-ZB',
1321
- 'RFPR-ZB-EU',
1322
- 'RFPR-ZB-CHI',
1323
- 'RFPR-ZB-ES',
1324
- 'RFPR-ZB-MS',
1325
- ],
1326
- model: 'RADON TriTech ZB',
1327
- vendor: 'Bosch',
1328
- description: 'Wireless motion detector',
1329
- fromZigbee: [fromZigbee_1.default.temperature, fromZigbee_1.default.battery, fromZigbee_1.default.ias_occupancy_alarm_1, fromZigbee_1.default.illuminance],
1330
- toZigbee: [],
1331
- meta: { battery: { voltageToPercentage: { min: 2500, max: 3000 } } },
1332
- configure: async (device, coordinatorEndpoint) => {
1333
- const endpoint = device.getEndpoint(1);
1334
- await reporting.bind(endpoint, coordinatorEndpoint, ['msTemperatureMeasurement', 'genPowerCfg', 'msIlluminanceMeasurement']);
1335
- await reporting.temperature(endpoint);
1336
- await reporting.batteryVoltage(endpoint);
1337
- await reporting.illuminance(endpoint);
1338
- },
1339
- exposes: [e.temperature(), e.battery(), e.occupancy(), e.battery_low(), e.tamper(), e.illuminance()],
1340
- },
1341
- {
1342
- zigbeeModel: ['ISW-ZPR1-WP13'],
1343
- model: 'ISW-ZPR1-WP13',
1344
- vendor: 'Bosch',
1345
- description: 'Motion sensor',
1346
- fromZigbee: [fromZigbee_1.default.temperature, fromZigbee_1.default.battery, fromZigbee_1.default.ias_occupancy_alarm_1, fromZigbee_1.default.ignore_iaszone_report],
1347
- toZigbee: [],
1348
- meta: { battery: { voltageToPercentage: { min: 2500, max: 3000 } } },
1349
- configure: async (device, coordinatorEndpoint) => {
1350
- const endpoint = device.getEndpoint(5);
1351
- await reporting.bind(endpoint, coordinatorEndpoint, ['msTemperatureMeasurement', 'genPowerCfg']);
1352
- await reporting.temperature(endpoint);
1353
- await reporting.batteryVoltage(endpoint);
1354
- },
1355
- exposes: [e.temperature(), e.battery(), e.occupancy(), e.battery_low(), e.tamper()],
1356
- },
1357
- {
1358
- zigbeeModel: ['RBSH-TRV0-ZB-EU', 'RBSH-TRV1-ZB-EU'],
1359
- model: 'BTH-RA',
1360
- vendor: 'Bosch',
1361
- description: 'Radiator thermostat II',
1362
- meta: {
1363
- overrideHaDiscoveryPayload: (payload) => {
1364
- // Override climate discovery
1365
- // https://github.com/Koenkk/zigbee2mqtt/pull/23075#issue-2355829475
1366
- if (payload.mode_command_topic?.endsWith('/system_mode')) {
1367
- payload.mode_command_topic = payload.mode_command_topic.substring(0, payload.mode_command_topic.lastIndexOf('/system_mode'));
1368
- payload.mode_command_template =
1369
- `{% set values = ` +
1370
- `{ 'auto':'schedule','heat':'manual','off':'pause'} %}` +
1371
- `{"operating_mode": "{{ values[value] if value in values.keys() else 'pause' }}"}`;
1372
- payload.mode_state_template =
1373
- `{% set values = ` +
1374
- `{'schedule':'auto','manual':'heat','pause':'off'} %}` +
1375
- `{% set value = value_json.operating_mode %}{{ values[value] if value in values.keys() else 'off' }}`;
1376
- payload.modes = ['off', 'heat', 'auto'];
1377
- }
1378
- },
1379
- },
1380
- exposes: [
1381
- e
1382
- .climate()
1383
- .withLocalTemperature(ea.STATE_GET, 'Temperature used by the heating algorithm. ' +
1384
- 'This is the temperature measured on the device (by default) or the remote temperature (if set within the last 30 min).')
1385
- .withLocalTemperatureCalibration(-5, 5, 0.1)
1386
- .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5)
1387
- .withSystemMode(['heat'])
1388
- .withPiHeatingDemand(ea.ALL)
1389
- .withRunningState(['idle', 'heat'], ea.STATE_GET),
1390
- ],
1391
- fromZigbee: [fromZigbee_1.default.thermostat],
1392
- toZigbee: [
1393
- toZigbee_1.default.thermostat_system_mode,
1394
- toZigbee_1.default.thermostat_occupied_heating_setpoint,
1395
- toZigbee_1.default.thermostat_local_temperature_calibration,
1396
- toZigbee_1.default.thermostat_local_temperature,
1397
- toZigbee_1.default.thermostat_keypad_lockout,
1398
- ],
1399
- extend: [
1400
- boschExtend.hvacThermostatCluster(),
1401
- boschExtend.hvacUserInterfaceCfgCluster(),
1402
- (0, modernExtend_1.battery)({
1403
- percentage: true,
1404
- lowStatus: false,
1405
- }),
1406
- boschExtend.operatingMode(),
1407
- boschExtend.windowDetection(),
1408
- boschExtend.boostHeating(),
1409
- (0, modernExtend_1.numeric)({
1410
- name: 'remote_temperature',
1411
- cluster: 'hvacThermostat',
1412
- attribute: 'remoteTemperature',
1413
- description: 'Input for remote temperature sensor. Required at least every 30 min. to prevent fallback to internal sensor!',
1414
- valueMin: 0.0,
1415
- valueMax: 35.0,
1416
- valueStep: 0.01,
1417
- unit: '°C',
1418
- scale: 100,
1419
- zigbeeCommandOptions: manufacturerOptions,
1420
- }),
1421
- (0, modernExtend_1.enumLookup)({
1422
- name: 'setpoint_change_source',
1423
- cluster: 'hvacThermostat',
1424
- attribute: 'setpointChangeSource',
1425
- reporting: { min: '10_SECONDS', max: 'MAX', change: null },
1426
- description: 'Source of the current setpoint temperature',
1427
- lookup: { manual: 0x00, schedule: 0x01, externally: 0x02 },
1428
- access: 'STATE_GET',
1429
- }),
1430
- boschExtend.childLock(),
1431
- boschExtend.displayOntime(),
1432
- boschExtend.displayBrightness(),
1433
- (0, modernExtend_1.enumLookup)({
1434
- name: 'display_orientation',
1435
- cluster: 'hvacUserInterfaceCfg',
1436
- attribute: 'displayOrientation',
1437
- description: 'Sets orientation of the display',
1438
- lookup: { normal: 0x00, flipped: 0x01 },
1439
- zigbeeCommandOptions: manufacturerOptions,
1440
- }),
1441
- (0, modernExtend_1.enumLookup)({
1442
- name: 'displayed_temperature',
1443
- cluster: 'hvacUserInterfaceCfg',
1444
- attribute: 'displayedTemperature',
1445
- description: 'Temperature displayed on the TRV',
1446
- lookup: { target: 0x00, measured: 0x01 },
1447
- zigbeeCommandOptions: manufacturerOptions,
1448
- }),
1449
- (0, modernExtend_1.enumLookup)({
1450
- name: 'valve_adapt_status',
1451
- cluster: 'hvacThermostat',
1452
- attribute: 'valveAdaptStatus',
1453
- reporting: { min: '10_SECONDS', max: 'MAX', change: null },
1454
- description: 'Specifies the current status of the valve adaptation',
1455
- lookup: {
1456
- none: 0x00,
1457
- ready_to_calibrate: 0x01,
1458
- calibration_in_progress: 0x02,
1459
- error: 0x03,
1460
- success: 0x04,
1461
- },
1462
- zigbeeCommandOptions: manufacturerOptions,
1463
- access: 'STATE_GET',
1464
- }),
1465
- boschExtend.valveAdaptProcess(),
1466
- boschExtend.heatingDemand(),
1467
- boschExtend.ignoreDst(),
1468
- (0, modernExtend_1.bindCluster)({
1469
- cluster: 'genPollCtrl',
1470
- clusterType: 'input',
1471
- }),
1472
- ],
1473
- ota: true,
1474
- configure: async (device, coordinatorEndpoint) => {
1475
- const endpoint = device.getEndpoint(1);
1476
- await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacUserInterfaceCfg']);
1477
- await reporting.thermostatTemperature(endpoint);
1478
- await reporting.thermostatOccupiedHeatingSetpoint(endpoint, {
1479
- min: constants.repInterval.SECONDS_10,
1480
- max: constants.repInterval.HOUR,
1481
- change: 50,
1482
- });
1483
- await reporting.thermostatKeypadLockMode(endpoint);
1484
- await endpoint.configureReporting('hvacThermostat', [
1485
- {
1486
- attribute: 'heatingDemand',
1487
- minimumReportInterval: constants.repInterval.SECONDS_10,
1488
- maximumReportInterval: constants.repInterval.MAX,
1489
- reportableChange: null,
1490
- },
1491
- ], manufacturerOptions);
1492
- await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
1493
- await endpoint.read('hvacThermostat', ['localTemperatureCalibration', 'setpointChangeSource']);
1494
- await endpoint.read('hvacThermostat', ['operatingMode', 'heatingDemand', 'valveAdaptStatus', 'remoteTemperature', 'windowDetection', 'boostHeating'], manufacturerOptions);
1495
- await endpoint.read('hvacUserInterfaceCfg', ['keypadLockout']);
1496
- await endpoint.read('hvacUserInterfaceCfg', ['displayOrientation', 'displayedTemperature', 'displayOntime', 'displayBrightness'], manufacturerOptions);
1497
- },
1498
- },
1499
- {
1500
- zigbeeModel: ['RBSH-RTH0-BAT-ZB-EU'],
1501
- model: 'BTH-RM',
1502
- vendor: 'Bosch',
1503
- description: 'Room thermostat II (Battery model)',
1504
- exposes: [
1505
- e
1506
- .climate()
1507
- .withLocalTemperature()
1508
- .withSetpoint('occupied_heating_setpoint', 4.5, 30, 0.5)
1509
- .withSetpoint('occupied_cooling_setpoint', 4.5, 30, 0.5)
1510
- .withLocalTemperatureCalibration(-5, 5, 0.1)
1511
- .withSystemMode(['off', 'heat', 'cool'])
1512
- .withRunningState(['idle', 'heat', 'cool']),
1513
- ],
1514
- fromZigbee: [fromZigbee_1.default.thermostat, fromZigbee_1.default.hvac_user_interface],
1515
- toZigbee: [
1516
- toZigbee_1.default.thermostat_system_mode,
1517
- toZigbee_1.default.thermostat_running_state,
1518
- toZigbee_1.default.thermostat_occupied_heating_setpoint,
1519
- toZigbee_1.default.thermostat_occupied_cooling_setpoint,
1520
- toZigbee_1.default.thermostat_programming_operation_mode, // NOTE: Only 0x0 & 0x1 supported
1521
- toZigbee_1.default.thermostat_local_temperature_calibration,
1522
- toZigbee_1.default.thermostat_local_temperature,
1523
- toZigbee_1.default.thermostat_temperature_setpoint_hold,
1524
- toZigbee_1.default.thermostat_temperature_display_mode,
1525
- ],
1526
- extend: [
1527
- boschExtend.hvacThermostatCluster(),
1528
- boschExtend.hvacUserInterfaceCfgCluster(),
1529
- (0, modernExtend_1.battery)({
1530
- voltageToPercentage: { min: 4400, max: 6400 },
1531
- percentage: true,
1532
- voltage: true,
1533
- lowStatus: false,
1534
- voltageReporting: true,
1535
- percentageReporting: false,
1536
- }),
1537
- (0, modernExtend_1.humidity)(),
1538
- boschExtend.operatingMode(),
1539
- boschExtend.windowDetection(),
1540
- boschExtend.boostHeating(),
1541
- boschExtend.childLock(),
1542
- boschExtend.displayOntime(),
1543
- boschExtend.displayBrightness(),
1544
- (0, modernExtend_1.bindCluster)({
1545
- cluster: 'genPollCtrl',
1546
- clusterType: 'input',
1547
- }),
1548
- ],
1549
- ota: true,
1550
- configure: async (device, coordinatorEndpoint) => {
1551
- const endpoint = device.getEndpoint(1);
1552
- await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacUserInterfaceCfg']);
1553
- await reporting.thermostatSystemMode(endpoint);
1554
- await reporting.thermostatRunningState(endpoint);
1555
- await reporting.thermostatTemperature(endpoint);
1556
- await reporting.thermostatOccupiedHeatingSetpoint(endpoint, {
1557
- min: constants.repInterval.SECONDS_10,
1558
- max: constants.repInterval.HOUR,
1559
- change: 50,
1560
- });
1561
- await reporting.thermostatOccupiedCoolingSetpoint(endpoint, {
1562
- min: constants.repInterval.SECONDS_10,
1563
- max: constants.repInterval.HOUR,
1564
- change: 50,
1565
- });
1566
- await reporting.thermostatKeypadLockMode(endpoint);
1567
- await endpoint.read('genPowerCfg', ['batteryVoltage']);
1568
- await endpoint.read('hvacThermostat', ['localTemperatureCalibration']);
1569
- await endpoint.read('hvacThermostat', ['operatingMode', 'windowDetection', 'boostHeating'], manufacturerOptions);
1570
- await endpoint.read('hvacUserInterfaceCfg', ['keypadLockout']);
1571
- await endpoint.read('hvacUserInterfaceCfg', ['displayOntime', 'displayBrightness'], manufacturerOptions);
1572
- },
1573
- },
1574
- {
1575
- zigbeeModel: ['RBSH-RTH0-ZB-EU'],
1576
- model: 'BTH-RM230Z',
1577
- vendor: 'Bosch',
1578
- description: 'Room thermostat II 230V',
1579
- exposes: [
1580
- e
1581
- .climate()
1582
- .withLocalTemperature()
1583
- .withSetpoint('occupied_heating_setpoint', 4.5, 30, 0.5)
1584
- .withSetpoint('occupied_cooling_setpoint', 4.5, 30, 0.5)
1585
- .withLocalTemperatureCalibration(-5, 5, 0.1)
1586
- .withSystemMode(['off', 'heat', 'cool'])
1587
- .withRunningState(['idle', 'heat', 'cool']),
1588
- ],
1589
- fromZigbee: [fromZigbee_1.default.thermostat, fromZigbee_1.default.hvac_user_interface],
1590
- toZigbee: [
1591
- toZigbee_1.default.thermostat_system_mode,
1592
- toZigbee_1.default.thermostat_running_state,
1593
- toZigbee_1.default.thermostat_occupied_heating_setpoint,
1594
- toZigbee_1.default.thermostat_occupied_cooling_setpoint,
1595
- toZigbee_1.default.thermostat_programming_operation_mode, // NOTE: Only 0x0 & 0x1 supported
1596
- toZigbee_1.default.thermostat_local_temperature_calibration,
1597
- toZigbee_1.default.thermostat_local_temperature,
1598
- toZigbee_1.default.thermostat_temperature_setpoint_hold,
1599
- toZigbee_1.default.thermostat_temperature_display_mode,
1600
- ],
1601
- extend: [
1602
- boschExtend.hvacThermostatCluster(),
1603
- boschExtend.hvacUserInterfaceCfgCluster(),
1604
- (0, modernExtend_1.humidity)(),
1605
- boschExtend.operatingMode(),
1606
- boschExtend.windowDetection(),
1607
- boschExtend.boostHeating(),
1608
- boschExtend.childLock(),
1609
- boschExtend.displayOntime(),
1610
- boschExtend.displayBrightness(),
1611
- ],
1612
- ota: true,
1613
- configure: async (device, coordinatorEndpoint) => {
1614
- const endpoint = device.getEndpoint(1);
1615
- await reporting.bind(endpoint, coordinatorEndpoint, ['hvacThermostat', 'hvacUserInterfaceCfg']);
1616
- await reporting.thermostatSystemMode(endpoint);
1617
- await reporting.thermostatRunningState(endpoint);
1618
- await reporting.thermostatTemperature(endpoint);
1619
- await reporting.thermostatOccupiedHeatingSetpoint(endpoint, {
1620
- min: constants.repInterval.SECONDS_10,
1621
- max: constants.repInterval.HOUR,
1622
- change: 50,
1623
- });
1624
- await reporting.thermostatOccupiedCoolingSetpoint(endpoint, {
1625
- min: constants.repInterval.SECONDS_10,
1626
- max: constants.repInterval.HOUR,
1627
- change: 50,
1628
- });
1629
- await reporting.thermostatKeypadLockMode(endpoint);
1630
- await endpoint.read('hvacThermostat', ['localTemperatureCalibration']);
1631
- await endpoint.read('hvacThermostat', ['operatingMode', 'windowDetection', 'boostHeating'], manufacturerOptions);
1632
- await endpoint.read('hvacUserInterfaceCfg', ['keypadLockout']);
1633
- await endpoint.read('hvacUserInterfaceCfg', ['displayOntime', 'displayBrightness'], manufacturerOptions);
1634
- },
1635
- },
1636
- {
1637
- zigbeeModel: ['Champion'],
1638
- model: '8750001213',
1639
- vendor: 'Bosch',
1640
- description: 'Twinguard',
1641
- extend: [
1642
- (0, modernExtend_1.deviceAddCustomCluster)('twinguardSmokeDetector', {
1643
- ID: 0xe000,
1644
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1645
- attributes: {
1646
- sensitivity: { ID: 0x4003, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1647
- },
1648
- commands: {
1649
- initiateTestMode: {
1650
- ID: 0x00,
1651
- parameters: [],
1652
- },
1653
- },
1654
- commandsResponse: {},
1655
- }),
1656
- (0, modernExtend_1.deviceAddCustomCluster)('twinguardMeasurements', {
1657
- ID: 0xe002,
1658
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1659
- attributes: {
1660
- humidity: { ID: 0x4000, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1661
- unknown1: { ID: 0x4001, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1662
- unknown2: { ID: 0x4002, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1663
- airpurity: { ID: 0x4003, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1664
- temperature: { ID: 0x4004, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
1665
- illuminance: { ID: 0x4005, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1666
- battery: { ID: 0x4006, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1667
- unknown3: { ID: 0x4007, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1668
- unknown4: { ID: 0x4008, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1669
- pressure: { ID: 0x4009, type: zigbee_herdsman_1.Zcl.DataType.UINT16 }, // Not yet confirmed
1670
- unknown6: { ID: 0x400a, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1671
- unknown7: { ID: 0x400b, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1672
- unknown8: { ID: 0x400c, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1673
- },
1674
- commands: {},
1675
- commandsResponse: {},
1676
- }),
1677
- (0, modernExtend_1.deviceAddCustomCluster)('twinguardOptions', {
1678
- ID: 0xe004,
1679
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1680
- attributes: {
1681
- unknown1: { ID: 0x4000, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8 }, // 0,1 ??? read during pairing
1682
- pre_alarm: { ID: 0x4001, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8 }, // 0,1 on/off
1683
- },
1684
- commands: {},
1685
- commandsResponse: {},
1686
- }),
1687
- (0, modernExtend_1.deviceAddCustomCluster)('twinguardSetup', {
1688
- ID: 0xe006,
1689
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1690
- attributes: {
1691
- unknown1: { ID: 0x5003, type: zigbee_herdsman_1.Zcl.DataType.INT8 }, // perhaps signal strength? -7?
1692
- unknown2: { ID: 0x5004, type: zigbee_herdsman_1.Zcl.DataType.UINT8 }, // ????
1693
- heartbeat: { ID: 0x5005, type: zigbee_herdsman_1.Zcl.DataType.BITMAP8 }, // 0
1694
- },
1695
- commands: {
1696
- pairingCompleted: {
1697
- ID: 0x01,
1698
- parameters: [],
1699
- },
1700
- },
1701
- commandsResponse: {},
1702
- }),
1703
- (0, modernExtend_1.deviceAddCustomCluster)('twinguardAlarm', {
1704
- ID: 0xe007,
1705
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1706
- attributes: {
1707
- alarm_status: { ID: 0x5000, type: zigbee_herdsman_1.Zcl.DataType.BITMAP32 },
1708
- },
1709
- commands: {
1710
- burglarAlarm: {
1711
- ID: 0x01,
1712
- parameters: [
1713
- { name: 'data', type: zigbee_herdsman_1.Zcl.DataType.UINT8 }, // data:1 trips the siren data:0 should stop the siren
1714
- ],
1715
- },
1716
- },
1717
- commandsResponse: {},
1718
- }),
1719
- boschExtend.twinguard(),
1720
- ],
1721
- configure: async (device, coordinatorEndpoint) => {
1722
- await reporting.bind(device.getEndpoint(7), coordinatorEndpoint, ['genPollCtrl']);
1723
- await reporting.bind(device.getEndpoint(1), coordinatorEndpoint, ['genAlarms', 'twinguardSmokeDetector', 'twinguardOptions']);
1724
- await reporting.bind(device.getEndpoint(3), coordinatorEndpoint, ['twinguardMeasurements']);
1725
- await reporting.bind(device.getEndpoint(12), coordinatorEndpoint, ['twinguardSetup', 'twinguardAlarm']);
1726
- await device.getEndpoint(1).read('twinguardOptions', ['unknown1'], manufacturerOptions); // Needed for pairing
1727
- await device.getEndpoint(12).command('twinguardSetup', 'pairingCompleted', manufacturerOptions); // Needed for pairing
1728
- await device.getEndpoint(1).write('twinguardSmokeDetector', { sensitivity: 0x0002 }, manufacturerOptions); // Setting defaults
1729
- await device.getEndpoint(1).write('twinguardOptions', { pre_alarm: 0x01 }, manufacturerOptions); // Setting defaults
1730
- await device.getEndpoint(12).write('twinguardSetup', { heartbeat: 0x01 }, manufacturerOptions); // Setting defaults
1731
- await device.getEndpoint(1).read('twinguardSmokeDetector', ['sensitivity'], manufacturerOptions);
1732
- await device.getEndpoint(1).read('twinguardOptions', ['pre_alarm'], manufacturerOptions);
1733
- await device.getEndpoint(12).read('twinguardSetup', ['heartbeat'], manufacturerOptions);
1734
- },
1735
- },
1736
- {
1737
- zigbeeModel: ['RFPR-ZB-SH-EU'],
1738
- model: 'RFPR-ZB-SH-EU',
1739
- vendor: 'Bosch',
1740
- description: 'Wireless motion detector',
1741
- fromZigbee: [fromZigbee_1.default.temperature, fromZigbee_1.default.battery, fromZigbee_1.default.ias_occupancy_alarm_1],
1742
- toZigbee: [],
1743
- meta: { battery: { voltageToPercentage: { min: 2500, max: 3000 } } },
1744
- configure: async (device, coordinatorEndpoint) => {
1745
- const endpoint = device.getEndpoint(1);
1746
- await reporting.bind(endpoint, coordinatorEndpoint, ['msTemperatureMeasurement', 'genPowerCfg']);
1747
- await reporting.temperature(endpoint);
1748
- await reporting.batteryVoltage(endpoint);
1749
- },
1750
- exposes: [e.temperature(), e.battery(), e.occupancy(), e.battery_low(), e.tamper()],
1751
- },
1752
- {
1753
- zigbeeModel: ['RBSH-SP-ZB-EU', 'RBSH-SP-ZB-FR', 'RBSH-SP-ZB-GB'],
1754
- model: 'BSP-FZ2',
1755
- vendor: 'Bosch',
1756
- description: 'Plug compact EU',
1757
- extend: [(0, modernExtend_1.onOff)(), (0, modernExtend_1.electricityMeter)({ voltage: false, current: false })],
1758
- ota: true,
1759
- whiteLabel: [
1760
- { vendor: 'Bosch', model: 'BSP-EZ2', description: 'Plug compact FR', fingerprint: [{ modelID: 'RBSH-SP-ZB-FR' }] },
1761
- { vendor: 'Bosch', model: 'BSP-GZ2', description: 'Plug compact UK', fingerprint: [{ modelID: 'RBSH-SP-ZB-GB' }] },
1762
- ],
1763
- },
1764
- {
1765
- zigbeeModel: ['RBSH-SWD-ZB'],
1766
- model: 'BSEN-C2',
1767
- vendor: 'Bosch',
1768
- description: 'Door/window contact II',
1769
- extend: [
1770
- boschExtend.doorWindowContact(false),
1771
- (0, modernExtend_1.battery)({
1772
- percentage: true,
1773
- lowStatus: true,
1774
- }),
1775
- (0, modernExtend_1.bindCluster)({
1776
- cluster: 'genPollCtrl',
1777
- clusterType: 'input',
1778
- }),
1779
- ],
1780
- configure: async (device, coordinatorEndpoint) => {
1781
- const endpoint = device.getEndpoint(1);
1782
- await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
1783
- await endpoint.read('ssIasZone', ['zoneStatus']);
1784
- },
1785
- },
1786
- {
1787
- zigbeeModel: ['RBSH-SWDV-ZB'],
1788
- model: 'BSEN-CV',
1789
- vendor: 'Bosch',
1790
- description: 'Door/window contact II plus',
1791
- extend: [
1792
- boschExtend.doorWindowContact(true),
1793
- (0, modernExtend_1.battery)({
1794
- percentage: true,
1795
- lowStatus: true,
1796
- }),
1797
- (0, modernExtend_1.bindCluster)({
1798
- cluster: 'genPollCtrl',
1799
- clusterType: 'input',
1800
- }),
1801
- ],
1802
- configure: async (device, coordinatorEndpoint) => {
1803
- const endpoint = device.getEndpoint(1);
1804
- await endpoint.read('genPowerCfg', ['batteryPercentageRemaining']);
1805
- await endpoint.read('ssIasZone', ['zoneStatus']);
1806
- },
1807
- },
1808
- {
1809
- zigbeeModel: ['RBSH-MMD-ZB-EU'],
1810
- model: 'BMCT-DZ',
1811
- vendor: 'Bosch',
1812
- description: 'Phase-cut dimmer',
1813
- extend: [(0, modernExtend_1.identify)(), (0, modernExtend_1.light)({ configureReporting: true, effect: false })],
1814
- },
1815
- {
1816
- zigbeeModel: ['RBSH-MMR-ZB-EU'],
1817
- model: 'BMCT-RZ',
1818
- vendor: 'Bosch',
1819
- description: 'Relay, potential free',
1820
- extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: false })],
1821
- },
1822
- {
1823
- zigbeeModel: ['RBSH-MMS-ZB-EU'],
1824
- model: 'BMCT-SLZ',
1825
- vendor: 'Bosch',
1826
- description: 'Light/shutter control unit II',
1827
- extend: [
1828
- (0, modernExtend_1.deviceEndpoints)({ endpoints: { left: 2, right: 3 } }),
1829
- (0, modernExtend_1.deviceAddCustomCluster)('boschSpecific', {
1830
- ID: 0xfca0,
1831
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
1832
- attributes: {
1833
- deviceMode: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1834
- switchType: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1835
- calibrationOpeningTime: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
1836
- calibrationClosingTime: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT32 },
1837
- calibrationButtonHoldTime: { ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1838
- childLock: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1839
- calibrationMotorStartDelay: { ID: 0x000f, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1840
- motorState: { ID: 0x0013, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1841
- },
1842
- commands: {},
1843
- commandsResponse: {},
1844
- }),
1845
- boschExtend.bmct(),
1846
- ],
1847
- configure: async (device, coordinatorEndpoint) => {
1848
- const endpoint1 = device.getEndpoint(1);
1849
- await reporting.bind(endpoint1, coordinatorEndpoint, ['genIdentify', 'closuresWindowCovering', 'boschSpecific']);
1850
- await reporting.currentPositionLiftPercentage(endpoint1);
1851
- await endpoint1.read('boschSpecific', [
1852
- 'deviceMode',
1853
- 'switchType',
1854
- 'motorState',
1855
- 'childLock',
1856
- 'calibrationOpeningTime',
1857
- 'calibrationClosingTime',
1858
- 'calibrationButtonHoldTime',
1859
- 'calibrationMotorStartDelay',
1860
- ]);
1861
- const endpoint2 = device.getEndpoint(2);
1862
- await endpoint2.read('boschSpecific', ['childLock']);
1863
- await reporting.bind(endpoint2, coordinatorEndpoint, ['genIdentify', 'genOnOff']);
1864
- await reporting.onOff(endpoint2);
1865
- const endpoint3 = device.getEndpoint(3);
1866
- await endpoint3.read('boschSpecific', ['childLock']);
1867
- await reporting.bind(endpoint3, coordinatorEndpoint, ['genIdentify', 'genOnOff']);
1868
- await reporting.onOff(endpoint3);
1869
- },
1870
- exposes: (device, options) => {
1871
- const stateDeviceMode = {
1872
- light: 0x04,
1873
- shutter: 0x01,
1874
- disabled: 0x00,
1875
- };
1876
- const stateMotor = {
1877
- stopped: 0x00,
1878
- opening: 0x01,
1879
- closing: 0x02,
1880
- };
1881
- const stateSwitchType = {
1882
- button: 0x01,
1883
- button_key_change: 0x02,
1884
- rocker_switch: 0x03,
1885
- rocker_switch_key_change: 0x04,
1886
- };
1887
- const commonExposes = [
1888
- e.enum('switch_type', ea.ALL, Object.keys(stateSwitchType)).withDescription('Module controlled by a rocker switch or a button'),
1889
- e.linkquality(),
1890
- ];
1891
- const lightExposes = [
1892
- e.switch().withEndpoint('left'),
1893
- e.switch().withEndpoint('right'),
1894
- e.power_on_behavior().withEndpoint('left'),
1895
- e.power_on_behavior().withEndpoint('right'),
1896
- e.binary('child_lock', ea.ALL, 'ON', 'OFF').withEndpoint('left').withDescription('Enable/Disable child lock'),
1897
- e.binary('child_lock', ea.ALL, 'ON', 'OFF').withEndpoint('right').withDescription('Enable/Disable child lock'),
1898
- ];
1899
- const coverExposes = [
1900
- e.cover_position(),
1901
- e.enum('motor_state', ea.STATE, Object.keys(stateMotor)).withDescription('Current shutter motor state'),
1902
- e.binary('child_lock', ea.ALL, 'ON', 'OFF').withDescription('Enable/Disable child lock'),
1903
- e
1904
- .numeric('calibration_closing_time', ea.ALL)
1905
- .withUnit('s')
1906
- .withDescription('Calibrate shutter closing time')
1907
- .withValueMin(1)
1908
- .withValueMax(90)
1909
- .withValueStep(0.1),
1910
- e
1911
- .numeric('calibration_opening_time', ea.ALL)
1912
- .withUnit('s')
1913
- .withDescription('Calibrate shutter opening time')
1914
- .withValueMin(1)
1915
- .withValueMax(90)
1916
- .withValueStep(0.1),
1917
- e
1918
- .numeric('calibration_button_hold_time', ea.ALL)
1919
- .withUnit('s')
1920
- .withDescription('Time to hold for long press')
1921
- .withValueMin(0.1)
1922
- .withValueMax(2)
1923
- .withValueStep(0.1),
1924
- e
1925
- .numeric('calibration_motor_start_delay', ea.ALL)
1926
- .withUnit('s')
1927
- .withDescription('Delay between command and motor start')
1928
- .withValueMin(0)
1929
- .withValueMax(20)
1930
- .withValueStep(0.1),
1931
- ];
1932
- if (device) {
1933
- const deviceModeKey = device.getEndpoint(1).getClusterAttributeValue('boschSpecific', 'deviceMode');
1934
- const deviceMode = Object.keys(stateDeviceMode).find((key) => stateDeviceMode[key] === deviceModeKey);
1935
- if (deviceMode === 'light') {
1936
- return [...commonExposes, ...lightExposes];
1937
- }
1938
- else if (deviceMode === 'shutter') {
1939
- return [...commonExposes, ...coverExposes];
1940
- }
1941
- }
1942
- return [e.enum('device_mode', ea.ALL, Object.keys(stateDeviceMode)).withDescription('Device mode'), e.linkquality()];
1943
- },
1944
- },
1945
- {
1946
- zigbeeModel: ['RBSH-US4BTN-ZB-EU'],
1947
- model: 'BHI-US',
1948
- vendor: 'Bosch',
1949
- description: 'Universal Switch II',
1950
- fromZigbee: [fzLocal.bhius_button_press, fzLocal.bhius_config, fromZigbee_1.default.battery],
1951
- toZigbee: [tzLocal.bhius_config],
1952
- exposes: [
1953
- e.battery_low(),
1954
- e.battery_voltage(),
1955
- e
1956
- .text('config_led_top_left_press', ea.ALL)
1957
- .withLabel('LED config (top left short press)')
1958
- .withDescription(labelShortPress)
1959
- .withCategory('config'),
1960
- e
1961
- .text('config_led_top_right_press', ea.ALL)
1962
- .withLabel('LED config (top right short press)')
1963
- .withDescription(labelShortPress)
1964
- .withCategory('config'),
1965
- e
1966
- .text('config_led_bottom_left_press', ea.ALL)
1967
- .withLabel('LED config (bottom left short press)')
1968
- .withDescription(labelShortPress)
1969
- .withCategory('config'),
1970
- e
1971
- .text('config_led_bottom_right_press', ea.ALL)
1972
- .withLabel('LED config (bottom right short press)')
1973
- .withDescription(labelShortPress)
1974
- .withCategory('config'),
1975
- e
1976
- .text('config_led_top_left_longpress', ea.ALL)
1977
- .withLabel('LED config (top left long press)')
1978
- .withDescription(labelLongPress)
1979
- .withCategory('config'),
1980
- e
1981
- .text('config_led_top_right_longpress', ea.ALL)
1982
- .withLabel('LED config (top right long press)')
1983
- .withDescription(labelLongPress)
1984
- .withCategory('config'),
1985
- e
1986
- .text('config_led_bottom_left_longpress', ea.ALL)
1987
- .withLabel('LED config (bottom left long press)')
1988
- .withDescription(labelLongPress)
1989
- .withCategory('config'),
1990
- e
1991
- .text('config_led_bottom_right_longpress', ea.ALL)
1992
- .withLabel('LED config (bottom right long press)')
1993
- .withDescription(labelLongPress)
1994
- .withCategory('config'),
1995
- e.action([
1996
- 'button_top_left_release',
1997
- 'button_top_right_release',
1998
- 'button_bottom_left_release',
1999
- 'button_bottom_right_release',
2000
- 'button_top_left_longpress',
2001
- 'button_top_right_longpress',
2002
- 'button_bottom_left_longpress',
2003
- 'button_bottom_right_longpress',
2004
- 'button_top_left_longpress_release',
2005
- 'button_top_right_longpress_release',
2006
- 'button_bottom_left_longpress_release',
2007
- 'button_bottom_right_longpress_release',
2008
- ]),
2009
- ],
2010
- extend: [
2011
- (0, modernExtend_1.deviceAddCustomCluster)('boschSpecific', {
2012
- ID: 0xfca1,
2013
- manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH,
2014
- attributes: {},
2015
- commands: {
2016
- confirmButtonPressed: {
2017
- ID: 0x0010,
2018
- parameters: [{ name: 'data', type: zigbee_herdsman_1.Zcl.BuffaloZclDataType.BUFFER }],
2019
- },
2020
- pairingCompleted: {
2021
- ID: 0x0012,
2022
- parameters: [{ name: 'data', type: zigbee_herdsman_1.Zcl.BuffaloZclDataType.BUFFER }],
2023
- },
2024
- },
2025
- commandsResponse: {},
2026
- }),
2027
- ],
2028
- configure: async (device, coordinatorEndpoint) => {
2029
- const endpoint = device.getEndpoint(1);
2030
- // Read default LED configuration
2031
- await endpoint
2032
- .read('boschSpecific', [0x0010, 0x0011, 0x0012, 0x0013], { ...manufacturerOptions, sendPolicy: 'immediate' })
2033
- .catch((error) => { });
2034
- await endpoint
2035
- .read('boschSpecific', [0x0020, 0x0021, 0x0022, 0x0023], { ...manufacturerOptions, sendPolicy: 'immediate' })
2036
- .catch((error) => { });
2037
- // We also have to read this one. Value reads 0x0f, looks like a bitmap
2038
- await endpoint.read('boschSpecific', [0x0024], { ...manufacturerOptions, sendPolicy: 'immediate' });
2039
- await endpoint.command('boschSpecific', 'pairingCompleted', { data: Buffer.from([0x00]) }, { sendPolicy: 'immediate' });
2040
- await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'genBasic', 'boschSpecific']);
2041
- await reporting.batteryPercentageRemaining(endpoint);
2042
- await reporting.batteryVoltage(endpoint);
2043
- },
2044
- },
2045
- ];
2046
- exports.default = definitions;
2047
- module.exports = definitions;
2048
- //# sourceMappingURL=bosch.js.map