@willieee802/zigbee-herdsman-converters 19.44.0 → 19.44.2

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 (1609) hide show
  1. package/dist/converters/actions.d.ts +36 -0
  2. package/dist/converters/actions.d.ts.map +1 -0
  3. package/dist/converters/actions.js +137 -0
  4. package/dist/converters/actions.js.map +1 -0
  5. package/dist/converters/fromZigbee.d.ts +293 -0
  6. package/dist/converters/fromZigbee.d.ts.map +1 -0
  7. package/dist/converters/fromZigbee.js +5192 -0
  8. package/dist/converters/fromZigbee.js.map +1 -0
  9. package/dist/converters/toZigbee.d.ts +235 -0
  10. package/dist/converters/toZigbee.d.ts.map +1 -0
  11. package/dist/converters/toZigbee.js +4577 -0
  12. package/dist/converters/toZigbee.js.map +1 -0
  13. package/dist/devices/ITCommander.d.ts +3 -0
  14. package/dist/devices/ITCommander.d.ts.map +1 -0
  15. package/dist/devices/ITCommander.js +73 -0
  16. package/dist/devices/ITCommander.js.map +1 -0
  17. package/dist/devices/acova.d.ts +3 -0
  18. package/dist/devices/acova.d.ts.map +1 -0
  19. package/dist/devices/acova.js +124 -0
  20. package/dist/devices/acova.js.map +1 -0
  21. package/dist/devices/acuity_brands_lighting.d.ts +3 -0
  22. package/dist/devices/acuity_brands_lighting.d.ts.map +1 -0
  23. package/dist/devices/acuity_brands_lighting.js +61 -0
  24. package/dist/devices/acuity_brands_lighting.js.map +1 -0
  25. package/dist/devices/adeo.d.ts +3 -0
  26. package/dist/devices/adeo.d.ts.map +1 -0
  27. package/dist/devices/adeo.js +518 -0
  28. package/dist/devices/adeo.js.map +1 -0
  29. package/dist/devices/adurosmart.d.ts +3 -0
  30. package/dist/devices/adurosmart.d.ts.map +1 -0
  31. package/dist/devices/adurosmart.js +235 -0
  32. package/dist/devices/adurosmart.js.map +1 -0
  33. package/dist/devices/aeotec.d.ts +3 -0
  34. package/dist/devices/aeotec.d.ts.map +1 -0
  35. package/dist/devices/aeotec.js +95 -0
  36. package/dist/devices/aeotec.js.map +1 -0
  37. package/dist/devices/airam.d.ts +3 -0
  38. package/dist/devices/airam.d.ts.map +1 -0
  39. package/dist/devices/airam.js +102 -0
  40. package/dist/devices/airam.js.map +1 -0
  41. package/dist/devices/airzone_aidoo.d.ts +3 -0
  42. package/dist/devices/airzone_aidoo.d.ts.map +1 -0
  43. package/dist/devices/airzone_aidoo.js +77 -0
  44. package/dist/devices/airzone_aidoo.js.map +1 -0
  45. package/dist/devices/ajax_online.d.ts +3 -0
  46. package/dist/devices/ajax_online.d.ts.map +1 -0
  47. package/dist/devices/ajax_online.js +83 -0
  48. package/dist/devices/ajax_online.js.map +1 -0
  49. package/dist/devices/akuvox.d.ts +3 -0
  50. package/dist/devices/akuvox.d.ts.map +1 -0
  51. package/dist/devices/akuvox.js +65 -0
  52. package/dist/devices/akuvox.js.map +1 -0
  53. package/dist/devices/alchemy.d.ts +3 -0
  54. package/dist/devices/alchemy.d.ts.map +1 -0
  55. package/dist/devices/alchemy.js +54 -0
  56. package/dist/devices/alchemy.js.map +1 -0
  57. package/dist/devices/aldi.d.ts +3 -0
  58. package/dist/devices/aldi.d.ts.map +1 -0
  59. package/dist/devices/aldi.js +54 -0
  60. package/dist/devices/aldi.js.map +1 -0
  61. package/dist/devices/alecto.d.ts +3 -0
  62. package/dist/devices/alecto.d.ts.map +1 -0
  63. package/dist/devices/alecto.js +91 -0
  64. package/dist/devices/alecto.js.map +1 -0
  65. package/dist/devices/amina.d.ts +3 -0
  66. package/dist/devices/amina.d.ts.map +1 -0
  67. package/dist/devices/amina.js +360 -0
  68. package/dist/devices/amina.js.map +1 -0
  69. package/dist/devices/anchor.d.ts +3 -0
  70. package/dist/devices/anchor.d.ts.map +1 -0
  71. package/dist/devices/anchor.js +47 -0
  72. package/dist/devices/anchor.js.map +1 -0
  73. package/dist/devices/atlantic.d.ts +3 -0
  74. package/dist/devices/atlantic.d.ts.map +1 -0
  75. package/dist/devices/atlantic.js +147 -0
  76. package/dist/devices/atlantic.js.map +1 -0
  77. package/dist/devices/atsmart.d.ts +3 -0
  78. package/dist/devices/atsmart.d.ts.map +1 -0
  79. package/dist/devices/atsmart.js +47 -0
  80. package/dist/devices/atsmart.js.map +1 -0
  81. package/dist/devices/aubess.d.ts +3 -0
  82. package/dist/devices/aubess.d.ts.map +1 -0
  83. package/dist/devices/aubess.js +60 -0
  84. package/dist/devices/aubess.js.map +1 -0
  85. package/dist/devices/aurora_lighting.d.ts +3 -0
  86. package/dist/devices/aurora_lighting.d.ts.map +1 -0
  87. package/dist/devices/aurora_lighting.js +347 -0
  88. package/dist/devices/aurora_lighting.js.map +1 -0
  89. package/dist/devices/automaton.d.ts +3 -0
  90. package/dist/devices/automaton.d.ts.map +1 -0
  91. package/dist/devices/automaton.js +64 -0
  92. package/dist/devices/automaton.js.map +1 -0
  93. package/dist/devices/avatto.d.ts +3 -0
  94. package/dist/devices/avatto.d.ts.map +1 -0
  95. package/dist/devices/avatto.js +635 -0
  96. package/dist/devices/avatto.js.map +1 -0
  97. package/dist/devices/awox.d.ts +3 -0
  98. package/dist/devices/awox.d.ts.map +1 -0
  99. package/dist/devices/awox.js +352 -0
  100. package/dist/devices/awox.js.map +1 -0
  101. package/dist/devices/axis.d.ts +3 -0
  102. package/dist/devices/axis.d.ts.map +1 -0
  103. package/dist/devices/axis.js +59 -0
  104. package/dist/devices/axis.js.map +1 -0
  105. package/dist/devices/bacchus.d.ts +3 -0
  106. package/dist/devices/bacchus.d.ts.map +1 -0
  107. package/dist/devices/bacchus.js +902 -0
  108. package/dist/devices/bacchus.js.map +1 -0
  109. package/dist/devices/bankamp.d.ts +3 -0
  110. package/dist/devices/bankamp.d.ts.map +1 -0
  111. package/dist/devices/bankamp.js +47 -0
  112. package/dist/devices/bankamp.js.map +1 -0
  113. package/dist/devices/bega.d.ts +3 -0
  114. package/dist/devices/bega.d.ts.map +1 -0
  115. package/dist/devices/bega.js +68 -0
  116. package/dist/devices/bega.js.map +1 -0
  117. package/dist/devices/belkin.d.ts +3 -0
  118. package/dist/devices/belkin.d.ts.map +1 -0
  119. package/dist/devices/belkin.js +47 -0
  120. package/dist/devices/belkin.js.map +1 -0
  121. package/dist/devices/bitron.d.ts +3 -0
  122. package/dist/devices/bitron.d.ts.map +1 -0
  123. package/dist/devices/bitron.js +357 -0
  124. package/dist/devices/bitron.js.map +1 -0
  125. package/dist/devices/bituo_technik.d.ts +3 -0
  126. package/dist/devices/bituo_technik.d.ts.map +1 -0
  127. package/dist/devices/bituo_technik.js +487 -0
  128. package/dist/devices/bituo_technik.js.map +1 -0
  129. package/dist/devices/blaupunkt.d.ts +3 -0
  130. package/dist/devices/blaupunkt.d.ts.map +1 -0
  131. package/dist/devices/blaupunkt.js +64 -0
  132. package/dist/devices/blaupunkt.js.map +1 -0
  133. package/dist/devices/blitzwolf.d.ts +3 -0
  134. package/dist/devices/blitzwolf.d.ts.map +1 -0
  135. package/dist/devices/blitzwolf.js +77 -0
  136. package/dist/devices/blitzwolf.js.map +1 -0
  137. package/dist/devices/bosch.d.ts +3 -0
  138. package/dist/devices/bosch.d.ts.map +1 -0
  139. package/dist/devices/bosch.js +1381 -0
  140. package/dist/devices/bosch.js.map +1 -0
  141. package/dist/devices/bouffalo_lab.d.ts +3 -0
  142. package/dist/devices/bouffalo_lab.d.ts.map +1 -0
  143. package/dist/devices/bouffalo_lab.js +47 -0
  144. package/dist/devices/bouffalo_lab.js.map +1 -0
  145. package/dist/devices/box.d.ts +3 -0
  146. package/dist/devices/box.d.ts.map +1 -0
  147. package/dist/devices/box.js +370 -0
  148. package/dist/devices/box.js.map +1 -0
  149. package/dist/devices/brimate.d.ts +3 -0
  150. package/dist/devices/brimate.d.ts.map +1 -0
  151. package/dist/devices/brimate.js +51 -0
  152. package/dist/devices/brimate.js.map +1 -0
  153. package/dist/devices/brun_holding.d.ts +3 -0
  154. package/dist/devices/brun_holding.d.ts.map +1 -0
  155. package/dist/devices/brun_holding.js +59 -0
  156. package/dist/devices/brun_holding.js.map +1 -0
  157. package/dist/devices/bseed.d.ts +3 -0
  158. package/dist/devices/bseed.d.ts.map +1 -0
  159. package/dist/devices/bseed.js +53 -0
  160. package/dist/devices/bseed.js.map +1 -0
  161. package/dist/devices/bticino.d.ts +3 -0
  162. package/dist/devices/bticino.d.ts.map +1 -0
  163. package/dist/devices/bticino.js +111 -0
  164. package/dist/devices/bticino.js.map +1 -0
  165. package/dist/devices/bubendorff.d.ts +3 -0
  166. package/dist/devices/bubendorff.d.ts.map +1 -0
  167. package/dist/devices/bubendorff.js +47 -0
  168. package/dist/devices/bubendorff.js.map +1 -0
  169. package/dist/devices/busch_jaeger.d.ts +3 -0
  170. package/dist/devices/busch_jaeger.d.ts.map +1 -0
  171. package/dist/devices/busch_jaeger.js +163 -0
  172. package/dist/devices/busch_jaeger.js.map +1 -0
  173. package/dist/devices/byun.d.ts +3 -0
  174. package/dist/devices/byun.d.ts.map +1 -0
  175. package/dist/devices/byun.js +60 -0
  176. package/dist/devices/byun.js.map +1 -0
  177. package/dist/devices/calex.d.ts +3 -0
  178. package/dist/devices/calex.d.ts.map +1 -0
  179. package/dist/devices/calex.js +87 -0
  180. package/dist/devices/calex.js.map +1 -0
  181. package/dist/devices/candeo.d.ts +3 -0
  182. package/dist/devices/candeo.d.ts.map +1 -0
  183. package/dist/devices/candeo.js +887 -0
  184. package/dist/devices/candeo.js.map +1 -0
  185. package/dist/devices/casaia.d.ts +3 -0
  186. package/dist/devices/casaia.d.ts.map +1 -0
  187. package/dist/devices/casaia.js +95 -0
  188. package/dist/devices/casaia.js.map +1 -0
  189. package/dist/devices/cel.d.ts +3 -0
  190. package/dist/devices/cel.d.ts.map +1 -0
  191. package/dist/devices/cel.js +49 -0
  192. package/dist/devices/cel.js.map +1 -0
  193. package/dist/devices/centralite.d.ts +28 -0
  194. package/dist/devices/centralite.d.ts.map +1 -0
  195. package/dist/devices/centralite.js +440 -0
  196. package/dist/devices/centralite.js.map +1 -0
  197. package/dist/devices/chacon.d.ts +3 -0
  198. package/dist/devices/chacon.d.ts.map +1 -0
  199. package/dist/devices/chacon.js +57 -0
  200. package/dist/devices/chacon.js.map +1 -0
  201. package/dist/devices/cleode.d.ts +3 -0
  202. package/dist/devices/cleode.d.ts.map +1 -0
  203. package/dist/devices/cleode.js +47 -0
  204. package/dist/devices/cleode.js.map +1 -0
  205. package/dist/devices/cleverio.d.ts +3 -0
  206. package/dist/devices/cleverio.d.ts.map +1 -0
  207. package/dist/devices/cleverio.js +74 -0
  208. package/dist/devices/cleverio.js.map +1 -0
  209. package/dist/devices/climax.d.ts +3 -0
  210. package/dist/devices/climax.d.ts.map +1 -0
  211. package/dist/devices/climax.js +184 -0
  212. package/dist/devices/climax.js.map +1 -0
  213. package/dist/devices/commercial_electric.d.ts +3 -0
  214. package/dist/devices/commercial_electric.d.ts.map +1 -0
  215. package/dist/devices/commercial_electric.js +47 -0
  216. package/dist/devices/commercial_electric.js.map +1 -0
  217. package/dist/devices/cree.d.ts +3 -0
  218. package/dist/devices/cree.d.ts.map +1 -0
  219. package/dist/devices/cree.js +47 -0
  220. package/dist/devices/cree.js.map +1 -0
  221. package/dist/devices/ctm.d.ts +3 -0
  222. package/dist/devices/ctm.d.ts.map +1 -0
  223. package/dist/devices/ctm.js +1411 -0
  224. package/dist/devices/ctm.js.map +1 -0
  225. package/dist/devices/current_products_corp.d.ts +3 -0
  226. package/dist/devices/current_products_corp.d.ts.map +1 -0
  227. package/dist/devices/current_products_corp.js +60 -0
  228. package/dist/devices/current_products_corp.js.map +1 -0
  229. package/dist/devices/custom_devices_diy.d.ts +3 -0
  230. package/dist/devices/custom_devices_diy.d.ts.map +1 -0
  231. package/dist/devices/custom_devices_diy.js +1302 -0
  232. package/dist/devices/custom_devices_diy.js.map +1 -0
  233. package/dist/devices/cwd.d.ts +3 -0
  234. package/dist/devices/cwd.d.ts.map +1 -0
  235. package/dist/devices/cwd.js +47 -0
  236. package/dist/devices/cwd.js.map +1 -0
  237. package/dist/devices/cy_lighting.d.ts +3 -0
  238. package/dist/devices/cy_lighting.d.ts.map +1 -0
  239. package/dist/devices/cy_lighting.js +47 -0
  240. package/dist/devices/cy_lighting.js.map +1 -0
  241. package/dist/devices/danalock.d.ts +3 -0
  242. package/dist/devices/danalock.d.ts.map +1 -0
  243. package/dist/devices/danalock.js +61 -0
  244. package/dist/devices/danalock.js.map +1 -0
  245. package/dist/devices/danfoss.d.ts +3 -0
  246. package/dist/devices/danfoss.d.ts.map +1 -0
  247. package/dist/devices/danfoss.js +793 -0
  248. package/dist/devices/danfoss.js.map +1 -0
  249. package/dist/devices/databyte.d.ts +3 -0
  250. package/dist/devices/databyte.d.ts.map +1 -0
  251. package/dist/devices/databyte.js +90 -0
  252. package/dist/devices/databyte.js.map +1 -0
  253. package/dist/devices/datek.d.ts +3 -0
  254. package/dist/devices/datek.d.ts.map +1 -0
  255. package/dist/devices/datek.js +303 -0
  256. package/dist/devices/datek.js.map +1 -0
  257. package/dist/devices/dawon_dns.d.ts +3 -0
  258. package/dist/devices/dawon_dns.d.ts.map +1 -0
  259. package/dist/devices/dawon_dns.js +314 -0
  260. package/dist/devices/dawon_dns.js.map +1 -0
  261. package/dist/devices/develco.d.ts +3 -0
  262. package/dist/devices/develco.d.ts.map +1 -0
  263. package/dist/devices/develco.js +1113 -0
  264. package/dist/devices/develco.js.map +1 -0
  265. package/dist/devices/digi.d.ts +3 -0
  266. package/dist/devices/digi.d.ts.map +1 -0
  267. package/dist/devices/digi.js +24 -0
  268. package/dist/devices/digi.js.map +1 -0
  269. package/dist/devices/direct_signs.d.ts +3 -0
  270. package/dist/devices/direct_signs.d.ts.map +1 -0
  271. package/dist/devices/direct_signs.js +47 -0
  272. package/dist/devices/direct_signs.js.map +1 -0
  273. package/dist/devices/diyruz.d.ts +3 -0
  274. package/dist/devices/diyruz.d.ts.map +1 -0
  275. package/dist/devices/diyruz.js +397 -0
  276. package/dist/devices/diyruz.js.map +1 -0
  277. package/dist/devices/dlink.d.ts +3 -0
  278. package/dist/devices/dlink.d.ts.map +1 -0
  279. package/dist/devices/dlink.js +72 -0
  280. package/dist/devices/dlink.js.map +1 -0
  281. package/dist/devices/dnake.d.ts +3 -0
  282. package/dist/devices/dnake.d.ts.map +1 -0
  283. package/dist/devices/dnake.js +47 -0
  284. package/dist/devices/dnake.js.map +1 -0
  285. package/dist/devices/domraem.d.ts +3 -0
  286. package/dist/devices/domraem.d.ts.map +1 -0
  287. package/dist/devices/domraem.js +75 -0
  288. package/dist/devices/domraem.js.map +1 -0
  289. package/dist/devices/dowsing_reynolds.d.ts +3 -0
  290. package/dist/devices/dowsing_reynolds.d.ts.map +1 -0
  291. package/dist/devices/dowsing_reynolds.js +47 -0
  292. package/dist/devices/dowsing_reynolds.js.map +1 -0
  293. package/dist/devices/dqsmart.d.ts +3 -0
  294. package/dist/devices/dqsmart.d.ts.map +1 -0
  295. package/dist/devices/dqsmart.js +50 -0
  296. package/dist/devices/dqsmart.js.map +1 -0
  297. package/dist/devices/dresden_elektronik.d.ts +3 -0
  298. package/dist/devices/dresden_elektronik.d.ts.map +1 -0
  299. package/dist/devices/dresden_elektronik.js +167 -0
  300. package/dist/devices/dresden_elektronik.js.map +1 -0
  301. package/dist/devices/easyaccess.d.ts +3 -0
  302. package/dist/devices/easyaccess.d.ts.map +1 -0
  303. package/dist/devices/easyaccess.js +67 -0
  304. package/dist/devices/easyaccess.js.map +1 -0
  305. package/dist/devices/easyiot.d.ts +3 -0
  306. package/dist/devices/easyiot.d.ts.map +1 -0
  307. package/dist/devices/easyiot.js +359 -0
  308. package/dist/devices/easyiot.js.map +1 -0
  309. package/dist/devices/eatonhalo_led.d.ts +3 -0
  310. package/dist/devices/eatonhalo_led.d.ts.map +1 -0
  311. package/dist/devices/eatonhalo_led.js +47 -0
  312. package/dist/devices/eatonhalo_led.js.map +1 -0
  313. package/dist/devices/echostar.d.ts +3 -0
  314. package/dist/devices/echostar.d.ts.map +1 -0
  315. package/dist/devices/echostar.js +61 -0
  316. package/dist/devices/echostar.js.map +1 -0
  317. package/dist/devices/ecodim.d.ts +3 -0
  318. package/dist/devices/ecodim.d.ts.map +1 -0
  319. package/dist/devices/ecodim.js +274 -0
  320. package/dist/devices/ecodim.js.map +1 -0
  321. package/dist/devices/ecolink.d.ts +3 -0
  322. package/dist/devices/ecolink.d.ts.map +1 -0
  323. package/dist/devices/ecolink.js +57 -0
  324. package/dist/devices/ecolink.js.map +1 -0
  325. package/dist/devices/ecosmart.d.ts +3 -0
  326. package/dist/devices/ecosmart.d.ts.map +1 -0
  327. package/dist/devices/ecosmart.js +115 -0
  328. package/dist/devices/ecosmart.js.map +1 -0
  329. package/dist/devices/ecozy.d.ts +3 -0
  330. package/dist/devices/ecozy.d.ts.map +1 -0
  331. package/dist/devices/ecozy.js +85 -0
  332. package/dist/devices/ecozy.js.map +1 -0
  333. package/dist/devices/edp.d.ts +3 -0
  334. package/dist/devices/edp.d.ts.map +1 -0
  335. package/dist/devices/edp.js +70 -0
  336. package/dist/devices/edp.js.map +1 -0
  337. package/dist/devices/efekta.d.ts +3 -0
  338. package/dist/devices/efekta.d.ts.map +1 -0
  339. package/dist/devices/efekta.js +8230 -0
  340. package/dist/devices/efekta.js.map +1 -0
  341. package/dist/devices/eglo.d.ts +3 -0
  342. package/dist/devices/eglo.d.ts.map +1 -0
  343. package/dist/devices/eglo.js +142 -0
  344. package/dist/devices/eglo.js.map +1 -0
  345. package/dist/devices/elko.d.ts +27 -0
  346. package/dist/devices/elko.d.ts.map +1 -0
  347. package/dist/devices/elko.js +306 -0
  348. package/dist/devices/elko.js.map +1 -0
  349. package/dist/devices/enbrighten.d.ts +3 -0
  350. package/dist/devices/enbrighten.d.ts.map +1 -0
  351. package/dist/devices/enbrighten.js +152 -0
  352. package/dist/devices/enbrighten.js.map +1 -0
  353. package/dist/devices/engo.d.ts +3 -0
  354. package/dist/devices/engo.d.ts.map +1 -0
  355. package/dist/devices/engo.js +1041 -0
  356. package/dist/devices/engo.js.map +1 -0
  357. package/dist/devices/enkin.d.ts +3 -0
  358. package/dist/devices/enkin.d.ts.map +1 -0
  359. package/dist/devices/enkin.js +14 -0
  360. package/dist/devices/enkin.js.map +1 -0
  361. package/dist/devices/enocean.d.ts +3 -0
  362. package/dist/devices/enocean.d.ts.map +1 -0
  363. package/dist/devices/enocean.js +150 -0
  364. package/dist/devices/enocean.js.map +1 -0
  365. package/dist/devices/envilar.d.ts +3 -0
  366. package/dist/devices/envilar.d.ts.map +1 -0
  367. package/dist/devices/envilar.js +131 -0
  368. package/dist/devices/envilar.js.map +1 -0
  369. package/dist/devices/espressif.d.ts +3 -0
  370. package/dist/devices/espressif.d.ts.map +1 -0
  371. package/dist/devices/espressif.js +61 -0
  372. package/dist/devices/espressif.js.map +1 -0
  373. package/dist/devices/essentialb.d.ts +3 -0
  374. package/dist/devices/essentialb.d.ts.map +1 -0
  375. package/dist/devices/essentialb.js +133 -0
  376. package/dist/devices/essentialb.js.map +1 -0
  377. package/dist/devices/essentials.d.ts +3 -0
  378. package/dist/devices/essentials.d.ts.map +1 -0
  379. package/dist/devices/essentials.js +150 -0
  380. package/dist/devices/essentials.js.map +1 -0
  381. package/dist/devices/eucontrols.d.ts +3 -0
  382. package/dist/devices/eucontrols.d.ts.map +1 -0
  383. package/dist/devices/eucontrols.js +47 -0
  384. package/dist/devices/eucontrols.js.map +1 -0
  385. package/dist/devices/eurotronic.d.ts +3 -0
  386. package/dist/devices/eurotronic.d.ts.map +1 -0
  387. package/dist/devices/eurotronic.js +278 -0
  388. package/dist/devices/eurotronic.js.map +1 -0
  389. package/dist/devices/evanell.d.ts +3 -0
  390. package/dist/devices/evanell.d.ts.map +1 -0
  391. package/dist/devices/evanell.js +66 -0
  392. package/dist/devices/evanell.js.map +1 -0
  393. package/dist/devices/evn.d.ts +3 -0
  394. package/dist/devices/evn.d.ts.map +1 -0
  395. package/dist/devices/evn.js +97 -0
  396. package/dist/devices/evn.js.map +1 -0
  397. package/dist/devices/evology.d.ts +3 -0
  398. package/dist/devices/evology.d.ts.map +1 -0
  399. package/dist/devices/evology.js +60 -0
  400. package/dist/devices/evology.js.map +1 -0
  401. package/dist/devices/evvr.d.ts +3 -0
  402. package/dist/devices/evvr.d.ts.map +1 -0
  403. package/dist/devices/evvr.js +47 -0
  404. package/dist/devices/evvr.js.map +1 -0
  405. package/dist/devices/ewelink.d.ts +3 -0
  406. package/dist/devices/ewelink.d.ts.map +1 -0
  407. package/dist/devices/ewelink.js +326 -0
  408. package/dist/devices/ewelink.js.map +1 -0
  409. package/dist/devices/ezex.d.ts +3 -0
  410. package/dist/devices/ezex.d.ts.map +1 -0
  411. package/dist/devices/ezex.js +47 -0
  412. package/dist/devices/ezex.js.map +1 -0
  413. package/dist/devices/ezviz.d.ts +3 -0
  414. package/dist/devices/ezviz.d.ts.map +1 -0
  415. package/dist/devices/ezviz.js +47 -0
  416. package/dist/devices/ezviz.js.map +1 -0
  417. package/dist/devices/fantem.d.ts +3 -0
  418. package/dist/devices/fantem.d.ts.map +1 -0
  419. package/dist/devices/fantem.js +112 -0
  420. package/dist/devices/fantem.js.map +1 -0
  421. package/dist/devices/feibit.d.ts +3 -0
  422. package/dist/devices/feibit.d.ts.map +1 -0
  423. package/dist/devices/feibit.js +335 -0
  424. package/dist/devices/feibit.js.map +1 -0
  425. package/dist/devices/fireangel.d.ts +3 -0
  426. package/dist/devices/fireangel.d.ts.map +1 -0
  427. package/dist/devices/fireangel.js +96 -0
  428. package/dist/devices/fireangel.js.map +1 -0
  429. package/dist/devices/frankever.d.ts +3 -0
  430. package/dist/devices/frankever.d.ts.map +1 -0
  431. package/dist/devices/frankever.js +67 -0
  432. package/dist/devices/frankever.js.map +1 -0
  433. package/dist/devices/frient.d.ts +3 -0
  434. package/dist/devices/frient.d.ts.map +1 -0
  435. package/dist/devices/frient.js +84 -0
  436. package/dist/devices/frient.js.map +1 -0
  437. package/dist/devices/futurehome.d.ts +3 -0
  438. package/dist/devices/futurehome.d.ts.map +1 -0
  439. package/dist/devices/futurehome.js +137 -0
  440. package/dist/devices/futurehome.js.map +1 -0
  441. package/dist/devices/ge.d.ts +3 -0
  442. package/dist/devices/ge.d.ts.map +1 -0
  443. package/dist/devices/ge.js +130 -0
  444. package/dist/devices/ge.js.map +1 -0
  445. package/dist/devices/gewiss.d.ts +3 -0
  446. package/dist/devices/gewiss.d.ts.map +1 -0
  447. package/dist/devices/gewiss.js +148 -0
  448. package/dist/devices/gewiss.js.map +1 -0
  449. package/dist/devices/gidealed.d.ts +3 -0
  450. package/dist/devices/gidealed.d.ts.map +1 -0
  451. package/dist/devices/gidealed.js +47 -0
  452. package/dist/devices/gidealed.js.map +1 -0
  453. package/dist/devices/giderwel.d.ts +3 -0
  454. package/dist/devices/giderwel.d.ts.map +1 -0
  455. package/dist/devices/giderwel.js +47 -0
  456. package/dist/devices/giderwel.js.map +1 -0
  457. package/dist/devices/giex.d.ts +3 -0
  458. package/dist/devices/giex.d.ts.map +1 -0
  459. package/dist/devices/giex.js +114 -0
  460. package/dist/devices/giex.js.map +1 -0
  461. package/dist/devices/girier.d.ts +3 -0
  462. package/dist/devices/girier.d.ts.map +1 -0
  463. package/dist/devices/girier.js +51 -0
  464. package/dist/devices/girier.js.map +1 -0
  465. package/dist/devices/gledopto.d.ts +3 -0
  466. package/dist/devices/gledopto.d.ts.map +1 -0
  467. package/dist/devices/gledopto.js +1395 -0
  468. package/dist/devices/gledopto.js.map +1 -0
  469. package/dist/devices/gmmts.d.ts +3 -0
  470. package/dist/devices/gmmts.d.ts.map +1 -0
  471. package/dist/devices/gmmts.js +2267 -0
  472. package/dist/devices/gmmts.js.map +1 -0
  473. package/dist/devices/gmy.d.ts +3 -0
  474. package/dist/devices/gmy.d.ts.map +1 -0
  475. package/dist/devices/gmy.js +47 -0
  476. package/dist/devices/gmy.js.map +1 -0
  477. package/dist/devices/gs.d.ts +3 -0
  478. package/dist/devices/gs.d.ts.map +1 -0
  479. package/dist/devices/gs.js +121 -0
  480. package/dist/devices/gs.js.map +1 -0
  481. package/dist/devices/gumax.d.ts +3 -0
  482. package/dist/devices/gumax.d.ts.map +1 -0
  483. package/dist/devices/gumax.js +47 -0
  484. package/dist/devices/gumax.js.map +1 -0
  485. package/dist/devices/halemeier.d.ts +3 -0
  486. package/dist/devices/halemeier.d.ts.map +1 -0
  487. package/dist/devices/halemeier.js +142 -0
  488. package/dist/devices/halemeier.js.map +1 -0
  489. package/dist/devices/hampton_bay.d.ts +3 -0
  490. package/dist/devices/hampton_bay.d.ts.map +1 -0
  491. package/dist/devices/hampton_bay.js +68 -0
  492. package/dist/devices/hampton_bay.js.map +1 -0
  493. package/dist/devices/heatit.d.ts +3 -0
  494. package/dist/devices/heatit.d.ts.map +1 -0
  495. package/dist/devices/heatit.js +47 -0
  496. package/dist/devices/heatit.js.map +1 -0
  497. package/dist/devices/heiman.d.ts +3 -0
  498. package/dist/devices/heiman.d.ts.map +1 -0
  499. package/dist/devices/heiman.js +2092 -0
  500. package/dist/devices/heiman.js.map +1 -0
  501. package/dist/devices/heimgard_technologies.d.ts +3 -0
  502. package/dist/devices/heimgard_technologies.d.ts.map +1 -0
  503. package/dist/devices/heimgard_technologies.js +189 -0
  504. package/dist/devices/heimgard_technologies.js.map +1 -0
  505. package/dist/devices/hej.d.ts +3 -0
  506. package/dist/devices/hej.d.ts.map +1 -0
  507. package/dist/devices/hej.js +126 -0
  508. package/dist/devices/hej.js.map +1 -0
  509. package/dist/devices/hfh.d.ts +3 -0
  510. package/dist/devices/hfh.d.ts.map +1 -0
  511. package/dist/devices/hfh.js +47 -0
  512. package/dist/devices/hfh.js.map +1 -0
  513. package/dist/devices/hilux.d.ts +3 -0
  514. package/dist/devices/hilux.d.ts.map +1 -0
  515. package/dist/devices/hilux.js +54 -0
  516. package/dist/devices/hilux.js.map +1 -0
  517. package/dist/devices/hive.d.ts +3 -0
  518. package/dist/devices/hive.d.ts.map +1 -0
  519. package/dist/devices/hive.js +798 -0
  520. package/dist/devices/hive.js.map +1 -0
  521. package/dist/devices/hoftronic.d.ts +3 -0
  522. package/dist/devices/hoftronic.d.ts.map +1 -0
  523. package/dist/devices/hoftronic.js +56 -0
  524. package/dist/devices/hoftronic.js.map +1 -0
  525. package/dist/devices/homeseer.d.ts +3 -0
  526. package/dist/devices/homeseer.d.ts.map +1 -0
  527. package/dist/devices/homeseer.js +53 -0
  528. package/dist/devices/homeseer.js.map +1 -0
  529. package/dist/devices/hommyn.d.ts +3 -0
  530. package/dist/devices/hommyn.d.ts.map +1 -0
  531. package/dist/devices/hommyn.js +60 -0
  532. package/dist/devices/hommyn.js.map +1 -0
  533. package/dist/devices/honyar.d.ts +3 -0
  534. package/dist/devices/honyar.d.ts.map +1 -0
  535. package/dist/devices/honyar.js +167 -0
  536. package/dist/devices/honyar.js.map +1 -0
  537. package/dist/devices/hornbach.d.ts +3 -0
  538. package/dist/devices/hornbach.d.ts.map +1 -0
  539. package/dist/devices/hornbach.js +138 -0
  540. package/dist/devices/hornbach.js.map +1 -0
  541. package/dist/devices/hzc_electric.d.ts +3 -0
  542. package/dist/devices/hzc_electric.d.ts.map +1 -0
  543. package/dist/devices/hzc_electric.js +102 -0
  544. package/dist/devices/hzc_electric.js.map +1 -0
  545. package/dist/devices/icasa.d.ts +3 -0
  546. package/dist/devices/icasa.d.ts.map +1 -0
  547. package/dist/devices/icasa.js +174 -0
  548. package/dist/devices/icasa.js.map +1 -0
  549. package/dist/devices/idinio.d.ts +3 -0
  550. package/dist/devices/idinio.d.ts.map +1 -0
  551. package/dist/devices/idinio.js +47 -0
  552. package/dist/devices/idinio.js.map +1 -0
  553. package/dist/devices/ihorn.d.ts +3 -0
  554. package/dist/devices/ihorn.d.ts.map +1 -0
  555. package/dist/devices/ihorn.js +105 -0
  556. package/dist/devices/ihorn.js.map +1 -0
  557. package/dist/devices/ikea.d.ts +3 -0
  558. package/dist/devices/ikea.d.ts.map +1 -0
  559. package/dist/devices/ikea.js +1241 -0
  560. package/dist/devices/ikea.js.map +1 -0
  561. package/dist/devices/ilightsin.d.ts +3 -0
  562. package/dist/devices/ilightsin.d.ts.map +1 -0
  563. package/dist/devices/ilightsin.js +59 -0
  564. package/dist/devices/ilightsin.js.map +1 -0
  565. package/dist/devices/iluminize.d.ts +3 -0
  566. package/dist/devices/iluminize.d.ts.map +1 -0
  567. package/dist/devices/iluminize.js +385 -0
  568. package/dist/devices/iluminize.js.map +1 -0
  569. package/dist/devices/ilux.d.ts +3 -0
  570. package/dist/devices/ilux.d.ts.map +1 -0
  571. package/dist/devices/ilux.js +47 -0
  572. package/dist/devices/ilux.js.map +1 -0
  573. package/dist/devices/imhotepcreation.d.ts +3 -0
  574. package/dist/devices/imhotepcreation.d.ts.map +1 -0
  575. package/dist/devices/imhotepcreation.js +240 -0
  576. package/dist/devices/imhotepcreation.js.map +1 -0
  577. package/dist/devices/immax.d.ts +3 -0
  578. package/dist/devices/immax.d.ts.map +1 -0
  579. package/dist/devices/immax.js +471 -0
  580. package/dist/devices/immax.js.map +1 -0
  581. package/dist/devices/imou.d.ts +3 -0
  582. package/dist/devices/imou.d.ts.map +1 -0
  583. package/dist/devices/imou.js +109 -0
  584. package/dist/devices/imou.js.map +1 -0
  585. package/dist/devices/index.d.ts +4 -0
  586. package/dist/devices/index.d.ts.map +1 -0
  587. package/dist/devices/index.js +738 -0
  588. package/dist/devices/index.js.map +1 -0
  589. package/dist/devices/innr.d.ts +3 -0
  590. package/dist/devices/innr.d.ts.map +1 -0
  591. package/dist/devices/innr.js +1033 -0
  592. package/dist/devices/innr.js.map +1 -0
  593. package/dist/devices/inovelli.d.ts +3 -0
  594. package/dist/devices/inovelli.d.ts.map +1 -0
  595. package/dist/devices/inovelli.js +2474 -0
  596. package/dist/devices/inovelli.js.map +1 -0
  597. package/dist/devices/insta.d.ts +3 -0
  598. package/dist/devices/insta.d.ts.map +1 -0
  599. package/dist/devices/insta.js +182 -0
  600. package/dist/devices/insta.js.map +1 -0
  601. package/dist/devices/intuis.d.ts +3 -0
  602. package/dist/devices/intuis.d.ts.map +1 -0
  603. package/dist/devices/intuis.js +95 -0
  604. package/dist/devices/intuis.js.map +1 -0
  605. package/dist/devices/iolloi.d.ts +3 -0
  606. package/dist/devices/iolloi.d.ts.map +1 -0
  607. package/dist/devices/iolloi.js +48 -0
  608. package/dist/devices/iolloi.js.map +1 -0
  609. package/dist/devices/iotperfect.d.ts +3 -0
  610. package/dist/devices/iotperfect.d.ts.map +1 -0
  611. package/dist/devices/iotperfect.js +60 -0
  612. package/dist/devices/iotperfect.js.map +1 -0
  613. package/dist/devices/iris.d.ts +3 -0
  614. package/dist/devices/iris.d.ts.map +1 -0
  615. package/dist/devices/iris.js +208 -0
  616. package/dist/devices/iris.js.map +1 -0
  617. package/dist/devices/istar.d.ts +3 -0
  618. package/dist/devices/istar.d.ts.map +1 -0
  619. package/dist/devices/istar.js +61 -0
  620. package/dist/devices/istar.js.map +1 -0
  621. package/dist/devices/jasco.d.ts +3 -0
  622. package/dist/devices/jasco.d.ts.map +1 -0
  623. package/dist/devices/jasco.js +63 -0
  624. package/dist/devices/jasco.js.map +1 -0
  625. package/dist/devices/javis.d.ts +3 -0
  626. package/dist/devices/javis.d.ts.map +1 -0
  627. package/dist/devices/javis.js +77 -0
  628. package/dist/devices/javis.js.map +1 -0
  629. package/dist/devices/jethome.d.ts +3 -0
  630. package/dist/devices/jethome.d.ts.map +1 -0
  631. package/dist/devices/jethome.js +120 -0
  632. package/dist/devices/jethome.js.map +1 -0
  633. package/dist/devices/jiawen.d.ts +3 -0
  634. package/dist/devices/jiawen.d.ts.map +1 -0
  635. package/dist/devices/jiawen.js +54 -0
  636. package/dist/devices/jiawen.js.map +1 -0
  637. package/dist/devices/jumitech.d.ts +3 -0
  638. package/dist/devices/jumitech.d.ts.map +1 -0
  639. package/dist/devices/jumitech.js +47 -0
  640. package/dist/devices/jumitech.js.map +1 -0
  641. package/dist/devices/jxuan.d.ts +3 -0
  642. package/dist/devices/jxuan.d.ts.map +1 -0
  643. package/dist/devices/jxuan.js +85 -0
  644. package/dist/devices/jxuan.js.map +1 -0
  645. package/dist/devices/kami.d.ts +3 -0
  646. package/dist/devices/kami.d.ts.map +1 -0
  647. package/dist/devices/kami.js +51 -0
  648. package/dist/devices/kami.js.map +1 -0
  649. package/dist/devices/keen_home.d.ts +3 -0
  650. package/dist/devices/keen_home.d.ts.map +1 -0
  651. package/dist/devices/keen_home.js +155 -0
  652. package/dist/devices/keen_home.js.map +1 -0
  653. package/dist/devices/klikaanklikuit.d.ts +3 -0
  654. package/dist/devices/klikaanklikuit.d.ts.map +1 -0
  655. package/dist/devices/klikaanklikuit.js +54 -0
  656. package/dist/devices/klikaanklikuit.js.map +1 -0
  657. package/dist/devices/kmpcil.d.ts +3 -0
  658. package/dist/devices/kmpcil.d.ts.map +1 -0
  659. package/dist/devices/kmpcil.js +212 -0
  660. package/dist/devices/kmpcil.js.map +1 -0
  661. package/dist/devices/konke.d.ts +3 -0
  662. package/dist/devices/konke.d.ts.map +1 -0
  663. package/dist/devices/konke.js +207 -0
  664. package/dist/devices/konke.js.map +1 -0
  665. package/dist/devices/ksentry.d.ts +3 -0
  666. package/dist/devices/ksentry.d.ts.map +1 -0
  667. package/dist/devices/ksentry.js +47 -0
  668. package/dist/devices/ksentry.js.map +1 -0
  669. package/dist/devices/kurvia.d.ts +3 -0
  670. package/dist/devices/kurvia.d.ts.map +1 -0
  671. package/dist/devices/kurvia.js +49 -0
  672. package/dist/devices/kurvia.js.map +1 -0
  673. package/dist/devices/kwikset.d.ts +3 -0
  674. package/dist/devices/kwikset.d.ts.map +1 -0
  675. package/dist/devices/kwikset.js +153 -0
  676. package/dist/devices/kwikset.js.map +1 -0
  677. package/dist/devices/lanesto.d.ts +3 -0
  678. package/dist/devices/lanesto.d.ts.map +1 -0
  679. package/dist/devices/lanesto.js +47 -0
  680. package/dist/devices/lanesto.js.map +1 -0
  681. package/dist/devices/lds.d.ts +3 -0
  682. package/dist/devices/lds.d.ts.map +1 -0
  683. package/dist/devices/lds.js +54 -0
  684. package/dist/devices/lds.js.map +1 -0
  685. package/dist/devices/led_trading.d.ts +3 -0
  686. package/dist/devices/led_trading.d.ts.map +1 -0
  687. package/dist/devices/led_trading.js +108 -0
  688. package/dist/devices/led_trading.js.map +1 -0
  689. package/dist/devices/ledvance.d.ts +3 -0
  690. package/dist/devices/ledvance.d.ts.map +1 -0
  691. package/dist/devices/ledvance.js +407 -0
  692. package/dist/devices/ledvance.js.map +1 -0
  693. package/dist/devices/leedarson.d.ts +3 -0
  694. package/dist/devices/leedarson.d.ts.map +1 -0
  695. package/dist/devices/leedarson.js +180 -0
  696. package/dist/devices/leedarson.js.map +1 -0
  697. package/dist/devices/legrand.d.ts +3 -0
  698. package/dist/devices/legrand.d.ts.map +1 -0
  699. package/dist/devices/legrand.js +809 -0
  700. package/dist/devices/legrand.js.map +1 -0
  701. package/dist/devices/lellki.d.ts +3 -0
  702. package/dist/devices/lellki.d.ts.map +1 -0
  703. package/dist/devices/lellki.js +162 -0
  704. package/dist/devices/lellki.js.map +1 -0
  705. package/dist/devices/letsled.d.ts +3 -0
  706. package/dist/devices/letsled.d.ts.map +1 -0
  707. package/dist/devices/letsled.js +47 -0
  708. package/dist/devices/letsled.js.map +1 -0
  709. package/dist/devices/letv.d.ts +3 -0
  710. package/dist/devices/letv.d.ts.map +1 -0
  711. package/dist/devices/letv.js +86 -0
  712. package/dist/devices/letv.js.map +1 -0
  713. package/dist/devices/leviton.d.ts +3 -0
  714. package/dist/devices/leviton.d.ts.map +1 -0
  715. package/dist/devices/leviton.js +160 -0
  716. package/dist/devices/leviton.js.map +1 -0
  717. package/dist/devices/lg.d.ts +3 -0
  718. package/dist/devices/lg.d.ts.map +1 -0
  719. package/dist/devices/lg.js +61 -0
  720. package/dist/devices/lg.js.map +1 -0
  721. package/dist/devices/lidl.d.ts +3 -0
  722. package/dist/devices/lidl.d.ts.map +1 -0
  723. package/dist/devices/lidl.js +669 -0
  724. package/dist/devices/lidl.js.map +1 -0
  725. package/dist/devices/lifecontrol.d.ts +3 -0
  726. package/dist/devices/lifecontrol.d.ts.map +1 -0
  727. package/dist/devices/lifecontrol.js +141 -0
  728. package/dist/devices/lifecontrol.js.map +1 -0
  729. package/dist/devices/lightsolutions.d.ts +3 -0
  730. package/dist/devices/lightsolutions.d.ts.map +1 -0
  731. package/dist/devices/lightsolutions.js +90 -0
  732. package/dist/devices/lightsolutions.js.map +1 -0
  733. package/dist/devices/lincukoo.d.ts +3 -0
  734. package/dist/devices/lincukoo.d.ts.map +1 -0
  735. package/dist/devices/lincukoo.js +788 -0
  736. package/dist/devices/lincukoo.js.map +1 -0
  737. package/dist/devices/linkind.d.ts +3 -0
  738. package/dist/devices/linkind.d.ts.map +1 -0
  739. package/dist/devices/linkind.js +251 -0
  740. package/dist/devices/linkind.js.map +1 -0
  741. package/dist/devices/linptech.d.ts +3 -0
  742. package/dist/devices/linptech.d.ts.map +1 -0
  743. package/dist/devices/linptech.js +157 -0
  744. package/dist/devices/linptech.js.map +1 -0
  745. package/dist/devices/livingwise.d.ts +3 -0
  746. package/dist/devices/livingwise.d.ts.map +1 -0
  747. package/dist/devices/livingwise.js +115 -0
  748. package/dist/devices/livingwise.js.map +1 -0
  749. package/dist/devices/livolo.d.ts +3 -0
  750. package/dist/devices/livolo.d.ts.map +1 -0
  751. package/dist/devices/livolo.js +263 -0
  752. package/dist/devices/livolo.js.map +1 -0
  753. package/dist/devices/lixee.d.ts +3 -0
  754. package/dist/devices/lixee.d.ts.map +1 -0
  755. package/dist/devices/lixee.js +2038 -0
  756. package/dist/devices/lixee.js.map +1 -0
  757. package/dist/devices/lonsonho.d.ts +3 -0
  758. package/dist/devices/lonsonho.d.ts.map +1 -0
  759. package/dist/devices/lonsonho.js +310 -0
  760. package/dist/devices/lonsonho.js.map +1 -0
  761. package/dist/devices/ls.d.ts +3 -0
  762. package/dist/devices/ls.d.ts.map +1 -0
  763. package/dist/devices/ls.js +152 -0
  764. package/dist/devices/ls.js.map +1 -0
  765. package/dist/devices/lubeez.d.ts +3 -0
  766. package/dist/devices/lubeez.d.ts.map +1 -0
  767. package/dist/devices/lubeez.js +47 -0
  768. package/dist/devices/lubeez.js.map +1 -0
  769. package/dist/devices/lumi.d.ts +3 -0
  770. package/dist/devices/lumi.d.ts.map +1 -0
  771. package/dist/devices/lumi.js +5345 -0
  772. package/dist/devices/lumi.js.map +1 -0
  773. package/dist/devices/lupus.d.ts +3 -0
  774. package/dist/devices/lupus.d.ts.map +1 -0
  775. package/dist/devices/lupus.js +94 -0
  776. package/dist/devices/lupus.js.map +1 -0
  777. package/dist/devices/lutron.d.ts +3 -0
  778. package/dist/devices/lutron.d.ts.map +1 -0
  779. package/dist/devices/lutron.js +81 -0
  780. package/dist/devices/lutron.js.map +1 -0
  781. package/dist/devices/lux.d.ts +3 -0
  782. package/dist/devices/lux.d.ts.map +1 -0
  783. package/dist/devices/lux.js +87 -0
  784. package/dist/devices/lux.js.map +1 -0
  785. package/dist/devices/lytko.d.ts +3 -0
  786. package/dist/devices/lytko.d.ts.map +1 -0
  787. package/dist/devices/lytko.js +1809 -0
  788. package/dist/devices/lytko.js.map +1 -0
  789. package/dist/devices/m_elec.d.ts +3 -0
  790. package/dist/devices/m_elec.d.ts.map +1 -0
  791. package/dist/devices/m_elec.js +68 -0
  792. package/dist/devices/m_elec.js.map +1 -0
  793. package/dist/devices/makegood.d.ts +3 -0
  794. package/dist/devices/makegood.d.ts.map +1 -0
  795. package/dist/devices/makegood.js +117 -0
  796. package/dist/devices/makegood.js.map +1 -0
  797. package/dist/devices/matcall_bv.d.ts +3 -0
  798. package/dist/devices/matcall_bv.d.ts.map +1 -0
  799. package/dist/devices/matcall_bv.js +54 -0
  800. package/dist/devices/matcall_bv.js.map +1 -0
  801. package/dist/devices/mazda.d.ts +3 -0
  802. package/dist/devices/mazda.d.ts.map +1 -0
  803. package/dist/devices/mazda.js +146 -0
  804. package/dist/devices/mazda.js.map +1 -0
  805. package/dist/devices/meazon.d.ts +3 -0
  806. package/dist/devices/meazon.d.ts.map +1 -0
  807. package/dist/devices/meazon.js +95 -0
  808. package/dist/devices/meazon.js.map +1 -0
  809. package/dist/devices/mercator.d.ts +3 -0
  810. package/dist/devices/mercator.d.ts.map +1 -0
  811. package/dist/devices/mercator.js +242 -0
  812. package/dist/devices/mercator.js.map +1 -0
  813. package/dist/devices/miboxer.d.ts +3 -0
  814. package/dist/devices/miboxer.d.ts.map +1 -0
  815. package/dist/devices/miboxer.js +304 -0
  816. package/dist/devices/miboxer.js.map +1 -0
  817. package/dist/devices/micromatic.d.ts +3 -0
  818. package/dist/devices/micromatic.d.ts.map +1 -0
  819. package/dist/devices/micromatic.js +47 -0
  820. package/dist/devices/micromatic.js.map +1 -0
  821. package/dist/devices/mill.d.ts +3 -0
  822. package/dist/devices/mill.d.ts.map +1 -0
  823. package/dist/devices/mill.js +52 -0
  824. package/dist/devices/mill.js.map +1 -0
  825. package/dist/devices/mindy.d.ts +3 -0
  826. package/dist/devices/mindy.d.ts.map +1 -0
  827. package/dist/devices/mindy.js +379 -0
  828. package/dist/devices/mindy.js.map +1 -0
  829. package/dist/devices/modular.d.ts +3 -0
  830. package/dist/devices/modular.d.ts.map +1 -0
  831. package/dist/devices/modular.js +47 -0
  832. package/dist/devices/modular.js.map +1 -0
  833. package/dist/devices/moes.d.ts +3 -0
  834. package/dist/devices/moes.d.ts.map +1 -0
  835. package/dist/devices/moes.js +2368 -0
  836. package/dist/devices/moes.js.map +1 -0
  837. package/dist/devices/muller_licht.d.ts +3 -0
  838. package/dist/devices/muller_licht.d.ts.map +1 -0
  839. package/dist/devices/muller_licht.js +366 -0
  840. package/dist/devices/muller_licht.js.map +1 -0
  841. package/dist/devices/multir.d.ts +3 -0
  842. package/dist/devices/multir.d.ts.map +1 -0
  843. package/dist/devices/multir.js +152 -0
  844. package/dist/devices/multir.js.map +1 -0
  845. package/dist/devices/multiterm.d.ts +3 -0
  846. package/dist/devices/multiterm.d.ts.map +1 -0
  847. package/dist/devices/multiterm.js +119 -0
  848. package/dist/devices/multiterm.js.map +1 -0
  849. package/dist/devices/namron.d.ts +3 -0
  850. package/dist/devices/namron.d.ts.map +1 -0
  851. package/dist/devices/namron.js +2004 -0
  852. package/dist/devices/namron.js.map +1 -0
  853. package/dist/devices/nanoleaf.d.ts +3 -0
  854. package/dist/devices/nanoleaf.d.ts.map +1 -0
  855. package/dist/devices/nanoleaf.js +47 -0
  856. package/dist/devices/nanoleaf.js.map +1 -0
  857. package/dist/devices/nedis.d.ts +3 -0
  858. package/dist/devices/nedis.d.ts.map +1 -0
  859. package/dist/devices/nedis.js +87 -0
  860. package/dist/devices/nedis.js.map +1 -0
  861. package/dist/devices/neo.d.ts +3 -0
  862. package/dist/devices/neo.d.ts.map +1 -0
  863. package/dist/devices/neo.js +526 -0
  864. package/dist/devices/neo.js.map +1 -0
  865. package/dist/devices/net2grid.d.ts +3 -0
  866. package/dist/devices/net2grid.d.ts.map +1 -0
  867. package/dist/devices/net2grid.js +64 -0
  868. package/dist/devices/net2grid.js.map +1 -0
  869. package/dist/devices/netvox.d.ts +3 -0
  870. package/dist/devices/netvox.d.ts.map +1 -0
  871. package/dist/devices/netvox.js +71 -0
  872. package/dist/devices/netvox.js.map +1 -0
  873. package/dist/devices/nexelec.d.ts +3 -0
  874. package/dist/devices/nexelec.d.ts.map +1 -0
  875. package/dist/devices/nexelec.js +47 -0
  876. package/dist/devices/nexelec.js.map +1 -0
  877. package/dist/devices/niko.d.ts +3 -0
  878. package/dist/devices/niko.d.ts.map +1 -0
  879. package/dist/devices/niko.js +769 -0
  880. package/dist/devices/niko.js.map +1 -0
  881. package/dist/devices/ninja_blocks.d.ts +3 -0
  882. package/dist/devices/ninja_blocks.d.ts.map +1 -0
  883. package/dist/devices/ninja_blocks.js +60 -0
  884. package/dist/devices/ninja_blocks.js.map +1 -0
  885. package/dist/devices/niviss.d.ts +3 -0
  886. package/dist/devices/niviss.d.ts.map +1 -0
  887. package/dist/devices/niviss.js +47 -0
  888. package/dist/devices/niviss.js.map +1 -0
  889. package/dist/devices/nobo.d.ts +3 -0
  890. package/dist/devices/nobo.d.ts.map +1 -0
  891. package/dist/devices/nobo.js +88 -0
  892. package/dist/devices/nobo.js.map +1 -0
  893. package/dist/devices/nodon.d.ts +3 -0
  894. package/dist/devices/nodon.d.ts.map +1 -0
  895. package/dist/devices/nodon.js +483 -0
  896. package/dist/devices/nodon.js.map +1 -0
  897. package/dist/devices/nordtronic.d.ts +3 -0
  898. package/dist/devices/nordtronic.d.ts.map +1 -0
  899. package/dist/devices/nordtronic.js +95 -0
  900. package/dist/devices/nordtronic.js.map +1 -0
  901. package/dist/devices/nous.d.ts +3 -0
  902. package/dist/devices/nous.d.ts.map +1 -0
  903. package/dist/devices/nous.js +367 -0
  904. package/dist/devices/nous.js.map +1 -0
  905. package/dist/devices/novo.d.ts +3 -0
  906. package/dist/devices/novo.d.ts.map +1 -0
  907. package/dist/devices/novo.js +53 -0
  908. package/dist/devices/novo.js.map +1 -0
  909. package/dist/devices/nue_3a.d.ts +3 -0
  910. package/dist/devices/nue_3a.d.ts.map +1 -0
  911. package/dist/devices/nue_3a.js +359 -0
  912. package/dist/devices/nue_3a.js.map +1 -0
  913. package/dist/devices/nyce.d.ts +3 -0
  914. package/dist/devices/nyce.d.ts.map +1 -0
  915. package/dist/devices/nyce.js +124 -0
  916. package/dist/devices/nyce.js.map +1 -0
  917. package/dist/devices/onenuo.d.ts +3 -0
  918. package/dist/devices/onenuo.d.ts.map +1 -0
  919. package/dist/devices/onenuo.js +83 -0
  920. package/dist/devices/onenuo.js.map +1 -0
  921. package/dist/devices/onesti.d.ts +3 -0
  922. package/dist/devices/onesti.d.ts.map +1 -0
  923. package/dist/devices/onesti.js +265 -0
  924. package/dist/devices/onesti.js.map +1 -0
  925. package/dist/devices/onokom.d.ts +3 -0
  926. package/dist/devices/onokom.d.ts.map +1 -0
  927. package/dist/devices/onokom.js +2715 -0
  928. package/dist/devices/onokom.js.map +1 -0
  929. package/dist/devices/openlumi.d.ts +3 -0
  930. package/dist/devices/openlumi.d.ts.map +1 -0
  931. package/dist/devices/openlumi.js +47 -0
  932. package/dist/devices/openlumi.js.map +1 -0
  933. package/dist/devices/orvibo.d.ts +12 -0
  934. package/dist/devices/orvibo.d.ts.map +1 -0
  935. package/dist/devices/orvibo.js +715 -0
  936. package/dist/devices/orvibo.js.map +1 -0
  937. package/dist/devices/orztech.d.ts +3 -0
  938. package/dist/devices/orztech.d.ts.map +1 -0
  939. package/dist/devices/orztech.js +195 -0
  940. package/dist/devices/orztech.js.map +1 -0
  941. package/dist/devices/osram.d.ts +3 -0
  942. package/dist/devices/osram.d.ts.map +1 -0
  943. package/dist/devices/osram.js +513 -0
  944. package/dist/devices/osram.js.map +1 -0
  945. package/dist/devices/oujiabao.d.ts +3 -0
  946. package/dist/devices/oujiabao.d.ts.map +1 -0
  947. package/dist/devices/oujiabao.js +51 -0
  948. package/dist/devices/oujiabao.js.map +1 -0
  949. package/dist/devices/owon.d.ts +3 -0
  950. package/dist/devices/owon.d.ts.map +1 -0
  951. package/dist/devices/owon.js +888 -0
  952. package/dist/devices/owon.js.map +1 -0
  953. package/dist/devices/ozsmartthings.d.ts +3 -0
  954. package/dist/devices/ozsmartthings.d.ts.map +1 -0
  955. package/dist/devices/ozsmartthings.js +47 -0
  956. package/dist/devices/ozsmartthings.js.map +1 -0
  957. package/dist/devices/paul_neuhaus.d.ts +3 -0
  958. package/dist/devices/paul_neuhaus.d.ts.map +1 -0
  959. package/dist/devices/paul_neuhaus.js +190 -0
  960. package/dist/devices/paul_neuhaus.js.map +1 -0
  961. package/dist/devices/paulmann.d.ts +3 -0
  962. package/dist/devices/paulmann.d.ts.map +1 -0
  963. package/dist/devices/paulmann.js +426 -0
  964. package/dist/devices/paulmann.js.map +1 -0
  965. package/dist/devices/peq.d.ts +3 -0
  966. package/dist/devices/peq.d.ts.map +1 -0
  967. package/dist/devices/peq.js +60 -0
  968. package/dist/devices/peq.js.map +1 -0
  969. package/dist/devices/perenio.d.ts +3 -0
  970. package/dist/devices/perenio.d.ts.map +1 -0
  971. package/dist/devices/perenio.js +461 -0
  972. package/dist/devices/perenio.js.map +1 -0
  973. package/dist/devices/philio.d.ts +3 -0
  974. package/dist/devices/philio.d.ts.map +1 -0
  975. package/dist/devices/philio.js +48 -0
  976. package/dist/devices/philio.js.map +1 -0
  977. package/dist/devices/philips.d.ts +3 -0
  978. package/dist/devices/philips.d.ts.map +1 -0
  979. package/dist/devices/philips.js +4948 -0
  980. package/dist/devices/philips.js.map +1 -0
  981. package/dist/devices/plaid.d.ts +3 -0
  982. package/dist/devices/plaid.d.ts.map +1 -0
  983. package/dist/devices/plaid.js +61 -0
  984. package/dist/devices/plaid.js.map +1 -0
  985. package/dist/devices/plugwise.d.ts +3 -0
  986. package/dist/devices/plugwise.d.ts.map +1 -0
  987. package/dist/devices/plugwise.js +217 -0
  988. package/dist/devices/plugwise.js.map +1 -0
  989. package/dist/devices/profalux.d.ts +3 -0
  990. package/dist/devices/profalux.d.ts.map +1 -0
  991. package/dist/devices/profalux.js +215 -0
  992. package/dist/devices/profalux.js.map +1 -0
  993. package/dist/devices/prolight.d.ts +3 -0
  994. package/dist/devices/prolight.d.ts.map +1 -0
  995. package/dist/devices/prolight.js +111 -0
  996. package/dist/devices/prolight.js.map +1 -0
  997. package/dist/devices/purmo.d.ts +3 -0
  998. package/dist/devices/purmo.d.ts.map +1 -0
  999. package/dist/devices/purmo.js +91 -0
  1000. package/dist/devices/purmo.js.map +1 -0
  1001. package/dist/devices/pushok.d.ts +3 -0
  1002. package/dist/devices/pushok.d.ts.map +1 -0
  1003. package/dist/devices/pushok.js +736 -0
  1004. package/dist/devices/pushok.js.map +1 -0
  1005. package/dist/devices/qa.d.ts +3 -0
  1006. package/dist/devices/qa.d.ts.map +1 -0
  1007. package/dist/devices/qa.js +445 -0
  1008. package/dist/devices/qa.js.map +1 -0
  1009. package/dist/devices/qmotion.d.ts +3 -0
  1010. package/dist/devices/qmotion.d.ts.map +1 -0
  1011. package/dist/devices/qmotion.js +69 -0
  1012. package/dist/devices/qmotion.js.map +1 -0
  1013. package/dist/devices/qoto.d.ts +3 -0
  1014. package/dist/devices/qoto.d.ts.map +1 -0
  1015. package/dist/devices/qoto.js +83 -0
  1016. package/dist/devices/qoto.js.map +1 -0
  1017. package/dist/devices/quirky.d.ts +8 -0
  1018. package/dist/devices/quirky.d.ts.map +1 -0
  1019. package/dist/devices/quirky.js +47 -0
  1020. package/dist/devices/quirky.js.map +1 -0
  1021. package/dist/devices/quotra.d.ts +3 -0
  1022. package/dist/devices/quotra.d.ts.map +1 -0
  1023. package/dist/devices/quotra.js +54 -0
  1024. package/dist/devices/quotra.js.map +1 -0
  1025. package/dist/devices/rademacher.d.ts +3 -0
  1026. package/dist/devices/rademacher.d.ts.map +1 -0
  1027. package/dist/devices/rademacher.js +61 -0
  1028. package/dist/devices/rademacher.js.map +1 -0
  1029. package/dist/devices/radium.d.ts +3 -0
  1030. package/dist/devices/radium.d.ts.map +1 -0
  1031. package/dist/devices/radium.js +47 -0
  1032. package/dist/devices/radium.js.map +1 -0
  1033. package/dist/devices/raex.d.ts +3 -0
  1034. package/dist/devices/raex.d.ts.map +1 -0
  1035. package/dist/devices/raex.js +47 -0
  1036. package/dist/devices/raex.js.map +1 -0
  1037. package/dist/devices/rgb_genie.d.ts +3 -0
  1038. package/dist/devices/rgb_genie.d.ts.map +1 -0
  1039. package/dist/devices/rgb_genie.js +277 -0
  1040. package/dist/devices/rgb_genie.js.map +1 -0
  1041. package/dist/devices/robb.d.ts +3 -0
  1042. package/dist/devices/robb.d.ts.map +1 -0
  1043. package/dist/devices/robb.js +492 -0
  1044. package/dist/devices/robb.js.map +1 -0
  1045. package/dist/devices/roome.d.ts +3 -0
  1046. package/dist/devices/roome.d.ts.map +1 -0
  1047. package/dist/devices/roome.js +51 -0
  1048. package/dist/devices/roome.js.map +1 -0
  1049. package/dist/devices/rtx.d.ts +3 -0
  1050. package/dist/devices/rtx.d.ts.map +1 -0
  1051. package/dist/devices/rtx.js +143 -0
  1052. package/dist/devices/rtx.js.map +1 -0
  1053. package/dist/devices/salus_controls.d.ts +3 -0
  1054. package/dist/devices/salus_controls.d.ts.map +1 -0
  1055. package/dist/devices/salus_controls.js +222 -0
  1056. package/dist/devices/salus_controls.js.map +1 -0
  1057. package/dist/devices/samotech.d.ts +3 -0
  1058. package/dist/devices/samotech.d.ts.map +1 -0
  1059. package/dist/devices/samotech.js +123 -0
  1060. package/dist/devices/samotech.js.map +1 -0
  1061. package/dist/devices/saswell.d.ts +3 -0
  1062. package/dist/devices/saswell.d.ts.map +1 -0
  1063. package/dist/devices/saswell.js +120 -0
  1064. package/dist/devices/saswell.js.map +1 -0
  1065. package/dist/devices/sber.d.ts +3 -0
  1066. package/dist/devices/sber.d.ts.map +1 -0
  1067. package/dist/devices/sber.js +1921 -0
  1068. package/dist/devices/sber.js.map +1 -0
  1069. package/dist/devices/scanproducts.d.ts +3 -0
  1070. package/dist/devices/scanproducts.d.ts.map +1 -0
  1071. package/dist/devices/scanproducts.js +54 -0
  1072. package/dist/devices/scanproducts.js.map +1 -0
  1073. package/dist/devices/schlage.d.ts +3 -0
  1074. package/dist/devices/schlage.d.ts.map +1 -0
  1075. package/dist/devices/schlage.js +60 -0
  1076. package/dist/devices/schlage.js.map +1 -0
  1077. package/dist/devices/schneider_electric.d.ts +10 -0
  1078. package/dist/devices/schneider_electric.d.ts.map +1 -0
  1079. package/dist/devices/schneider_electric.js +2801 -0
  1080. package/dist/devices/schneider_electric.js.map +1 -0
  1081. package/dist/devices/schwaiger.d.ts +3 -0
  1082. package/dist/devices/schwaiger.d.ts.map +1 -0
  1083. package/dist/devices/schwaiger.js +105 -0
  1084. package/dist/devices/schwaiger.js.map +1 -0
  1085. package/dist/devices/seastar_intelligence.d.ts +3 -0
  1086. package/dist/devices/seastar_intelligence.d.ts.map +1 -0
  1087. package/dist/devices/seastar_intelligence.js +52 -0
  1088. package/dist/devices/seastar_intelligence.js.map +1 -0
  1089. package/dist/devices/securifi.d.ts +3 -0
  1090. package/dist/devices/securifi.d.ts.map +1 -0
  1091. package/dist/devices/securifi.js +79 -0
  1092. package/dist/devices/securifi.js.map +1 -0
  1093. package/dist/devices/sengled.d.ts +6 -0
  1094. package/dist/devices/sengled.d.ts.map +1 -0
  1095. package/dist/devices/sengled.js +395 -0
  1096. package/dist/devices/sengled.js.map +1 -0
  1097. package/dist/devices/senoro.d.ts +3 -0
  1098. package/dist/devices/senoro.d.ts.map +1 -0
  1099. package/dist/devices/senoro.js +64 -0
  1100. package/dist/devices/senoro.js.map +1 -0
  1101. package/dist/devices/sercomm.d.ts +3 -0
  1102. package/dist/devices/sercomm.d.ts.map +1 -0
  1103. package/dist/devices/sercomm.js +193 -0
  1104. package/dist/devices/sercomm.js.map +1 -0
  1105. package/dist/devices/shade_control.d.ts +3 -0
  1106. package/dist/devices/shade_control.d.ts.map +1 -0
  1107. package/dist/devices/shade_control.js +61 -0
  1108. package/dist/devices/shade_control.js.map +1 -0
  1109. package/dist/devices/shelly.d.ts +3 -0
  1110. package/dist/devices/shelly.d.ts.map +1 -0
  1111. package/dist/devices/shelly.js +1304 -0
  1112. package/dist/devices/shelly.js.map +1 -0
  1113. package/dist/devices/shenzhen_homa.d.ts +3 -0
  1114. package/dist/devices/shenzhen_homa.d.ts.map +1 -0
  1115. package/dist/devices/shenzhen_homa.js +143 -0
  1116. package/dist/devices/shenzhen_homa.js.map +1 -0
  1117. package/dist/devices/shinasystem.d.ts +3 -0
  1118. package/dist/devices/shinasystem.d.ts.map +1 -0
  1119. package/dist/devices/shinasystem.js +1322 -0
  1120. package/dist/devices/shinasystem.js.map +1 -0
  1121. package/dist/devices/shyugj.d.ts +3 -0
  1122. package/dist/devices/shyugj.d.ts.map +1 -0
  1123. package/dist/devices/shyugj.js +53 -0
  1124. package/dist/devices/shyugj.js.map +1 -0
  1125. package/dist/devices/siglis.d.ts +3 -0
  1126. package/dist/devices/siglis.d.ts.map +1 -0
  1127. package/dist/devices/siglis.js +440 -0
  1128. package/dist/devices/siglis.js.map +1 -0
  1129. package/dist/devices/sikom.d.ts +3 -0
  1130. package/dist/devices/sikom.d.ts.map +1 -0
  1131. package/dist/devices/sikom.js +64 -0
  1132. package/dist/devices/sikom.js.map +1 -0
  1133. package/dist/devices/silicon_labs.d.ts +3 -0
  1134. package/dist/devices/silicon_labs.d.ts.map +1 -0
  1135. package/dist/devices/silicon_labs.js +47 -0
  1136. package/dist/devices/silicon_labs.js.map +1 -0
  1137. package/dist/devices/simon.d.ts +3 -0
  1138. package/dist/devices/simon.d.ts.map +1 -0
  1139. package/dist/devices/simon.js +54 -0
  1140. package/dist/devices/simon.js.map +1 -0
  1141. package/dist/devices/simpla_home.d.ts +3 -0
  1142. package/dist/devices/simpla_home.d.ts.map +1 -0
  1143. package/dist/devices/simpla_home.js +97 -0
  1144. package/dist/devices/simpla_home.js.map +1 -0
  1145. package/dist/devices/sinope.d.ts +3 -0
  1146. package/dist/devices/sinope.d.ts.map +1 -0
  1147. package/dist/devices/sinope.js +2015 -0
  1148. package/dist/devices/sinope.js.map +1 -0
  1149. package/dist/devices/siterwell.d.ts +3 -0
  1150. package/dist/devices/siterwell.d.ts.map +1 -0
  1151. package/dist/devices/siterwell.js +107 -0
  1152. package/dist/devices/siterwell.js.map +1 -0
  1153. package/dist/devices/skydance.d.ts +3 -0
  1154. package/dist/devices/skydance.d.ts.map +1 -0
  1155. package/dist/devices/skydance.js +138 -0
  1156. package/dist/devices/skydance.js.map +1 -0
  1157. package/dist/devices/slacky_diy.d.ts +3 -0
  1158. package/dist/devices/slacky_diy.d.ts.map +1 -0
  1159. package/dist/devices/slacky_diy.js +3694 -0
  1160. package/dist/devices/slacky_diy.js.map +1 -0
  1161. package/dist/devices/slv.d.ts +3 -0
  1162. package/dist/devices/slv.d.ts.map +1 -0
  1163. package/dist/devices/slv.js +77 -0
  1164. package/dist/devices/slv.js.map +1 -0
  1165. package/dist/devices/smarli.d.ts +3 -0
  1166. package/dist/devices/smarli.d.ts.map +1 -0
  1167. package/dist/devices/smarli.js +99 -0
  1168. package/dist/devices/smarli.js.map +1 -0
  1169. package/dist/devices/smart9.d.ts +3 -0
  1170. package/dist/devices/smart9.d.ts.map +1 -0
  1171. package/dist/devices/smart9.js +58 -0
  1172. package/dist/devices/smart9.js.map +1 -0
  1173. package/dist/devices/smart_home_pty.d.ts +3 -0
  1174. package/dist/devices/smart_home_pty.d.ts.map +1 -0
  1175. package/dist/devices/smart_home_pty.js +54 -0
  1176. package/dist/devices/smart_home_pty.js.map +1 -0
  1177. package/dist/devices/smartenit.d.ts +3 -0
  1178. package/dist/devices/smartenit.d.ts.map +1 -0
  1179. package/dist/devices/smartenit.js +77 -0
  1180. package/dist/devices/smartenit.js.map +1 -0
  1181. package/dist/devices/smartthings.d.ts +26 -0
  1182. package/dist/devices/smartthings.d.ts.map +1 -0
  1183. package/dist/devices/smartthings.js +571 -0
  1184. package/dist/devices/smartthings.js.map +1 -0
  1185. package/dist/devices/smartwings.d.ts +3 -0
  1186. package/dist/devices/smartwings.d.ts.map +1 -0
  1187. package/dist/devices/smartwings.js +60 -0
  1188. package/dist/devices/smartwings.js.map +1 -0
  1189. package/dist/devices/smlight.d.ts +3 -0
  1190. package/dist/devices/smlight.d.ts.map +1 -0
  1191. package/dist/devices/smlight.js +73 -0
  1192. package/dist/devices/smlight.js.map +1 -0
  1193. package/dist/devices/soanalarm.d.ts +3 -0
  1194. package/dist/devices/soanalarm.d.ts.map +1 -0
  1195. package/dist/devices/soanalarm.js +58 -0
  1196. package/dist/devices/soanalarm.js.map +1 -0
  1197. package/dist/devices/sohan_electric.d.ts +3 -0
  1198. package/dist/devices/sohan_electric.d.ts.map +1 -0
  1199. package/dist/devices/sohan_electric.js +49 -0
  1200. package/dist/devices/sohan_electric.js.map +1 -0
  1201. package/dist/devices/solaredge.d.ts +3 -0
  1202. package/dist/devices/solaredge.d.ts.map +1 -0
  1203. package/dist/devices/solaredge.js +47 -0
  1204. package/dist/devices/solaredge.js.map +1 -0
  1205. package/dist/devices/soma.d.ts +3 -0
  1206. package/dist/devices/soma.d.ts.map +1 -0
  1207. package/dist/devices/soma.js +47 -0
  1208. package/dist/devices/soma.js.map +1 -0
  1209. package/dist/devices/somfy.d.ts +3 -0
  1210. package/dist/devices/somfy.d.ts.map +1 -0
  1211. package/dist/devices/somfy.js +173 -0
  1212. package/dist/devices/somfy.js.map +1 -0
  1213. package/dist/devices/somgoms.d.ts +3 -0
  1214. package/dist/devices/somgoms.d.ts.map +1 -0
  1215. package/dist/devices/somgoms.js +80 -0
  1216. package/dist/devices/somgoms.js.map +1 -0
  1217. package/dist/devices/sonoff.d.ts +42 -0
  1218. package/dist/devices/sonoff.d.ts.map +1 -0
  1219. package/dist/devices/sonoff.js +4921 -0
  1220. package/dist/devices/sonoff.js.map +1 -0
  1221. package/dist/devices/sowilo.d.ts +3 -0
  1222. package/dist/devices/sowilo.d.ts.map +1 -0
  1223. package/dist/devices/sowilo.js +47 -0
  1224. package/dist/devices/sowilo.js.map +1 -0
  1225. package/dist/devices/spacetronik.d.ts +3 -0
  1226. package/dist/devices/spacetronik.d.ts.map +1 -0
  1227. package/dist/devices/spacetronik.js +53 -0
  1228. package/dist/devices/spacetronik.js.map +1 -0
  1229. package/dist/devices/spotmau.d.ts +3 -0
  1230. package/dist/devices/spotmau.d.ts.map +1 -0
  1231. package/dist/devices/spotmau.js +74 -0
  1232. package/dist/devices/spotmau.js.map +1 -0
  1233. package/dist/devices/sprut.d.ts +3 -0
  1234. package/dist/devices/sprut.d.ts.map +1 -0
  1235. package/dist/devices/sprut.js +328 -0
  1236. package/dist/devices/sprut.js.map +1 -0
  1237. package/dist/devices/stello.d.ts +3 -0
  1238. package/dist/devices/stello.d.ts.map +1 -0
  1239. package/dist/devices/stello.js +142 -0
  1240. package/dist/devices/stello.js.map +1 -0
  1241. package/dist/devices/stelpro.d.ts +3 -0
  1242. package/dist/devices/stelpro.d.ts.map +1 -0
  1243. package/dist/devices/stelpro.js +376 -0
  1244. package/dist/devices/stelpro.js.map +1 -0
  1245. package/dist/devices/sunricher.d.ts +30 -0
  1246. package/dist/devices/sunricher.d.ts.map +1 -0
  1247. package/dist/devices/sunricher.js +2337 -0
  1248. package/dist/devices/sunricher.js.map +1 -0
  1249. package/dist/devices/superled.d.ts +3 -0
  1250. package/dist/devices/superled.d.ts.map +1 -0
  1251. package/dist/devices/superled.js +47 -0
  1252. package/dist/devices/superled.js.map +1 -0
  1253. package/dist/devices/swann.d.ts +3 -0
  1254. package/dist/devices/swann.d.ts.map +1 -0
  1255. package/dist/devices/swann.js +69 -0
  1256. package/dist/devices/swann.js.map +1 -0
  1257. package/dist/devices/sylvania.d.ts +3 -0
  1258. package/dist/devices/sylvania.d.ts.map +1 -0
  1259. package/dist/devices/sylvania.js +223 -0
  1260. package/dist/devices/sylvania.js.map +1 -0
  1261. package/dist/devices/tapestry.d.ts +3 -0
  1262. package/dist/devices/tapestry.d.ts.map +1 -0
  1263. package/dist/devices/tapestry.js +52 -0
  1264. package/dist/devices/tapestry.js.map +1 -0
  1265. package/dist/devices/task_lighting.d.ts +3 -0
  1266. package/dist/devices/task_lighting.d.ts.map +1 -0
  1267. package/dist/devices/task_lighting.js +47 -0
  1268. package/dist/devices/task_lighting.js.map +1 -0
  1269. package/dist/devices/tci.d.ts +3 -0
  1270. package/dist/devices/tci.d.ts.map +1 -0
  1271. package/dist/devices/tci.js +68 -0
  1272. package/dist/devices/tci.js.map +1 -0
  1273. package/dist/devices/tcl.d.ts +3 -0
  1274. package/dist/devices/tcl.d.ts.map +1 -0
  1275. package/dist/devices/tcl.js +47 -0
  1276. package/dist/devices/tcl.js.map +1 -0
  1277. package/dist/devices/tech.d.ts +3 -0
  1278. package/dist/devices/tech.d.ts.map +1 -0
  1279. package/dist/devices/tech.js +213 -0
  1280. package/dist/devices/tech.js.map +1 -0
  1281. package/dist/devices/technicolor.d.ts +3 -0
  1282. package/dist/devices/technicolor.d.ts.map +1 -0
  1283. package/dist/devices/technicolor.js +85 -0
  1284. package/dist/devices/technicolor.js.map +1 -0
  1285. package/dist/devices/terncy.d.ts +3 -0
  1286. package/dist/devices/terncy.d.ts.map +1 -0
  1287. package/dist/devices/terncy.js +192 -0
  1288. package/dist/devices/terncy.js.map +1 -0
  1289. package/dist/devices/the_light_group.d.ts +3 -0
  1290. package/dist/devices/the_light_group.d.ts.map +1 -0
  1291. package/dist/devices/the_light_group.js +145 -0
  1292. package/dist/devices/the_light_group.js.map +1 -0
  1293. package/dist/devices/third_reality.d.ts +3 -0
  1294. package/dist/devices/third_reality.d.ts.map +1 -0
  1295. package/dist/devices/third_reality.js +1067 -0
  1296. package/dist/devices/third_reality.js.map +1 -0
  1297. package/dist/devices/tis_control.d.ts +3 -0
  1298. package/dist/devices/tis_control.d.ts.map +1 -0
  1299. package/dist/devices/tis_control.js +47 -0
  1300. package/dist/devices/tis_control.js.map +1 -0
  1301. package/dist/devices/titan_products.d.ts +3 -0
  1302. package/dist/devices/titan_products.d.ts.map +1 -0
  1303. package/dist/devices/titan_products.js +58 -0
  1304. package/dist/devices/titan_products.js.map +1 -0
  1305. package/dist/devices/tlwglobal.d.ts +3 -0
  1306. package/dist/devices/tlwglobal.d.ts.map +1 -0
  1307. package/dist/devices/tlwglobal.js +64 -0
  1308. package/dist/devices/tlwglobal.js.map +1 -0
  1309. package/dist/devices/tnce.d.ts +3 -0
  1310. package/dist/devices/tnce.d.ts.map +1 -0
  1311. package/dist/devices/tnce.js +54 -0
  1312. package/dist/devices/tnce.js.map +1 -0
  1313. package/dist/devices/tplink.d.ts +3 -0
  1314. package/dist/devices/tplink.d.ts.map +1 -0
  1315. package/dist/devices/tplink.js +77 -0
  1316. package/dist/devices/tplink.js.map +1 -0
  1317. package/dist/devices/trust.d.ts +3 -0
  1318. package/dist/devices/trust.d.ts.map +1 -0
  1319. package/dist/devices/trust.js +180 -0
  1320. package/dist/devices/trust.js.map +1 -0
  1321. package/dist/devices/tubeszb.d.ts +3 -0
  1322. package/dist/devices/tubeszb.d.ts.map +1 -0
  1323. package/dist/devices/tubeszb.js +56 -0
  1324. package/dist/devices/tubeszb.js.map +1 -0
  1325. package/dist/devices/tuya.d.ts +3 -0
  1326. package/dist/devices/tuya.d.ts.map +1 -0
  1327. package/dist/devices/tuya.js +24771 -0
  1328. package/dist/devices/tuya.js.map +1 -0
  1329. package/dist/devices/ubisys.d.ts +3 -0
  1330. package/dist/devices/ubisys.d.ts.map +1 -0
  1331. package/dist/devices/ubisys.js +1295 -0
  1332. package/dist/devices/ubisys.js.map +1 -0
  1333. package/dist/devices/uhome.d.ts +3 -0
  1334. package/dist/devices/uhome.d.ts.map +1 -0
  1335. package/dist/devices/uhome.js +60 -0
  1336. package/dist/devices/uhome.js.map +1 -0
  1337. package/dist/devices/universal_electronics_inc.d.ts +3 -0
  1338. package/dist/devices/universal_electronics_inc.d.ts.map +1 -0
  1339. package/dist/devices/universal_electronics_inc.js +156 -0
  1340. package/dist/devices/universal_electronics_inc.js.map +1 -0
  1341. package/dist/devices/vav.d.ts +3 -0
  1342. package/dist/devices/vav.d.ts.map +1 -0
  1343. package/dist/devices/vav.js +57 -0
  1344. package/dist/devices/vav.js.map +1 -0
  1345. package/dist/devices/vbled.d.ts +3 -0
  1346. package/dist/devices/vbled.d.ts.map +1 -0
  1347. package/dist/devices/vbled.js +47 -0
  1348. package/dist/devices/vbled.js.map +1 -0
  1349. package/dist/devices/vesternet.d.ts +3 -0
  1350. package/dist/devices/vesternet.d.ts.map +1 -0
  1351. package/dist/devices/vesternet.js +355 -0
  1352. package/dist/devices/vesternet.js.map +1 -0
  1353. package/dist/devices/viessmann.d.ts +3 -0
  1354. package/dist/devices/viessmann.d.ts.map +1 -0
  1355. package/dist/devices/viessmann.js +120 -0
  1356. package/dist/devices/viessmann.js.map +1 -0
  1357. package/dist/devices/villeroy_boch.d.ts +3 -0
  1358. package/dist/devices/villeroy_boch.d.ts.map +1 -0
  1359. package/dist/devices/villeroy_boch.js +54 -0
  1360. package/dist/devices/villeroy_boch.js.map +1 -0
  1361. package/dist/devices/vimar.d.ts +3 -0
  1362. package/dist/devices/vimar.d.ts.map +1 -0
  1363. package/dist/devices/vimar.js +140 -0
  1364. package/dist/devices/vimar.js.map +1 -0
  1365. package/dist/devices/visonic.d.ts +3 -0
  1366. package/dist/devices/visonic.d.ts.map +1 -0
  1367. package/dist/devices/visonic.js +134 -0
  1368. package/dist/devices/visonic.js.map +1 -0
  1369. package/dist/devices/vrey.d.ts +3 -0
  1370. package/dist/devices/vrey.d.ts.map +1 -0
  1371. package/dist/devices/vrey.js +48 -0
  1372. package/dist/devices/vrey.js.map +1 -0
  1373. package/dist/devices/vsmart.d.ts +3 -0
  1374. package/dist/devices/vsmart.d.ts.map +1 -0
  1375. package/dist/devices/vsmart.js +442 -0
  1376. package/dist/devices/vsmart.js.map +1 -0
  1377. package/dist/devices/wally.d.ts +3 -0
  1378. package/dist/devices/wally.d.ts.map +1 -0
  1379. package/dist/devices/wally.js +60 -0
  1380. package/dist/devices/wally.js.map +1 -0
  1381. package/dist/devices/waxman.d.ts +3 -0
  1382. package/dist/devices/waxman.d.ts.map +1 -0
  1383. package/dist/devices/waxman.js +83 -0
  1384. package/dist/devices/waxman.js.map +1 -0
  1385. package/dist/devices/weiser.d.ts +3 -0
  1386. package/dist/devices/weiser.d.ts.map +1 -0
  1387. package/dist/devices/weiser.js +54 -0
  1388. package/dist/devices/weiser.js.map +1 -0
  1389. package/dist/devices/weten.d.ts +3 -0
  1390. package/dist/devices/weten.d.ts.map +1 -0
  1391. package/dist/devices/weten.js +83 -0
  1392. package/dist/devices/weten.js.map +1 -0
  1393. package/dist/devices/wirenboard.d.ts +3 -0
  1394. package/dist/devices/wirenboard.d.ts.map +1 -0
  1395. package/dist/devices/wirenboard.js +715 -0
  1396. package/dist/devices/wirenboard.js.map +1 -0
  1397. package/dist/devices/wisdom.d.ts +3 -0
  1398. package/dist/devices/wisdom.d.ts.map +1 -0
  1399. package/dist/devices/wisdom.js +47 -0
  1400. package/dist/devices/wisdom.js.map +1 -0
  1401. package/dist/devices/wmun.d.ts +3 -0
  1402. package/dist/devices/wmun.d.ts.map +1 -0
  1403. package/dist/devices/wmun.js +61 -0
  1404. package/dist/devices/wmun.js.map +1 -0
  1405. package/dist/devices/woolley.d.ts +3 -0
  1406. package/dist/devices/woolley.d.ts.map +1 -0
  1407. package/dist/devices/woolley.js +96 -0
  1408. package/dist/devices/woolley.js.map +1 -0
  1409. package/dist/devices/woox.d.ts +3 -0
  1410. package/dist/devices/woox.d.ts.map +1 -0
  1411. package/dist/devices/woox.js +194 -0
  1412. package/dist/devices/woox.js.map +1 -0
  1413. package/dist/devices/wyze.d.ts +3 -0
  1414. package/dist/devices/wyze.d.ts.map +1 -0
  1415. package/dist/devices/wyze.js +59 -0
  1416. package/dist/devices/wyze.js.map +1 -0
  1417. package/dist/devices/xal.d.ts +3 -0
  1418. package/dist/devices/xal.d.ts.map +1 -0
  1419. package/dist/devices/xal.js +61 -0
  1420. package/dist/devices/xal.js.map +1 -0
  1421. package/dist/devices/xenon.d.ts +4 -0
  1422. package/dist/devices/xenon.d.ts.map +1 -0
  1423. package/dist/devices/xenon.js +65 -0
  1424. package/dist/devices/xenon.js.map +1 -0
  1425. package/dist/devices/xinghuoyuan.d.ts +3 -0
  1426. package/dist/devices/xinghuoyuan.d.ts.map +1 -0
  1427. package/dist/devices/xinghuoyuan.js +47 -0
  1428. package/dist/devices/xinghuoyuan.js.map +1 -0
  1429. package/dist/devices/xyzroe.d.ts +3 -0
  1430. package/dist/devices/xyzroe.d.ts.map +1 -0
  1431. package/dist/devices/xyzroe.js +511 -0
  1432. package/dist/devices/xyzroe.js.map +1 -0
  1433. package/dist/devices/yale.d.ts +3 -0
  1434. package/dist/devices/yale.d.ts.map +1 -0
  1435. package/dist/devices/yale.js +686 -0
  1436. package/dist/devices/yale.js.map +1 -0
  1437. package/dist/devices/yandex.d.ts +3 -0
  1438. package/dist/devices/yandex.d.ts.map +1 -0
  1439. package/dist/devices/yandex.js +677 -0
  1440. package/dist/devices/yandex.js.map +1 -0
  1441. package/dist/devices/ynoa.d.ts +3 -0
  1442. package/dist/devices/ynoa.d.ts.map +1 -0
  1443. package/dist/devices/ynoa.js +116 -0
  1444. package/dist/devices/ynoa.js.map +1 -0
  1445. package/dist/devices/yokis.d.ts +3 -0
  1446. package/dist/devices/yokis.d.ts.map +1 -0
  1447. package/dist/devices/yokis.js +2972 -0
  1448. package/dist/devices/yokis.js.map +1 -0
  1449. package/dist/devices/yookee.d.ts +3 -0
  1450. package/dist/devices/yookee.d.ts.map +1 -0
  1451. package/dist/devices/yookee.js +59 -0
  1452. package/dist/devices/yookee.js.map +1 -0
  1453. package/dist/devices/ysrsai.d.ts +3 -0
  1454. package/dist/devices/ysrsai.d.ts.map +1 -0
  1455. package/dist/devices/ysrsai.js +68 -0
  1456. package/dist/devices/ysrsai.js.map +1 -0
  1457. package/dist/devices/zbeacon.d.ts +3 -0
  1458. package/dist/devices/zbeacon.d.ts.map +1 -0
  1459. package/dist/devices/zbeacon.js +54 -0
  1460. package/dist/devices/zbeacon.js.map +1 -0
  1461. package/dist/devices/zemismart.d.ts +3 -0
  1462. package/dist/devices/zemismart.d.ts.map +1 -0
  1463. package/dist/devices/zemismart.js +1061 -0
  1464. package/dist/devices/zemismart.js.map +1 -0
  1465. package/dist/devices/zen.d.ts +3 -0
  1466. package/dist/devices/zen.d.ts.map +1 -0
  1467. package/dist/devices/zen.js +93 -0
  1468. package/dist/devices/zen.js.map +1 -0
  1469. package/dist/devices/zigbeetlc.d.ts +3 -0
  1470. package/dist/devices/zigbeetlc.d.ts.map +1 -0
  1471. package/dist/devices/zigbeetlc.js +374 -0
  1472. package/dist/devices/zigbeetlc.js.map +1 -0
  1473. package/dist/devices/zipato.d.ts +3 -0
  1474. package/dist/devices/zipato.d.ts.map +1 -0
  1475. package/dist/devices/zipato.js +47 -0
  1476. package/dist/devices/zipato.js.map +1 -0
  1477. package/dist/devices/zunzunbee.d.ts +3 -0
  1478. package/dist/devices/zunzunbee.d.ts.map +1 -0
  1479. package/dist/devices/zunzunbee.js +97 -0
  1480. package/dist/devices/zunzunbee.js.map +1 -0
  1481. package/dist/index.d.ts +19 -0
  1482. package/dist/index.d.ts.map +1 -0
  1483. package/dist/index.js.map +1 -0
  1484. package/dist/indexer.d.ts +5 -0
  1485. package/dist/indexer.d.ts.map +1 -0
  1486. package/dist/indexer.js +135 -0
  1487. package/dist/indexer.js.map +1 -0
  1488. package/dist/lib/adurosmart.d.ts +15 -0
  1489. package/dist/lib/adurosmart.d.ts.map +1 -0
  1490. package/dist/lib/adurosmart.js +669 -0
  1491. package/dist/lib/adurosmart.js.map +1 -0
  1492. package/dist/lib/bosch.d.ts +353 -0
  1493. package/dist/lib/bosch.d.ts.map +1 -0
  1494. package/dist/lib/bosch.js +3163 -0
  1495. package/dist/lib/bosch.js.map +1 -0
  1496. package/dist/lib/color.d.ts +272 -0
  1497. package/dist/lib/color.d.ts.map +1 -0
  1498. package/dist/lib/color.js +766 -0
  1499. package/dist/lib/color.js.map +1 -0
  1500. package/dist/lib/constants.d.ts +78 -0
  1501. package/dist/lib/constants.d.ts.map +1 -0
  1502. package/dist/lib/constants.js +317 -0
  1503. package/dist/lib/constants.js.map +1 -0
  1504. package/dist/lib/develco.d.ts +50 -0
  1505. package/dist/lib/develco.d.ts.map +1 -0
  1506. package/dist/lib/develco.js +433 -0
  1507. package/dist/lib/develco.js.map +1 -0
  1508. package/dist/lib/ewelink.d.ts +30 -0
  1509. package/dist/lib/ewelink.d.ts.map +1 -0
  1510. package/dist/lib/ewelink.js +722 -0
  1511. package/dist/lib/ewelink.js.map +1 -0
  1512. package/dist/lib/exposes.d.ts +376 -0
  1513. package/dist/lib/exposes.d.ts.map +1 -0
  1514. package/dist/lib/exposes.js +1136 -0
  1515. package/dist/lib/exposes.js.map +1 -0
  1516. package/dist/lib/generateDefinition.d.ts +10 -0
  1517. package/dist/lib/generateDefinition.d.ts.map +1 -0
  1518. package/dist/lib/generateDefinition.js +773 -0
  1519. package/dist/lib/generateDefinition.js.map +1 -0
  1520. package/dist/lib/heiman.d.ts +92 -0
  1521. package/dist/lib/heiman.d.ts.map +1 -0
  1522. package/dist/lib/heiman.js +211 -0
  1523. package/dist/lib/heiman.js.map +1 -0
  1524. package/dist/lib/ikea.d.ts +106 -0
  1525. package/dist/lib/ikea.d.ts.map +1 -0
  1526. package/dist/lib/ikea.js +984 -0
  1527. package/dist/lib/ikea.js.map +1 -0
  1528. package/dist/lib/kelvinToXy.d.ts +8 -0
  1529. package/dist/lib/kelvinToXy.d.ts.map +1 -0
  1530. package/dist/lib/kelvinToXy.js +1913 -0
  1531. package/dist/lib/kelvinToXy.js.map +1 -0
  1532. package/dist/lib/ledvance.d.ts +20 -0
  1533. package/dist/lib/ledvance.d.ts.map +1 -0
  1534. package/dist/lib/ledvance.js +100 -0
  1535. package/dist/lib/ledvance.js.map +1 -0
  1536. package/dist/lib/legacy.d.ts +5197 -0
  1537. package/dist/lib/legacy.d.ts.map +1 -0
  1538. package/dist/lib/legacy.js +6865 -0
  1539. package/dist/lib/legacy.js.map +1 -0
  1540. package/dist/lib/legrand.d.ts +132 -0
  1541. package/dist/lib/legrand.d.ts.map +1 -0
  1542. package/dist/lib/legrand.js +404 -0
  1543. package/dist/lib/legrand.js.map +1 -0
  1544. package/dist/lib/light.d.ts +9 -0
  1545. package/dist/lib/light.d.ts.map +1 -0
  1546. package/dist/lib/light.js +144 -0
  1547. package/dist/lib/light.js.map +1 -0
  1548. package/dist/lib/logger.d.ts +4 -0
  1549. package/dist/lib/logger.d.ts.map +1 -0
  1550. package/dist/lib/logger.js +14 -0
  1551. package/dist/lib/logger.js.map +1 -0
  1552. package/dist/lib/lumi.d.ts +1093 -0
  1553. package/dist/lib/lumi.d.ts.map +1 -0
  1554. package/dist/lib/lumi.js +6479 -0
  1555. package/dist/lib/lumi.js.map +1 -0
  1556. package/dist/lib/modernExtend.d.ts +436 -0
  1557. package/dist/lib/modernExtend.d.ts.map +1 -0
  1558. package/dist/lib/modernExtend.js +2702 -0
  1559. package/dist/lib/modernExtend.js.map +1 -0
  1560. package/dist/lib/namron.d.ts +56 -0
  1561. package/dist/lib/namron.d.ts.map +1 -0
  1562. package/dist/lib/namron.js +433 -0
  1563. package/dist/lib/namron.js.map +1 -0
  1564. package/dist/lib/nodon.d.ts +3 -0
  1565. package/dist/lib/nodon.d.ts.map +1 -0
  1566. package/dist/lib/nodon.js +130 -0
  1567. package/dist/lib/nodon.js.map +1 -0
  1568. package/dist/lib/philips.d.ts +321 -0
  1569. package/dist/lib/philips.d.ts.map +1 -0
  1570. package/dist/lib/philips.js +876 -0
  1571. package/dist/lib/philips.js.map +1 -0
  1572. package/dist/lib/reporting.d.ts +57 -0
  1573. package/dist/lib/reporting.d.ts.map +1 -0
  1574. package/dist/lib/reporting.js +294 -0
  1575. package/dist/lib/reporting.js.map +1 -0
  1576. package/dist/lib/sonoff.d.ts +30 -0
  1577. package/dist/lib/sonoff.d.ts.map +1 -0
  1578. package/dist/lib/sonoff.js +91 -0
  1579. package/dist/lib/sonoff.js.map +1 -0
  1580. package/dist/lib/store.d.ts +7 -0
  1581. package/dist/lib/store.d.ts.map +1 -0
  1582. package/dist/lib/store.js +59 -0
  1583. package/dist/lib/store.js.map +1 -0
  1584. package/dist/lib/sunricher.d.ts +29 -0
  1585. package/dist/lib/sunricher.d.ts.map +1 -0
  1586. package/dist/lib/sunricher.js +838 -0
  1587. package/dist/lib/sunricher.js.map +1 -0
  1588. package/dist/lib/tuya.d.ts +998 -0
  1589. package/dist/lib/tuya.d.ts.map +1 -0
  1590. package/dist/lib/tuya.js +3043 -0
  1591. package/dist/lib/tuya.js.map +1 -0
  1592. package/dist/lib/types.d.ts +429 -0
  1593. package/dist/lib/types.d.ts.map +1 -0
  1594. package/dist/lib/types.js +3 -0
  1595. package/dist/lib/types.js.map +1 -0
  1596. package/dist/lib/ubisys.d.ts +107 -0
  1597. package/dist/lib/ubisys.d.ts.map +1 -0
  1598. package/dist/lib/ubisys.js +576 -0
  1599. package/dist/lib/ubisys.js.map +1 -0
  1600. package/dist/lib/utils.d.ts +95 -0
  1601. package/dist/lib/utils.d.ts.map +1 -0
  1602. package/dist/lib/utils.js +736 -0
  1603. package/dist/lib/utils.js.map +1 -0
  1604. package/dist/lib/zosung.d.ts +52 -0
  1605. package/dist/lib/zosung.d.ts.map +1 -0
  1606. package/dist/lib/zosung.js +264 -0
  1607. package/dist/lib/zosung.js.map +1 -0
  1608. package/dist/models-index.json +1 -0
  1609. package/package.json +2 -8
@@ -0,0 +1,1304 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.definitions = void 0;
37
+ const zigbee_herdsman_1 = require("@willieee802/zigbee-herdsman");
38
+ const fz = __importStar(require("../converters/fromZigbee"));
39
+ const exposes = __importStar(require("../lib/exposes"));
40
+ const logger_1 = require("../lib/logger");
41
+ const m = __importStar(require("../lib/modernExtend"));
42
+ const utils = __importStar(require("../lib/utils"));
43
+ const utils_1 = require("../lib/utils");
44
+ const e = exposes.presets;
45
+ const ea = exposes.access;
46
+ const SHELLY_ENDPOINT_ID = 239;
47
+ const SHELLY_OPTIONS = { profileId: zigbee_herdsman_1.ZSpec.CUSTOM_SHELLY_PROFILE_ID };
48
+ const NS = "zhc:shelly";
49
+ const HA_ELECTRICAL_MEASUREMENT_CLUSTER_ID = 0x0b04;
50
+ const HA_ELECTRICAL_MEASUREMENT_POWER_FACTOR_ATTR_ID = 0x0510;
51
+ /**
52
+ * Get or initialize WS90 meta storage on device
53
+ */
54
+ function getWS90Meta(device) {
55
+ if (!device.meta.ws90) {
56
+ device.meta.ws90 = {};
57
+ }
58
+ return device.meta.ws90;
59
+ }
60
+ /**
61
+ * Calculate dew point using Magnus formula
62
+ */
63
+ function calculateDewPoint(T, Rh) {
64
+ if (T === undefined || Rh === undefined || Rh <= 0)
65
+ return null;
66
+ const a = 17.27;
67
+ const b = 237.7;
68
+ const alpha = (a * T) / (b + T) + Math.log(Rh / 100);
69
+ return Math.round(((b * alpha) / (a - alpha)) * 10) / 10;
70
+ }
71
+ /**
72
+ * Calculate humidex (Canadian heat index)
73
+ */
74
+ function calculateHumidex(T, Rh) {
75
+ if (T === undefined || Rh === undefined)
76
+ return null;
77
+ const dewPoint = calculateDewPoint(T, Rh);
78
+ if (dewPoint === null)
79
+ return null;
80
+ const ee = 6.11 * Math.exp(5417.753 * (1 / 273.15 - 1 / (273.15 + dewPoint)));
81
+ return Math.round((T + 0.5555 * (ee - 10)) * 10) / 10;
82
+ }
83
+ /**
84
+ * Calculate wind chill (formula valid for T <= 10°C and wind >= 4.8 km/h)
85
+ */
86
+ function calculateWindChill(T, windMs) {
87
+ if (T === undefined || windMs === undefined)
88
+ return null;
89
+ const windKmh = windMs * 3.6;
90
+ if (T > 10 || windKmh < 4.8)
91
+ return Math.round(T * 10) / 10;
92
+ const wc = 13.12 + 0.6215 * T - 11.37 * windKmh ** 0.16 + 0.3965 * T * windKmh ** 0.16;
93
+ return Math.round(wc * 10) / 10;
94
+ }
95
+ /**
96
+ * Calculate heat stress percentage using sigmoid curve
97
+ */
98
+ function calculateHeatStress(T, Rh, lux, windMs, precipitation) {
99
+ if (T === undefined)
100
+ return null;
101
+ const solar = (lux || 0) / 100;
102
+ const base = T + solar / 100 + (Rh || 0) / 10;
103
+ const cooled = base - (windMs || 0) / 2;
104
+ const adjusted = cooled - ((precipitation || 0) > 0 ? 3 : 0);
105
+ const scaled = (adjusted - 18) / (42 - 18);
106
+ const sigmoid = 1 / (1 + Math.E ** (-4 * (scaled - 0.5)));
107
+ return Math.max(Math.round(sigmoid * 100), 0);
108
+ }
109
+ /**
110
+ * Calculate apparent temperature (wind chill when cold, humidex when warm)
111
+ */
112
+ function calculateApparentTemperature(T, Rh, windMs) {
113
+ if (T === undefined)
114
+ return null;
115
+ const windChill = calculateWindChill(T, windMs);
116
+ const humidex = calculateHumidex(T, Rh);
117
+ if (windChill !== null && windChill < T)
118
+ return windChill;
119
+ if (humidex !== null && humidex > T)
120
+ return humidex;
121
+ return Math.round(T * 10) / 10;
122
+ }
123
+ /**
124
+ * Calculate rain rate from precipitation changes (mm/h)
125
+ */
126
+ function calculateRainRate(meta, precipitation) {
127
+ if (precipitation === undefined)
128
+ return null;
129
+ const now = Date.now();
130
+ const history = meta.precipHistory;
131
+ if (!history) {
132
+ meta.precipHistory = { value: precipitation, time: now };
133
+ return 0;
134
+ }
135
+ const timeDeltaMs = now - history.time;
136
+ const precipDelta = precipitation - history.value;
137
+ if (timeDeltaMs < 60000)
138
+ return null;
139
+ if (precipDelta < 0)
140
+ return 0;
141
+ meta.precipHistory = { value: precipitation, time: now };
142
+ const timeDeltaHours = timeDeltaMs / (1000 * 60 * 60);
143
+ const rate = precipDelta / timeDeltaHours;
144
+ return Math.min(Math.round(rate * 10) / 10, 300);
145
+ }
146
+ /**
147
+ * Calculate pressure trend (hPa/hour)
148
+ */
149
+ function calculatePressureTrend(meta, pressure) {
150
+ if (pressure === undefined)
151
+ return null;
152
+ const now = Date.now();
153
+ const history = meta.pressureHistory;
154
+ if (!history) {
155
+ meta.pressureHistory = { value: pressure, time: now };
156
+ return 0;
157
+ }
158
+ const timeDeltaMs = now - history.time;
159
+ const pressureDelta = pressure - history.value;
160
+ if (timeDeltaMs < 1800000)
161
+ return null;
162
+ meta.pressureHistory = { value: pressure, time: now };
163
+ const timeDeltaHours = timeDeltaMs / (1000 * 60 * 60);
164
+ const rate = pressureDelta / timeDeltaHours;
165
+ return Math.round(rate * 10) / 10;
166
+ }
167
+ /**
168
+ * Determine weather condition based on sensor data
169
+ */
170
+ function calculateWeatherCondition(state) {
171
+ const { temperature, illuminance, rain_status, wind_speed, rain_rate, pressure, pressure_trend } = state;
172
+ if (illuminance === undefined)
173
+ return null;
174
+ const isRaining = rain_status === true && rain_rate !== undefined && rain_rate > 0;
175
+ const isPouring = isRaining && rain_rate > 10;
176
+ const isWindy = wind_speed !== undefined && wind_speed > 10;
177
+ const isNight = illuminance < 10;
178
+ const isLowPressure = pressure !== undefined && pressure < 1000;
179
+ const isPressureFalling = pressure_trend !== undefined && pressure_trend < -2;
180
+ const isHail = isRaining &&
181
+ rain_rate > 5 &&
182
+ illuminance < 5000 &&
183
+ wind_speed !== undefined &&
184
+ wind_speed > 5 &&
185
+ (isLowPressure || isPressureFalling);
186
+ const isSnowing = isRaining && temperature !== undefined && temperature < 1 && !isHail;
187
+ if (isHail)
188
+ return "hail";
189
+ if (isSnowing)
190
+ return "snowy";
191
+ if (isPouring)
192
+ return "pouring";
193
+ if (isRaining)
194
+ return "rainy";
195
+ if (isNight) {
196
+ return isWindy ? "windy" : "clear-night";
197
+ }
198
+ if (illuminance > 40000) {
199
+ return isWindy ? "windy" : "sunny";
200
+ }
201
+ if (illuminance > 10000) {
202
+ return isWindy ? "windy-variant" : "partlycloudy";
203
+ }
204
+ return "cloudy";
205
+ }
206
+ /**
207
+ * Update calculated values whenever we get new sensor data (uses device.meta for persistence)
208
+ */
209
+ function updateWS90CalculatedValues(device, payload) {
210
+ const meta = getWS90Meta(device);
211
+ if (!meta.state)
212
+ meta.state = {};
213
+ Object.assign(meta.state, payload);
214
+ const state = meta.state;
215
+ const result = {};
216
+ const temp = state.temperature;
217
+ const humidity = state.humidity;
218
+ const windSpeed = state.wind_speed;
219
+ const lux = state.illuminance;
220
+ const precip = state.precipitation;
221
+ const pressure = state.pressure;
222
+ if (temp !== undefined && humidity !== undefined) {
223
+ const dewPoint = calculateDewPoint(temp, humidity);
224
+ if (dewPoint !== null)
225
+ result.dew_point = dewPoint;
226
+ const humidex = calculateHumidex(temp, humidity);
227
+ if (humidex !== null)
228
+ result.humidex = humidex;
229
+ const heatStress = calculateHeatStress(temp, humidity, lux, windSpeed, precip);
230
+ if (heatStress !== null)
231
+ result.heat_stress = heatStress;
232
+ }
233
+ if (temp !== undefined && windSpeed !== undefined) {
234
+ const windChill = calculateWindChill(temp, windSpeed);
235
+ if (windChill !== null)
236
+ result.wind_chill = windChill;
237
+ }
238
+ if (temp !== undefined) {
239
+ const apparent = calculateApparentTemperature(temp, humidity, windSpeed);
240
+ if (apparent !== null)
241
+ result.apparent_temperature = apparent;
242
+ }
243
+ if (pressure !== undefined) {
244
+ const trend = calculatePressureTrend(meta, pressure);
245
+ if (trend !== null) {
246
+ result.pressure_trend = trend;
247
+ state.pressure_trend = trend;
248
+ }
249
+ else if (typeof state.pressure_trend === "number") {
250
+ result.pressure_trend = state.pressure_trend;
251
+ }
252
+ }
253
+ const condition = calculateWeatherCondition(state);
254
+ if (condition !== null)
255
+ result.weather_condition = condition;
256
+ // Save device meta to persist across restarts
257
+ device.save();
258
+ return result;
259
+ }
260
+ // =============================================================================
261
+ // Shelly Modern Extend
262
+ // =============================================================================
263
+ const shellyModernExtend = {
264
+ shellyPowerFactorInt16Fix() {
265
+ // Shelly Gen4 devices report haElectricalMeasurement.powerFactor (0x0510) as INT16 (0x29)
266
+ // while zigbee-herdsman defines it as INT8 (0x28). This breaks configureReporting (INVALID_DATA_TYPE).
267
+ return m.deviceAddCustomCluster("haElectricalMeasurement", {
268
+ ID: HA_ELECTRICAL_MEASUREMENT_CLUSTER_ID,
269
+ attributes: {
270
+ powerFactor: { ID: HA_ELECTRICAL_MEASUREMENT_POWER_FACTOR_ATTR_ID, type: zigbee_herdsman_1.Zcl.DataType.INT16 },
271
+ },
272
+ commands: {},
273
+ commandsResponse: {},
274
+ });
275
+ },
276
+ shellyCustomClusters() {
277
+ return [
278
+ m.deviceAddCustomCluster("shellyRPCCluster", {
279
+ ID: 0xfc01,
280
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SHELLY,
281
+ attributes: {
282
+ data: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
283
+ txCtl: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
284
+ rxCtl: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
285
+ },
286
+ commands: {},
287
+ commandsResponse: {},
288
+ }),
289
+ m.deviceAddCustomCluster("shellyWiFiSetupCluster", {
290
+ ID: 0xfc02,
291
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SHELLY,
292
+ attributes: {
293
+ status: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
294
+ ip: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
295
+ actionCode: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
296
+ dhcp: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
297
+ enabled: { ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
298
+ ssid: { ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
299
+ password: { ID: 0x0006, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
300
+ staticIp: { ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
301
+ netMask: { ID: 0x0008, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
302
+ gateway: { ID: 0x0009, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
303
+ nameServer: { ID: 0x000a, type: zigbee_herdsman_1.Zcl.DataType.CHAR_STR, write: true },
304
+ },
305
+ commands: {},
306
+ commandsResponse: {},
307
+ }),
308
+ ];
309
+ },
310
+ shellyRPCSetup(features = []) {
311
+ // Set helper variables
312
+ const shellyRPCBugFixed = false; // For firmware 20250819-150402/ga0def2d
313
+ const featureDev = features.includes("Dev");
314
+ const featurePowerstripUI = features.includes("PowerstripUI");
315
+ // Generic helper functions
316
+ const validateTime = (value) => {
317
+ const hhmmRegex = /^([01][0-9]|2[0-3]):[0-5][0-9]$/;
318
+ if (value === undefined || !value.match(hhmmRegex)) {
319
+ throw new Error(`Invalid time "${value}"`);
320
+ }
321
+ };
322
+ // RPC helper functions
323
+ let rpcSending = false;
324
+ const rpcSendRaw = async (endpoint, message) => {
325
+ // Since RPC messages require multiple writes to complete, we have to make sure
326
+ // we're not interleaving them accidentally. This is good enough for now, at least
327
+ // until the RPC receive firmware bug is fixed by Shelly.
328
+ while (rpcSending) {
329
+ await (0, utils_1.sleep)(200);
330
+ }
331
+ try {
332
+ rpcSending = true;
333
+ const splitBytes = 40;
334
+ logger_1.logger.debug(">>> shellyRPC write TxCtl", NS);
335
+ const txCtl = message.length;
336
+ await endpoint.write("shellyRPCCluster", { txCtl: txCtl }, SHELLY_OPTIONS);
337
+ logger_1.logger.debug(`>>> TxCtl: ${txCtl}`, NS);
338
+ logger_1.logger.debug(">>> shellyRPC write Data", NS);
339
+ let dataToSend = message;
340
+ while (dataToSend.length > 0) {
341
+ const data = dataToSend.substring(0, splitBytes);
342
+ dataToSend = dataToSend.substring(splitBytes);
343
+ await endpoint.write("shellyRPCCluster", { data: data }, SHELLY_OPTIONS);
344
+ logger_1.logger.debug(`>>> Data: ${data}`, NS);
345
+ }
346
+ }
347
+ finally {
348
+ rpcSending = false;
349
+ }
350
+ };
351
+ const rpcSend = async (endpoint, method, params = undefined) => {
352
+ const command = {
353
+ id: 1, // We can't read replies anyway so don't care for now
354
+ method: method,
355
+ params: params,
356
+ };
357
+ return await rpcSendRaw(endpoint, JSON.stringify(command));
358
+ };
359
+ const rpcReceive = async (endpoint, key) => {
360
+ logger_1.logger.debug(`||| shellyRPC rpcReceive(${key})`, NS);
361
+ if (key === "rpc_rxctl") {
362
+ logger_1.logger.debug(">>> shellyRPC read RxCtl", NS);
363
+ const result = await endpoint.read("shellyRPCCluster", ["rxCtl"], SHELLY_OPTIONS);
364
+ logger_1.logger.debug(`<<< RxCtl: ${JSON.stringify(result)}`, NS);
365
+ }
366
+ else if (key === "rpc_data") {
367
+ logger_1.logger.debug(">>> shellyRPC read Data", NS);
368
+ const result = await endpoint.read("shellyRPCCluster", ["data"], { ...SHELLY_OPTIONS, timeout: 1000 });
369
+ logger_1.logger.debug(`<<< Data: ${JSON.stringify(result)}`, NS);
370
+ }
371
+ };
372
+ // Features for exposes
373
+ const featurePercentage = (name, label) => {
374
+ return e.numeric(name, ea.STATE_SET).withValueMin(0).withValueMax(100).withValueStep(1).withLabel(label).withUnit("%");
375
+ };
376
+ const featureButtonEnabled = (id) => {
377
+ return e.binary(`switch_${id}`, ea.STATE_SET, "momentary", "detached").withLabel(`Endpoint: ${id + 1}`);
378
+ };
379
+ const exposes = [];
380
+ const exposesDev = [
381
+ e
382
+ .text("rpc_tx", ea.STATE_SET)
383
+ .withLabel("TX Data")
384
+ .withDescription("See https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen4/ShellyPowerStripG4"),
385
+ e.text("rpc_rxctl", ea.STATE_GET).withLabel("RxCtl").withDescription("RX bytes available").withCategory("diagnostic"),
386
+ e.text("rpc_data", ea.STATE_GET).withLabel("Data").withDescription("RX Data").withCategory("diagnostic"),
387
+ ];
388
+ const exposesPowerstripUI = [
389
+ e
390
+ .enum("led_mode", ea.STATE_SET, ["off", "switch", "power"])
391
+ .withLabel("LED Mode")
392
+ .withDescription("Controls the behaviour of the LED rings around the sockets")
393
+ .withCategory("config"),
394
+ e
395
+ .composite("led_colors", "led_colors", ea.ALL)
396
+ .withFeature(featurePercentage("on_r", "Red (on)"))
397
+ .withFeature(featurePercentage("on_g", "Green (on)"))
398
+ .withFeature(featurePercentage("on_b", "Blue (on)"))
399
+ .withFeature(featurePercentage("on_brightness", "Brightness (on)"))
400
+ .withFeature(featurePercentage("off_r", "Red (off)"))
401
+ .withFeature(featurePercentage("off_g", "Green (off)"))
402
+ .withFeature(featurePercentage("off_b", "Blue (off)"))
403
+ .withFeature(featurePercentage("off_brightness", "Brightness (off)"))
404
+ .withLabel("LED colors in 'switch' mode")
405
+ .withCategory("config"),
406
+ featurePercentage("led_power_brightness", "LED brightness in 'power' mode").withCategory("config"),
407
+ e
408
+ .composite("led_night_mode", "led_night_mode", ea.ALL)
409
+ .withFeature(e.binary("enable", ea.STATE_SET, true, false))
410
+ .withFeature(featurePercentage("brightness", "Brightness"))
411
+ .withFeature(e.text("from", ea.STATE_SET).withLabel("Active from").withDescription("hh:mm"))
412
+ .withFeature(e.text("until", ea.STATE_SET).withLabel("Active until").withDescription("hh:mm"))
413
+ .withLabel("LED night mode")
414
+ .withDescription("Adjust LED brightness during night time")
415
+ .withCategory("config"),
416
+ e
417
+ .composite("buttons_enabled", "buttons_enabled", ea.ALL)
418
+ .withFeature(featureButtonEnabled(0))
419
+ .withFeature(featureButtonEnabled(1))
420
+ .withFeature(featureButtonEnabled(2))
421
+ .withFeature(featureButtonEnabled(3))
422
+ .withLabel("Buttons enabled")
423
+ .withCategory("config"),
424
+ ];
425
+ const fromZigbee = [
426
+ {
427
+ cluster: "shellyRPCCluster",
428
+ type: ["attributeReport", "readResponse"],
429
+ convert: (model, msg, publish, options, meta) => {
430
+ const state = {};
431
+ // Diagnostic data
432
+ if (msg.data.rxCtl !== undefined) {
433
+ state.rpc_rxctl = msg.data.rxCtl;
434
+ state.rpc_data = "";
435
+ }
436
+ if (msg.data.data !== undefined)
437
+ state.rpc_data = meta.state.rpc_data + msg.data.data;
438
+ return state;
439
+ },
440
+ },
441
+ ];
442
+ const toZigbee = [];
443
+ const toZigbeeDev = [
444
+ {
445
+ key: ["rpc_rxctl", "rpc_data"],
446
+ convertGet: async (entity, key, meta) => {
447
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyRPCCluster");
448
+ await rpcReceive(ep, key);
449
+ },
450
+ },
451
+ {
452
+ key: ["rpc_tx"],
453
+ convertSet: async (entity, key, value, meta) => {
454
+ logger_1.logger.debug(`>>> toZigbee.convertSet(${key}): ${value}`, NS);
455
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyRPCCluster");
456
+ await rpcSendRaw(ep, value);
457
+ await rpcReceive(ep, "rpc_rxctl");
458
+ if (shellyRPCBugFixed) {
459
+ await rpcReceive(ep, "rpc_data");
460
+ }
461
+ else {
462
+ return { state: { rpc_data: "[Refresh for response]" } };
463
+ }
464
+ },
465
+ },
466
+ ];
467
+ const toZigbeePowerstripUI = [
468
+ {
469
+ key: ["led_mode"],
470
+ convertSet: async (entity, key, value, meta) => {
471
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyRPCCluster");
472
+ await rpcSend(ep, "POWERSTRIP_UI.SetConfig", {
473
+ config: {
474
+ leds: {
475
+ mode: value,
476
+ },
477
+ },
478
+ });
479
+ },
480
+ },
481
+ {
482
+ key: ["led_colors"],
483
+ convertSet: async (entity, key, value, meta) => {
484
+ (0, utils_1.assertObject)(value);
485
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyRPCCluster");
486
+ await rpcSend(ep, "POWERSTRIP_UI.SetConfig", {
487
+ config: {
488
+ leds: {
489
+ colors: {
490
+ "switch:0": {
491
+ on: {
492
+ rgb: [value.on_r ?? 0, value.on_g ?? 0, value.on_b ?? 0],
493
+ brightness: value.on_brightness ?? 0,
494
+ },
495
+ off: {
496
+ rgb: [value.off_r ?? 0, value.off_g ?? 0, value.off_b ?? 0],
497
+ brightness: value.off_brightness ?? 0,
498
+ },
499
+ },
500
+ },
501
+ },
502
+ },
503
+ });
504
+ },
505
+ },
506
+ {
507
+ key: ["led_power_brightness"],
508
+ convertSet: async (entity, key, value, meta) => {
509
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyRPCCluster");
510
+ await rpcSend(ep, "POWERSTRIP_UI.SetConfig", {
511
+ config: {
512
+ leds: {
513
+ colors: {
514
+ power: {
515
+ brightness: value ?? 0,
516
+ },
517
+ },
518
+ },
519
+ },
520
+ });
521
+ },
522
+ },
523
+ {
524
+ key: ["led_night_mode"],
525
+ convertSet: async (entity, key, value, meta) => {
526
+ (0, utils_1.assertObject)(value);
527
+ validateTime(value.from);
528
+ validateTime(value.until);
529
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyRPCCluster");
530
+ await rpcSend(ep, "POWERSTRIP_UI.SetConfig", {
531
+ config: {
532
+ leds: {
533
+ night_mode: {
534
+ enable: value.enable,
535
+ brightness: value.brightness,
536
+ active_between: [value.from, value.until],
537
+ },
538
+ },
539
+ },
540
+ });
541
+ },
542
+ },
543
+ {
544
+ key: ["buttons_enabled"],
545
+ convertSet: async (entity, key, value, meta) => {
546
+ (0, utils_1.assertObject)(value);
547
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyRPCCluster");
548
+ await rpcSend(ep, "POWERSTRIP_UI.SetConfig", {
549
+ config: {
550
+ controls: {
551
+ "switch:0": {
552
+ in_mode: value.switch_0,
553
+ },
554
+ "switch:1": {
555
+ in_mode: value.switch_1,
556
+ },
557
+ "switch:2": {
558
+ in_mode: value.switch_2,
559
+ },
560
+ "switch:3": {
561
+ in_mode: value.switch_3,
562
+ },
563
+ },
564
+ },
565
+ });
566
+ },
567
+ },
568
+ ];
569
+ if (featureDev) {
570
+ exposes.push(...exposesDev);
571
+ toZigbee.push(...toZigbeeDev);
572
+ }
573
+ if (featurePowerstripUI) {
574
+ exposes.push(...exposesPowerstripUI);
575
+ toZigbee.push(...toZigbeePowerstripUI);
576
+ }
577
+ return { exposes, fromZigbee, toZigbee, isModernExtend: true };
578
+ },
579
+ shellyWiFiSetup() {
580
+ // biome-ignore lint/suspicious/noExplicitAny: generic
581
+ const refresh = async (endpoint) => {
582
+ await endpoint.write("shellyWiFiSetupCluster", { actionCode: 0 }, SHELLY_OPTIONS);
583
+ await endpoint.read("shellyWiFiSetupCluster", ["status", "ip", "enabled", "dhcp", "ssid"], SHELLY_OPTIONS);
584
+ await endpoint.read("shellyWiFiSetupCluster", ["staticIp", "netMask"], SHELLY_OPTIONS);
585
+ await endpoint.read("shellyWiFiSetupCluster", ["gateway", "nameServer"], SHELLY_OPTIONS);
586
+ };
587
+ const exposes = [
588
+ e.text("wifi_status", ea.STATE_GET).withLabel("Wi-Fi status").withDescription("Current connection status").withCategory("diagnostic"),
589
+ e
590
+ .text("ip_address", ea.STATE_GET)
591
+ .withLabel("IP address")
592
+ .withDescription("IP address currently assigned to the device")
593
+ .withCategory("diagnostic"),
594
+ e
595
+ .binary("dhcp_enabled", ea.STATE_GET, true, false)
596
+ .withLabel("DHCP enabled")
597
+ .withDescription("Indicates whether DHCP is used to automatically assign network settings")
598
+ .withCategory("diagnostic"),
599
+ e
600
+ .composite("wifi_config", "wifi_config", ea.ALL)
601
+ .withFeature(e.binary("enabled", ea.STATE_SET, true, false).withLabel("Wi-Fi enabled").withDescription("Enable/disable Wi-Fi connectivity"))
602
+ .withFeature(e.text("ssid", ea.STATE_SET).withLabel("Network").withDescription("Name (SSID) of the Wi-Fi network to connect to"))
603
+ .withFeature(e.text("password", ea.SET).withLabel("Password").withDescription("Password for the selected Wi-Fi network"))
604
+ .withFeature(e
605
+ .text("static_ip", ea.STATE_SET)
606
+ .withLabel("IPv4 address")
607
+ .withDescription("Manually assigned IP address (used when DHCP is disabled)"))
608
+ .withFeature(e.text("net_mask", ea.STATE_SET).withLabel("Network mask").withDescription("Subnet mask for the static IP configuration"))
609
+ .withFeature(e.text("gateway", ea.STATE_SET).withLabel("Gateway").withDescription("Default gateway address for static IP configuration"))
610
+ .withFeature(e.text("name_server", ea.STATE_SET).withLabel("DNS").withDescription("Name server address for static IP configuration"))
611
+ .withLabel("Wi-Fi Configuration")
612
+ .withCategory("config"),
613
+ ];
614
+ // biome-ignore lint/suspicious/noExplicitAny: generic
615
+ const fromZigbee = [
616
+ {
617
+ cluster: "shellyWiFiSetupCluster",
618
+ type: ["attributeReport", "readResponse"],
619
+ convert: (model, msg, publish, options, meta) => {
620
+ const wifi_config = {};
621
+ const state = { wifi_config };
622
+ // Diagnostic data
623
+ if (msg.data.status !== undefined)
624
+ state.wifi_status = msg.data.status;
625
+ if (msg.data.ip !== undefined)
626
+ state.ip_address = msg.data.ip;
627
+ if (msg.data.dhcp !== undefined)
628
+ state.dhcp_enabled = msg.data.dhcp === 1;
629
+ // Wi-Fi config
630
+ if (msg.data.enabled !== undefined)
631
+ wifi_config.enabled = msg.data.enabled === 1;
632
+ if (msg.data.ssid !== undefined)
633
+ wifi_config.ssid = msg.data.ssid;
634
+ if (msg.data.staticIp !== undefined)
635
+ wifi_config.static_ip = msg.data.staticIp;
636
+ if (msg.data.netMask !== undefined)
637
+ wifi_config.net_mask = msg.data.netMask;
638
+ if (msg.data.gateway !== undefined)
639
+ wifi_config.gateway = msg.data.gateway;
640
+ if (msg.data.nameServer !== undefined)
641
+ wifi_config.name_server = msg.data.nameServer;
642
+ // Cleanup empty keys
643
+ for (const key in wifi_config) {
644
+ if (wifi_config[key] === "") {
645
+ wifi_config[key] = undefined;
646
+ }
647
+ }
648
+ return state;
649
+ },
650
+ },
651
+ ];
652
+ const toZigbee = [
653
+ {
654
+ key: ["wifi_status", "ip_address", "dhcp_enabled"],
655
+ convertGet: async (entity, key, meta) => {
656
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyWiFiSetupCluster");
657
+ await refresh(ep);
658
+ },
659
+ },
660
+ {
661
+ key: ["wifi_config"],
662
+ convertGet: async (entity, key, meta) => {
663
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyWiFiSetupCluster");
664
+ await refresh(ep);
665
+ },
666
+ convertSet: async (entity, key, value, meta) => {
667
+ (0, utils_1.assertObject)(value);
668
+ const ep = (0, utils_1.determineEndpoint)(entity, meta, "shellyWiFiSetupCluster");
669
+ const attr1 = {
670
+ enabled: value.enabled === true,
671
+ ssid: value.ssid || "",
672
+ };
673
+ await ep.write("shellyWiFiSetupCluster", attr1, SHELLY_OPTIONS);
674
+ const attr2 = {
675
+ password: value.password || "",
676
+ };
677
+ await ep.write("shellyWiFiSetupCluster", attr2, SHELLY_OPTIONS);
678
+ const attr3 = {
679
+ staticIp: value.static_ip || "",
680
+ netMask: value.net_mask || "",
681
+ };
682
+ await ep.write("shellyWiFiSetupCluster", attr3, SHELLY_OPTIONS);
683
+ const attr4 = {
684
+ gateway: value.gateway || "",
685
+ nameServer: value.name_server || "",
686
+ };
687
+ await ep.write("shellyWiFiSetupCluster", attr4, SHELLY_OPTIONS);
688
+ const attr5 = {
689
+ actionCode: 1,
690
+ };
691
+ await ep.write("shellyWiFiSetupCluster", attr5, SHELLY_OPTIONS);
692
+ return {
693
+ state: {
694
+ wifi_config: {
695
+ enabled: attr1.enabled,
696
+ ssid: attr1.ssid === "" ? undefined : attr1.ssid,
697
+ static_ip: attr3.staticIp === "" ? undefined : attr3.staticIp,
698
+ net_mask: attr3.netMask === "" ? undefined : attr3.netMask,
699
+ gateway: attr4.gateway === "" ? undefined : attr4.gateway,
700
+ name_server: attr4.nameServer === "" ? undefined : attr4.nameServer,
701
+ },
702
+ },
703
+ };
704
+ },
705
+ },
706
+ ];
707
+ const configure = [
708
+ async (device, coordinatorEndpoint, definition) => {
709
+ const ep = device.getEndpoint(SHELLY_ENDPOINT_ID);
710
+ await refresh(ep);
711
+ },
712
+ ];
713
+ return { exposes, fromZigbee, toZigbee, configure, isModernExtend: true };
714
+ },
715
+ ws90CalculatedValues() {
716
+ const exposes = [
717
+ // Calculated values only
718
+ e.numeric("dew_point", ea.STATE).withUnit("°C").withDescription("Calculated dew point temperature"),
719
+ e.numeric("wind_chill", ea.STATE).withUnit("°C").withDescription("Calculated wind chill temperature"),
720
+ e.numeric("humidex", ea.STATE).withUnit("°C").withDescription("Calculated humidex (feels-like for warm conditions)"),
721
+ e.numeric("apparent_temperature", ea.STATE).withUnit("°C").withDescription("Calculated apparent temperature"),
722
+ e.numeric("heat_stress", ea.STATE).withUnit("%").withDescription("Calculated heat stress percentage (0-100%)"),
723
+ e.numeric("rain_rate", ea.STATE).withUnit("mm/h").withDescription("Calculated rainfall rate"),
724
+ e.numeric("pressure_trend", ea.STATE).withUnit("hPa/h").withDescription("Pressure change rate (negative = falling)"),
725
+ e.text("weather_condition", ea.STATE).withDescription("Weather condition (sunny, rainy, snowy, cloudy, etc.)"),
726
+ ];
727
+ // biome-ignore lint/suspicious/noExplicitAny: custom clusters not in type registry
728
+ const fromZigbee = [
729
+ {
730
+ cluster: "msTemperatureMeasurement",
731
+ type: ["attributeReport", "readResponse"],
732
+ convert: (model, msg, publish, options, meta) => {
733
+ if (msg.data.measuredValue !== undefined) {
734
+ const temperature = msg.data.measuredValue / 100;
735
+ const calculated = updateWS90CalculatedValues(msg.device, { temperature });
736
+ return calculated; // Only calculated values; m.temperature() handles base temperature
737
+ }
738
+ },
739
+ },
740
+ {
741
+ cluster: "msRelativeHumidity",
742
+ type: ["attributeReport", "readResponse"],
743
+ convert: (model, msg, publish, options, meta) => {
744
+ if (msg.data.measuredValue !== undefined) {
745
+ const humidity = msg.data.measuredValue / 100;
746
+ const calculated = updateWS90CalculatedValues(msg.device, { humidity });
747
+ return calculated; // Only calculated values; m.humidity() handles base humidity
748
+ }
749
+ },
750
+ },
751
+ {
752
+ cluster: "msPressureMeasurement",
753
+ type: ["attributeReport", "readResponse"],
754
+ convert: (model, msg, publish, options, meta) => {
755
+ if (msg.data.measuredValue !== undefined) {
756
+ const pressure = msg.data.measuredValue / 10;
757
+ const calculated = updateWS90CalculatedValues(msg.device, { pressure });
758
+ return calculated; // Only calculated values; m.pressure() handles base pressure
759
+ }
760
+ },
761
+ },
762
+ {
763
+ cluster: "msIlluminanceMeasurement",
764
+ type: ["attributeReport", "readResponse"],
765
+ convert: (model, msg, publish, options, meta) => {
766
+ if (msg.data.measuredValue !== undefined) {
767
+ const measuredValue = msg.data.measuredValue;
768
+ const illuminance = measuredValue > 0 ? Math.round(10 ** ((measuredValue - 1) / 10000)) : 0;
769
+ const calculated = updateWS90CalculatedValues(msg.device, { illuminance });
770
+ return calculated; // Only calculated values; m.illuminance() handles base illuminance
771
+ }
772
+ },
773
+ },
774
+ {
775
+ cluster: "shellyWS90UV",
776
+ type: ["attributeReport", "readResponse"],
777
+ convert: (model, msg, publish, options, meta) => {
778
+ const data = msg.data;
779
+ if (data.uvIndex !== undefined) {
780
+ const uv_index = data.uvIndex / 10;
781
+ const calculated = updateWS90CalculatedValues(msg.device, { uv_index });
782
+ return calculated;
783
+ }
784
+ },
785
+ },
786
+ {
787
+ cluster: "shellyWS90Wind",
788
+ type: ["attributeReport", "readResponse"],
789
+ convert: (model, msg, publish, options, meta) => {
790
+ const data = msg.data;
791
+ const payload = {};
792
+ if (data.windSpeed !== undefined)
793
+ payload.wind_speed = data.windSpeed / 10;
794
+ if (data.windDirection !== undefined)
795
+ payload.wind_direction = data.windDirection / 10;
796
+ if (data.gustSpeed !== undefined)
797
+ payload.gust_speed = data.gustSpeed / 10;
798
+ const calculated = updateWS90CalculatedValues(msg.device, payload);
799
+ return calculated;
800
+ },
801
+ },
802
+ {
803
+ cluster: "shellyWS90Rain",
804
+ type: ["attributeReport", "readResponse"],
805
+ convert: (model, msg, publish, options, meta) => {
806
+ const data = msg.data;
807
+ const payload = {};
808
+ if (data.rainStatus !== undefined)
809
+ payload.rain_status = Boolean(data.rainStatus);
810
+ if (data.precipitation !== undefined) {
811
+ payload.precipitation = data.precipitation / 10;
812
+ }
813
+ // Calculate rain_rate (it's a calculated value, not a base sensor value)
814
+ const ws90Meta = getWS90Meta(msg.device);
815
+ const rainRate = calculateRainRate(ws90Meta, payload.precipitation);
816
+ const rain_rate = rainRate !== null ? rainRate : 0;
817
+ // Update state with precipitation and rain_rate
818
+ const stateUpdate = { ...payload, rain_rate };
819
+ const calculated = updateWS90CalculatedValues(msg.device, stateUpdate);
820
+ // Include rain_rate in calculated values
821
+ calculated.rain_rate = rain_rate;
822
+ msg.device.save();
823
+ return calculated; // Only calculated values; m.binary()/m.numeric() handle base rain values
824
+ },
825
+ },
826
+ ];
827
+ return { exposes, fromZigbee, isModernExtend: true };
828
+ },
829
+ };
830
+ // =============================================================================
831
+ // Local From Zigbee Converters
832
+ // =============================================================================
833
+ const fzLocal = {
834
+ one_button_events: {
835
+ cluster: "genOnOff",
836
+ type: ["commandToggle"],
837
+ convert: (model, msg, publish, options, meta) => {
838
+ const event = utils.getFromLookup(msg.endpoint.ID, { 1: "single", 2: "double", 3: "triple" });
839
+ return { action: event };
840
+ },
841
+ },
842
+ four_buttons_single_events: {
843
+ cluster: "genOnOff",
844
+ type: ["commandOn", "commandOff"],
845
+ convert: (model, msg, publish, options, meta) => {
846
+ const event = utils.getFromLookup(`${msg.endpoint.ID}_${msg.type}`, {
847
+ "1_commandOn": "1_single",
848
+ "1_commandOff": "2_single",
849
+ "2_commandOn": "3_single",
850
+ "2_commandOff": "4_single",
851
+ });
852
+ return { action: event };
853
+ },
854
+ },
855
+ four_buttons_hold_events: {
856
+ cluster: "genLevelCtrl",
857
+ type: ["commandStep"],
858
+ convert: (model, msg, publish, options, meta) => {
859
+ const event = utils.getFromLookup(`${msg.endpoint.ID}_${msg.data.stepmode}`, {
860
+ "1_0": "1_hold",
861
+ "1_1": "2_hold",
862
+ "2_0": "3_hold",
863
+ "2_1": "4_hold",
864
+ });
865
+ return { action: event };
866
+ },
867
+ },
868
+ };
869
+ // =============================================================================
870
+ // Device Definitions
871
+ // =============================================================================
872
+ exports.definitions = [
873
+ {
874
+ zigbeeModel: ["Mini1", "1 Mini"],
875
+ model: "S4SW-001X8EU",
876
+ vendor: "Shelly",
877
+ description: "1 Mini Gen 4",
878
+ extend: [m.onOff({ powerOnBehavior: false }), ...shellyModernExtend.shellyCustomClusters(), shellyModernExtend.shellyWiFiSetup()],
879
+ },
880
+ {
881
+ fingerprint: [{ modelID: "1", manufacturerName: "Shelly" }],
882
+ model: "S4SW-001X16EU",
883
+ vendor: "Shelly",
884
+ description: "1 Gen 4",
885
+ extend: [m.onOff({ powerOnBehavior: false }), ...shellyModernExtend.shellyCustomClusters(), shellyModernExtend.shellyWiFiSetup()],
886
+ },
887
+ {
888
+ zigbeeModel: ["Mini1PM", "1PM Mini"],
889
+ model: "S4SW-001P8EU",
890
+ vendor: "Shelly",
891
+ description: "1PM Mini Gen 4",
892
+ extend: [
893
+ m.onOff({ powerOnBehavior: false }),
894
+ m.electricityMeter({ producedEnergy: true, acFrequency: true }),
895
+ shellyModernExtend.shellyPowerFactorInt16Fix(),
896
+ ...shellyModernExtend.shellyCustomClusters(),
897
+ shellyModernExtend.shellyWiFiSetup(),
898
+ ],
899
+ },
900
+ {
901
+ zigbeeModel: ["1PM"],
902
+ model: "S4SW-001P16EU",
903
+ vendor: "Shelly",
904
+ description: "1PM Gen 4",
905
+ extend: [
906
+ m.onOff({ powerOnBehavior: false }),
907
+ m.electricityMeter({ producedEnergy: true, acFrequency: true }),
908
+ shellyModernExtend.shellyPowerFactorInt16Fix(),
909
+ ...shellyModernExtend.shellyCustomClusters(),
910
+ shellyModernExtend.shellyWiFiSetup(),
911
+ ],
912
+ },
913
+ {
914
+ zigbeeModel: ["EM Mini"],
915
+ model: "S4EM-001PXCEU16",
916
+ vendor: "Shelly",
917
+ description: "EM Mini Gen4",
918
+ extend: [
919
+ m.electricityMeter({ producedEnergy: true, acFrequency: true }),
920
+ shellyModernExtend.shellyPowerFactorInt16Fix(),
921
+ ...shellyModernExtend.shellyCustomClusters(),
922
+ shellyModernExtend.shellyWiFiSetup(),
923
+ ],
924
+ },
925
+ {
926
+ fingerprint: [
927
+ {
928
+ type: "Router",
929
+ manufacturerName: "Shelly",
930
+ modelID: "2PM",
931
+ endpoints: [
932
+ { ID: 1, profileID: 260, deviceID: 514, inputClusters: [0, 3, 4, 5, 258], outputClusters: [] },
933
+ { ID: 239, profileID: 49153, deviceID: 8193, inputClusters: [64513, 64514], outputClusters: [] },
934
+ { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] },
935
+ ],
936
+ },
937
+ ],
938
+ model: "S4SW-002P16EU-COVER",
939
+ vendor: "Shelly",
940
+ description: "2PM Gen4 (Cover mode)",
941
+ extend: [m.windowCovering({ controls: ["lift", "tilt"] }), ...shellyModernExtend.shellyCustomClusters(), shellyModernExtend.shellyWiFiSetup()],
942
+ },
943
+ {
944
+ fingerprint: [
945
+ {
946
+ type: "Router",
947
+ manufacturerName: "Shelly",
948
+ modelID: "2PM",
949
+ endpoints: [
950
+ { ID: 1, profileID: 260, deviceID: 266, inputClusters: [0, 3, 4, 5, 6, 2820, 1794], outputClusters: [] },
951
+ { ID: 2, profileID: 260, deviceID: 266, inputClusters: [4, 5, 6, 2820, 1794], outputClusters: [] },
952
+ { ID: 239, profileID: 49153, deviceID: 8193, inputClusters: [64513, 64514], outputClusters: [] },
953
+ { ID: 242, profileID: 41440, deviceID: 97, inputClusters: [], outputClusters: [33] },
954
+ ],
955
+ },
956
+ ],
957
+ model: "S4SW-002P16EU-SWITCH",
958
+ vendor: "Shelly",
959
+ description: "2PM Gen4 (Switch mode)",
960
+ extend: [
961
+ m.deviceEndpoints({ endpoints: { l1: 1, l2: 2 } }),
962
+ m.onOff({ powerOnBehavior: false, endpointNames: ["l1", "l2"] }),
963
+ m.electricityMeter({ producedEnergy: true, acFrequency: true, endpointNames: ["l1", "l2"] }),
964
+ shellyModernExtend.shellyPowerFactorInt16Fix(),
965
+ ...shellyModernExtend.shellyCustomClusters(),
966
+ shellyModernExtend.shellyWiFiSetup(),
967
+ ],
968
+ },
969
+ {
970
+ fingerprint: [{ modelID: "Plug US", manufacturerName: "Shelly" }],
971
+ model: "S4PL-00116US",
972
+ vendor: "Shelly",
973
+ description: "Plug US Gen4",
974
+ extend: [
975
+ m.onOff({ powerOnBehavior: false }),
976
+ m.electricityMeter(),
977
+ shellyModernExtend.shellyPowerFactorInt16Fix(),
978
+ ...shellyModernExtend.shellyCustomClusters(),
979
+ shellyModernExtend.shellyWiFiSetup(),
980
+ ],
981
+ },
982
+ {
983
+ fingerprint: [{ modelID: "Power Strip", manufacturerName: "Shelly" }],
984
+ model: "S4PL-00416EU",
985
+ vendor: "Shelly",
986
+ description: "Power strip 4 Gen4",
987
+ extend: [
988
+ m.deviceEndpoints({ endpoints: { "1": 1, "2": 2, "3": 3, "4": 4 } }),
989
+ m.onOff({ powerOnBehavior: false, endpointNames: ["1", "2", "3", "4"] }),
990
+ m.electricityMeter({ endpointNames: ["1", "2", "3", "4"] }),
991
+ shellyModernExtend.shellyPowerFactorInt16Fix(),
992
+ ...shellyModernExtend.shellyCustomClusters(),
993
+ shellyModernExtend.shellyRPCSetup(["PowerstripUI"]),
994
+ shellyModernExtend.shellyWiFiSetup(),
995
+ ],
996
+ },
997
+ {
998
+ fingerprint: [{ modelID: "Flood", manufacturerName: "Shelly" }],
999
+ model: "S4SN-0071A",
1000
+ vendor: "Shelly",
1001
+ description: "Flood Gen 4",
1002
+ extend: [
1003
+ m.battery(),
1004
+ m.iasZoneAlarm({ zoneType: "water_leak", zoneAttributes: ["alarm_1", "tamper", "battery_low"] }),
1005
+ ...shellyModernExtend.shellyCustomClusters(),
1006
+ shellyModernExtend.shellyWiFiSetup(),
1007
+ ],
1008
+ },
1009
+ {
1010
+ fingerprint: [{ modelID: "Ecowitt WS90", manufacturerName: "Shelly" }],
1011
+ model: "WS90",
1012
+ vendor: "Shelly",
1013
+ description: "Weather station",
1014
+ extend: [
1015
+ m.battery(),
1016
+ m.illuminance(),
1017
+ m.temperature(),
1018
+ m.pressure(),
1019
+ m.humidity(),
1020
+ m.deviceAddCustomCluster("shellyWS90Wind", {
1021
+ ID: 0xfc01,
1022
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SHELLY,
1023
+ attributes: {
1024
+ windSpeed: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1025
+ windDirection: { ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1026
+ gustSpeed: { ID: 0x0007, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1027
+ },
1028
+ commands: {},
1029
+ commandsResponse: {},
1030
+ }),
1031
+ m.numeric({
1032
+ name: "wind_speed",
1033
+ cluster: "shellyWS90Wind",
1034
+ attribute: "windSpeed",
1035
+ valueMin: 0,
1036
+ valueMax: 140,
1037
+ reporting: { min: "10_SECONDS", max: "1_HOUR", change: 1 },
1038
+ description: "Wind speed in m/s",
1039
+ scale: 10,
1040
+ unit: "m/s",
1041
+ access: "STATE_GET",
1042
+ }),
1043
+ m.numeric({
1044
+ name: "wind_direction",
1045
+ cluster: "shellyWS90Wind",
1046
+ attribute: "windDirection",
1047
+ valueMin: 0,
1048
+ valueMax: 360,
1049
+ reporting: { min: "10_SECONDS", max: "1_HOUR", change: 1 },
1050
+ description: "Wind direction in degrees",
1051
+ scale: 10,
1052
+ unit: "°",
1053
+ access: "STATE_GET",
1054
+ }),
1055
+ m.numeric({
1056
+ name: "gust_speed",
1057
+ cluster: "shellyWS90Wind",
1058
+ attribute: "gustSpeed",
1059
+ valueMin: 0,
1060
+ valueMax: 140,
1061
+ reporting: { min: "10_SECONDS", max: "1_HOUR", change: 1 },
1062
+ description: "Gust speed in m/s",
1063
+ scale: 10,
1064
+ unit: "m/s",
1065
+ access: "STATE_GET",
1066
+ }),
1067
+ m.deviceAddCustomCluster("shellyWS90UV", {
1068
+ ID: 0xfc02,
1069
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SHELLY,
1070
+ attributes: {
1071
+ uvIndex: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1072
+ },
1073
+ commands: {},
1074
+ commandsResponse: {},
1075
+ }),
1076
+ m.numeric({
1077
+ name: "uv_index",
1078
+ cluster: "shellyWS90UV",
1079
+ attribute: "uvIndex",
1080
+ valueMin: 0,
1081
+ valueMax: 11,
1082
+ reporting: { min: "10_SECONDS", max: "1_HOUR", change: 1 },
1083
+ description: "UV index",
1084
+ scale: 10,
1085
+ access: "STATE_GET",
1086
+ }),
1087
+ m.deviceAddCustomCluster("shellyWS90Rain", {
1088
+ ID: 0xfc03,
1089
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SHELLY,
1090
+ attributes: {
1091
+ rainStatus: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1092
+ precipitation: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT24 },
1093
+ },
1094
+ commands: {},
1095
+ commandsResponse: {},
1096
+ }),
1097
+ m.binary({
1098
+ name: "rain_status",
1099
+ cluster: "shellyWS90Rain",
1100
+ attribute: "rainStatus",
1101
+ valueOn: [true, 1],
1102
+ valueOff: [false, 0],
1103
+ reporting: { min: "10_SECONDS", max: "1_HOUR", change: 1 },
1104
+ description: "Rain status",
1105
+ access: "STATE_GET",
1106
+ }),
1107
+ m.numeric({
1108
+ name: "precipitation",
1109
+ cluster: "shellyWS90Rain",
1110
+ attribute: "precipitation",
1111
+ valueMin: 0,
1112
+ valueMax: 100000,
1113
+ reporting: { min: "10_SECONDS", max: "1_HOUR", change: 1 },
1114
+ description: "Precipitation",
1115
+ unit: "mm",
1116
+ scale: 10,
1117
+ access: "STATE_GET",
1118
+ }),
1119
+ // Calculated values (added by PR #11437)
1120
+ shellyModernExtend.ws90CalculatedValues(),
1121
+ ],
1122
+ },
1123
+ {
1124
+ fingerprint: [{ modelID: "Dimmer", manufacturerName: "Shelly" }],
1125
+ model: "S4DM-0A101WWL",
1126
+ vendor: "Shelly",
1127
+ description: "Dimmer Gen4",
1128
+ extend: [
1129
+ m.light({ configureReporting: true }),
1130
+ m.electricityMeter(),
1131
+ shellyModernExtend.shellyPowerFactorInt16Fix(),
1132
+ ...shellyModernExtend.shellyCustomClusters(),
1133
+ shellyModernExtend.shellyWiFiSetup(),
1134
+ ],
1135
+ },
1136
+ {
1137
+ fingerprint: [{ modelID: "BLU H&T ZB", manufacturerName: "Shelly" }],
1138
+ model: "SBHT-203C",
1139
+ vendor: "Shelly",
1140
+ description: "Humidity & temperature sensor",
1141
+ extend: [m.battery(), m.temperature(), m.humidity()],
1142
+ },
1143
+ {
1144
+ fingerprint: [{ modelID: "BLU H&T Display ZB", manufacturerName: "Shelly" }],
1145
+ model: "SBHT-103C",
1146
+ vendor: "Shelly",
1147
+ description: "BLU H&T display Zigbee",
1148
+ extend: [m.battery(), m.temperature(), m.humidity()],
1149
+ },
1150
+ {
1151
+ fingerprint: [{ modelID: "BLU Remote Control ZB", manufacturerName: "Shelly" }],
1152
+ model: "SBRC-005B-B",
1153
+ vendor: "Shelly",
1154
+ description: "BLU Remote Control ZB",
1155
+ exposes: [
1156
+ e.action(["on", "off", "brightness_step_up", "brightness_step_down"]),
1157
+ e.numeric("action_group", ea.STATE).withDescription("Group ID associated with the action command."),
1158
+ e.numeric("action_step_size", ea.STATE).withDescription("Step size value used for brightness step actions."),
1159
+ e.numeric("action_transition_time", ea.STATE).withDescription("Transition time in seconds for the action."),
1160
+ ],
1161
+ extend: [
1162
+ m.battery(),
1163
+ m.commandsOnOff({ commands: ["on", "off"] }),
1164
+ m.commandsLevelCtrl({ commands: ["brightness_step_up", "brightness_step_down"] }),
1165
+ m.identify(),
1166
+ ],
1167
+ },
1168
+ {
1169
+ fingerprint: [{ modelID: "BLU Button Tough 1 ZB", manufacturerName: "Shelly" }],
1170
+ model: "SBBT-102C",
1171
+ vendor: "Shelly",
1172
+ description: "BLU Button Tough 1 ZB",
1173
+ fromZigbee: [fzLocal.one_button_events],
1174
+ exposes: [e.action(["single", "double", "triple"])],
1175
+ extend: [m.battery(), m.deviceEndpoints({ endpoints: { "1": 1, "2": 2, "3": 3 } }), m.identify()],
1176
+ version: "0.0.2",
1177
+ configure: async (device, coordinatorEndpoint, definition) => {
1178
+ for (const endpoint of device.endpoints) {
1179
+ await endpoint.bind("genOnOff", coordinatorEndpoint);
1180
+ await endpoint.bind("genScenes", coordinatorEndpoint);
1181
+ }
1182
+ },
1183
+ },
1184
+ {
1185
+ fingerprint: [{ modelID: "BLU RC Button 4 ZB", manufacturerName: "Shelly" }],
1186
+ model: "SBBT-104CUS",
1187
+ vendor: "Shelly",
1188
+ description: "BLU RC Button 4 ZB",
1189
+ fromZigbee: [fzLocal.four_buttons_single_events, fzLocal.four_buttons_hold_events],
1190
+ exposes: [e.action(["1_single", "2_single", "3_single", "4_single", "1_hold", "2_hold", "3_hold", "4_hold"])],
1191
+ extend: [m.battery(), m.deviceEndpoints({ endpoints: { "1": 1, "2": 2, "3": 3, "4": 4 } }), m.identify()],
1192
+ version: "0.0.2",
1193
+ configure: async (device, coordinatorEndpoint, definition) => {
1194
+ for (const endpoint of device.endpoints) {
1195
+ await endpoint.bind("genOnOff", coordinatorEndpoint);
1196
+ await endpoint.bind("genLevelCtrl", coordinatorEndpoint);
1197
+ await endpoint.bind("genScenes", coordinatorEndpoint);
1198
+ }
1199
+ },
1200
+ },
1201
+ {
1202
+ zigbeeModel: ["BLU Wall Switch 4 ZB"],
1203
+ model: "SBBT-004CEU",
1204
+ vendor: "Shelly",
1205
+ description: "BLU Wall Switch 4 ZB",
1206
+ whiteLabel: [{ vendor: "Shelly", model: "SBBT-104CEU", description: "BLU Wall Switch 4 ZB DK" }],
1207
+ fromZigbee: [fzLocal.four_buttons_single_events, fzLocal.four_buttons_hold_events],
1208
+ exposes: [e.action(["1_single", "2_single", "3_single", "4_single", "1_hold", "2_hold", "3_hold", "4_hold"])],
1209
+ extend: [m.battery(), m.deviceEndpoints({ endpoints: { "1": 1, "2": 2, "3": 3, "4": 4 } }), m.identify()],
1210
+ version: "0.0.2",
1211
+ configure: async (device, coordinatorEndpoint, definition) => {
1212
+ for (const endpoint of device.endpoints) {
1213
+ await endpoint.bind("genOnOff", coordinatorEndpoint);
1214
+ await endpoint.bind("genLevelCtrl", coordinatorEndpoint);
1215
+ await endpoint.bind("genScenes", coordinatorEndpoint);
1216
+ }
1217
+ },
1218
+ },
1219
+ {
1220
+ zigbeeModel: ["BLU TRV"],
1221
+ model: "SBTR-001AEU",
1222
+ vendor: "Shelly",
1223
+ description: "Thermostatic radiator valve",
1224
+ fromZigbee: [
1225
+ fz.thermostat,
1226
+ {
1227
+ cluster: "hvacThermostat",
1228
+ type: ["attributeReport", "readResponse"],
1229
+ convert: (model, msg, publish, options, meta) => {
1230
+ const result = {};
1231
+ if (msg.data.alarmMask !== undefined) {
1232
+ const alarmMask = msg.data.alarmMask;
1233
+ result.calibration_ok = !((alarmMask & (1 << 2)) > 0);
1234
+ }
1235
+ return result;
1236
+ },
1237
+ },
1238
+ ],
1239
+ toZigbee: [
1240
+ {
1241
+ key: ["calibrate"],
1242
+ convertSet: async (entity, key, value, meta) => {
1243
+ await entity.command("shellyTRVManualMode", "calibrate", {}, { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SHELLY });
1244
+ },
1245
+ },
1246
+ ],
1247
+ exposes: [
1248
+ e.binary("calibration_ok", ea.STATE, true, false).withDescription("Calibration OK").withCategory("diagnostic"),
1249
+ e.enum("calibrate", ea.SET, ["trigger"]).withDescription("Trigger valve calibration").withCategory("config"),
1250
+ ],
1251
+ extend: [
1252
+ m.battery(),
1253
+ m.thermostat({
1254
+ localTemperatureCalibration: { values: { min: -10, max: 10, step: 0.1 } },
1255
+ setpoints: {
1256
+ values: {
1257
+ occupiedHeatingSetpoint: { min: 4, max: 30, step: 0.1 },
1258
+ unoccupiedHeatingSetpoint: { min: 4, max: 30, step: 0.1 },
1259
+ },
1260
+ },
1261
+ setpointsLimit: {
1262
+ minHeatSetpointLimit: { min: 4, max: 30, step: 0.1 },
1263
+ maxHeatSetpointLimit: { min: 4, max: 30, step: 0.1 },
1264
+ },
1265
+ systemMode: { values: ["off", "auto", "heat"] },
1266
+ piHeatingDemand: { values: true },
1267
+ }),
1268
+ m.deviceAddCustomCluster("shellyTRVManualMode", {
1269
+ ID: 0xfc24,
1270
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SHELLY,
1271
+ attributes: {
1272
+ manualMode: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1273
+ position: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1274
+ },
1275
+ commands: {
1276
+ calibrate: { ID: 0x0000, parameters: [] },
1277
+ },
1278
+ commandsResponse: {},
1279
+ }),
1280
+ m.binary({
1281
+ name: "manual_mode",
1282
+ cluster: "shellyTRVManualMode",
1283
+ attribute: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1284
+ valueOn: [true, 1],
1285
+ valueOff: [false, 0],
1286
+ description: "Manual mode (0 = auto, 1 = manual)",
1287
+ access: "ALL",
1288
+ }),
1289
+ m.numeric({
1290
+ name: "valve_position",
1291
+ cluster: "shellyTRVManualMode",
1292
+ attribute: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
1293
+ valueMin: 0,
1294
+ valueMax: 100,
1295
+ reporting: { min: "10_SECONDS", max: "1_HOUR", change: 1 },
1296
+ description: "Valve position (0-100%)",
1297
+ unit: "%",
1298
+ access: "ALL",
1299
+ }),
1300
+ m.identify(),
1301
+ ],
1302
+ },
1303
+ ];
1304
+ //# sourceMappingURL=shelly.js.map