zigbee-herdsman-converters 21.7.0 → 21.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1382) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/package.json +7 -34
  3. package/converters/fromZigbee.d.ts +0 -2036
  4. package/converters/fromZigbee.d.ts.map +0 -1
  5. package/converters/fromZigbee.js +0 -5343
  6. package/converters/fromZigbee.js.map +0 -1
  7. package/converters/toZigbee.d.ts +0 -1578
  8. package/converters/toZigbee.d.ts.map +0 -1
  9. package/converters/toZigbee.js +0 -4422
  10. package/converters/toZigbee.js.map +0 -1
  11. package/devices/ITCommander.d.ts +0 -4
  12. package/devices/ITCommander.d.ts.map +0 -1
  13. package/devices/ITCommander.js +0 -77
  14. package/devices/ITCommander.js.map +0 -1
  15. package/devices/acova.d.ts +0 -4
  16. package/devices/acova.d.ts.map +0 -1
  17. package/devices/acova.js +0 -127
  18. package/devices/acova.js.map +0 -1
  19. package/devices/acuity_brands_lighting.d.ts +0 -4
  20. package/devices/acuity_brands_lighting.d.ts.map +0 -1
  21. package/devices/acuity_brands_lighting.js +0 -29
  22. package/devices/acuity_brands_lighting.js.map +0 -1
  23. package/devices/adeo.d.ts +0 -4
  24. package/devices/adeo.d.ts.map +0 -1
  25. package/devices/adeo.js +0 -486
  26. package/devices/adeo.js.map +0 -1
  27. package/devices/adurosmart.d.ts +0 -4
  28. package/devices/adurosmart.d.ts.map +0 -1
  29. package/devices/adurosmart.js +0 -183
  30. package/devices/adurosmart.js.map +0 -1
  31. package/devices/aeotec.d.ts +0 -4
  32. package/devices/aeotec.d.ts.map +0 -1
  33. package/devices/aeotec.js +0 -66
  34. package/devices/aeotec.js.map +0 -1
  35. package/devices/airam.d.ts +0 -4
  36. package/devices/airam.d.ts.map +0 -1
  37. package/devices/airam.js +0 -106
  38. package/devices/airam.js.map +0 -1
  39. package/devices/airzone_aidoo.d.ts +0 -4
  40. package/devices/airzone_aidoo.d.ts.map +0 -1
  41. package/devices/airzone_aidoo.js +0 -81
  42. package/devices/airzone_aidoo.js.map +0 -1
  43. package/devices/ajax_online.d.ts +0 -4
  44. package/devices/ajax_online.d.ts.map +0 -1
  45. package/devices/ajax_online.js +0 -84
  46. package/devices/ajax_online.js.map +0 -1
  47. package/devices/akuvox.d.ts +0 -4
  48. package/devices/akuvox.d.ts.map +0 -1
  49. package/devices/akuvox.js +0 -68
  50. package/devices/akuvox.js.map +0 -1
  51. package/devices/alchemy.d.ts +0 -4
  52. package/devices/alchemy.d.ts.map +0 -1
  53. package/devices/alchemy.js +0 -22
  54. package/devices/alchemy.js.map +0 -1
  55. package/devices/aldi.d.ts +0 -4
  56. package/devices/aldi.d.ts.map +0 -1
  57. package/devices/aldi.js +0 -57
  58. package/devices/aldi.js.map +0 -1
  59. package/devices/alecto.d.ts +0 -4
  60. package/devices/alecto.d.ts.map +0 -1
  61. package/devices/alecto.js +0 -101
  62. package/devices/alecto.js.map +0 -1
  63. package/devices/amina.d.ts +0 -4
  64. package/devices/amina.d.ts.map +0 -1
  65. package/devices/amina.js +0 -370
  66. package/devices/amina.js.map +0 -1
  67. package/devices/anchor.d.ts +0 -4
  68. package/devices/anchor.d.ts.map +0 -1
  69. package/devices/anchor.js +0 -15
  70. package/devices/anchor.js.map +0 -1
  71. package/devices/atlantic.d.ts +0 -4
  72. package/devices/atlantic.d.ts.map +0 -1
  73. package/devices/atlantic.js +0 -146
  74. package/devices/atlantic.js.map +0 -1
  75. package/devices/atsmart.d.ts +0 -4
  76. package/devices/atsmart.d.ts.map +0 -1
  77. package/devices/atsmart.js +0 -15
  78. package/devices/atsmart.js.map +0 -1
  79. package/devices/aubess.d.ts +0 -4
  80. package/devices/aubess.d.ts.map +0 -1
  81. package/devices/aubess.js +0 -60
  82. package/devices/aubess.js.map +0 -1
  83. package/devices/aurora_lighting.d.ts +0 -4
  84. package/devices/aurora_lighting.d.ts.map +0 -1
  85. package/devices/aurora_lighting.js +0 -338
  86. package/devices/aurora_lighting.js.map +0 -1
  87. package/devices/automaton.d.ts +0 -4
  88. package/devices/automaton.d.ts.map +0 -1
  89. package/devices/automaton.js +0 -65
  90. package/devices/automaton.js.map +0 -1
  91. package/devices/avatto.d.ts +0 -4
  92. package/devices/avatto.d.ts.map +0 -1
  93. package/devices/avatto.js +0 -67
  94. package/devices/avatto.js.map +0 -1
  95. package/devices/awox.d.ts +0 -4
  96. package/devices/awox.d.ts.map +0 -1
  97. package/devices/awox.js +0 -240
  98. package/devices/awox.js.map +0 -1
  99. package/devices/axis.d.ts +0 -4
  100. package/devices/axis.d.ts.map +0 -1
  101. package/devices/axis.js +0 -63
  102. package/devices/axis.js.map +0 -1
  103. package/devices/bankamp.d.ts +0 -4
  104. package/devices/bankamp.d.ts.map +0 -1
  105. package/devices/bankamp.js +0 -15
  106. package/devices/bankamp.js.map +0 -1
  107. package/devices/bega.d.ts +0 -4
  108. package/devices/bega.d.ts.map +0 -1
  109. package/devices/bega.js +0 -29
  110. package/devices/bega.js.map +0 -1
  111. package/devices/belkin.d.ts +0 -4
  112. package/devices/belkin.d.ts.map +0 -1
  113. package/devices/belkin.js +0 -15
  114. package/devices/belkin.js.map +0 -1
  115. package/devices/bitron.d.ts +0 -4
  116. package/devices/bitron.d.ts.map +0 -1
  117. package/devices/bitron.js +0 -359
  118. package/devices/bitron.js.map +0 -1
  119. package/devices/bituo_technik.d.ts +0 -4
  120. package/devices/bituo_technik.d.ts.map +0 -1
  121. package/devices/bituo_technik.js +0 -121
  122. package/devices/bituo_technik.js.map +0 -1
  123. package/devices/blaupunkt.d.ts +0 -4
  124. package/devices/blaupunkt.d.ts.map +0 -1
  125. package/devices/blaupunkt.js +0 -68
  126. package/devices/blaupunkt.js.map +0 -1
  127. package/devices/blitzwolf.d.ts +0 -4
  128. package/devices/blitzwolf.d.ts.map +0 -1
  129. package/devices/blitzwolf.js +0 -73
  130. package/devices/blitzwolf.js.map +0 -1
  131. package/devices/bosch.d.ts +0 -4
  132. package/devices/bosch.d.ts.map +0 -1
  133. package/devices/bosch.js +0 -2048
  134. package/devices/bosch.js.map +0 -1
  135. package/devices/bouffalo_lab.d.ts +0 -4
  136. package/devices/bouffalo_lab.d.ts.map +0 -1
  137. package/devices/bouffalo_lab.js +0 -15
  138. package/devices/bouffalo_lab.js.map +0 -1
  139. package/devices/brimate.d.ts +0 -4
  140. package/devices/brimate.d.ts.map +0 -1
  141. package/devices/brimate.js +0 -55
  142. package/devices/brimate.js.map +0 -1
  143. package/devices/bseed.d.ts +0 -4
  144. package/devices/bseed.d.ts.map +0 -1
  145. package/devices/bseed.js +0 -57
  146. package/devices/bseed.js.map +0 -1
  147. package/devices/bticino.d.ts +0 -4
  148. package/devices/bticino.d.ts.map +0 -1
  149. package/devices/bticino.js +0 -113
  150. package/devices/bticino.js.map +0 -1
  151. package/devices/busch_jaeger.d.ts +0 -4
  152. package/devices/busch_jaeger.d.ts.map +0 -1
  153. package/devices/busch_jaeger.js +0 -186
  154. package/devices/busch_jaeger.js.map +0 -1
  155. package/devices/byun.d.ts +0 -4
  156. package/devices/byun.d.ts.map +0 -1
  157. package/devices/byun.js +0 -64
  158. package/devices/byun.js.map +0 -1
  159. package/devices/calex.d.ts +0 -4
  160. package/devices/calex.d.ts.map +0 -1
  161. package/devices/calex.js +0 -91
  162. package/devices/calex.js.map +0 -1
  163. package/devices/candeo.d.ts +0 -4
  164. package/devices/candeo.d.ts.map +0 -1
  165. package/devices/candeo.js +0 -185
  166. package/devices/candeo.js.map +0 -1
  167. package/devices/casaia.d.ts +0 -4
  168. package/devices/casaia.d.ts.map +0 -1
  169. package/devices/casaia.js +0 -99
  170. package/devices/casaia.js.map +0 -1
  171. package/devices/cel.d.ts +0 -4
  172. package/devices/cel.d.ts.map +0 -1
  173. package/devices/cel.js +0 -20
  174. package/devices/cel.js.map +0 -1
  175. package/devices/centralite.d.ts +0 -4
  176. package/devices/centralite.d.ts.map +0 -1
  177. package/devices/centralite.js +0 -444
  178. package/devices/centralite.js.map +0 -1
  179. package/devices/chacon.d.ts +0 -4
  180. package/devices/chacon.d.ts.map +0 -1
  181. package/devices/chacon.js +0 -18
  182. package/devices/chacon.js.map +0 -1
  183. package/devices/cleode.d.ts +0 -4
  184. package/devices/cleode.d.ts.map +0 -1
  185. package/devices/cleode.js +0 -15
  186. package/devices/cleode.js.map +0 -1
  187. package/devices/cleverio.d.ts +0 -4
  188. package/devices/cleverio.d.ts.map +0 -1
  189. package/devices/cleverio.js +0 -77
  190. package/devices/cleverio.js.map +0 -1
  191. package/devices/climax.d.ts +0 -4
  192. package/devices/climax.d.ts.map +0 -1
  193. package/devices/climax.js +0 -181
  194. package/devices/climax.js.map +0 -1
  195. package/devices/commercial_electric.d.ts +0 -4
  196. package/devices/commercial_electric.d.ts.map +0 -1
  197. package/devices/commercial_electric.js +0 -15
  198. package/devices/commercial_electric.js.map +0 -1
  199. package/devices/cree.d.ts +0 -4
  200. package/devices/cree.d.ts.map +0 -1
  201. package/devices/cree.js +0 -15
  202. package/devices/cree.js.map +0 -1
  203. package/devices/ctm.d.ts +0 -4
  204. package/devices/ctm.d.ts.map +0 -1
  205. package/devices/ctm.js +0 -1383
  206. package/devices/ctm.js.map +0 -1
  207. package/devices/current_products_corp.d.ts +0 -4
  208. package/devices/current_products_corp.d.ts.map +0 -1
  209. package/devices/current_products_corp.js +0 -64
  210. package/devices/current_products_corp.js.map +0 -1
  211. package/devices/custom_devices_diy.d.ts +0 -4
  212. package/devices/custom_devices_diy.d.ts.map +0 -1
  213. package/devices/custom_devices_diy.js +0 -1206
  214. package/devices/custom_devices_diy.js.map +0 -1
  215. package/devices/cy_lighting.d.ts +0 -4
  216. package/devices/cy_lighting.d.ts.map +0 -1
  217. package/devices/cy_lighting.js +0 -15
  218. package/devices/cy_lighting.js.map +0 -1
  219. package/devices/danalock.d.ts +0 -4
  220. package/devices/danalock.d.ts.map +0 -1
  221. package/devices/danalock.js +0 -65
  222. package/devices/danalock.js.map +0 -1
  223. package/devices/danfoss.d.ts +0 -4
  224. package/devices/danfoss.d.ts.map +0 -1
  225. package/devices/danfoss.js +0 -743
  226. package/devices/danfoss.js.map +0 -1
  227. package/devices/databyte.d.ts +0 -4
  228. package/devices/databyte.d.ts.map +0 -1
  229. package/devices/databyte.js +0 -95
  230. package/devices/databyte.js.map +0 -1
  231. package/devices/datek.d.ts +0 -4
  232. package/devices/datek.d.ts.map +0 -1
  233. package/devices/datek.js +0 -298
  234. package/devices/datek.js.map +0 -1
  235. package/devices/dawon_dns.d.ts +0 -4
  236. package/devices/dawon_dns.d.ts.map +0 -1
  237. package/devices/dawon_dns.js +0 -318
  238. package/devices/dawon_dns.js.map +0 -1
  239. package/devices/develco.d.ts +0 -4
  240. package/devices/develco.d.ts.map +0 -1
  241. package/devices/develco.js +0 -1037
  242. package/devices/develco.js.map +0 -1
  243. package/devices/digi.d.ts +0 -4
  244. package/devices/digi.d.ts.map +0 -1
  245. package/devices/digi.js +0 -25
  246. package/devices/digi.js.map +0 -1
  247. package/devices/diyruz.d.ts +0 -4
  248. package/devices/diyruz.d.ts.map +0 -1
  249. package/devices/diyruz.js +0 -403
  250. package/devices/diyruz.js.map +0 -1
  251. package/devices/dlink.d.ts +0 -4
  252. package/devices/dlink.d.ts.map +0 -1
  253. package/devices/dlink.js +0 -76
  254. package/devices/dlink.js.map +0 -1
  255. package/devices/dnake.d.ts +0 -4
  256. package/devices/dnake.d.ts.map +0 -1
  257. package/devices/dnake.js +0 -15
  258. package/devices/dnake.js.map +0 -1
  259. package/devices/dowsing_reynolds.d.ts +0 -4
  260. package/devices/dowsing_reynolds.d.ts.map +0 -1
  261. package/devices/dowsing_reynolds.js +0 -15
  262. package/devices/dowsing_reynolds.js.map +0 -1
  263. package/devices/dresden_elektronik.d.ts +0 -4
  264. package/devices/dresden_elektronik.d.ts.map +0 -1
  265. package/devices/dresden_elektronik.js +0 -50
  266. package/devices/dresden_elektronik.js.map +0 -1
  267. package/devices/easyaccess.d.ts +0 -4
  268. package/devices/easyaccess.d.ts.map +0 -1
  269. package/devices/easyaccess.js +0 -71
  270. package/devices/easyaccess.js.map +0 -1
  271. package/devices/easyiot.d.ts +0 -4
  272. package/devices/easyiot.d.ts.map +0 -1
  273. package/devices/easyiot.js +0 -358
  274. package/devices/easyiot.js.map +0 -1
  275. package/devices/eatonhalo_led.d.ts +0 -4
  276. package/devices/eatonhalo_led.d.ts.map +0 -1
  277. package/devices/eatonhalo_led.js +0 -15
  278. package/devices/eatonhalo_led.js.map +0 -1
  279. package/devices/echostar.d.ts +0 -4
  280. package/devices/echostar.d.ts.map +0 -1
  281. package/devices/echostar.js +0 -65
  282. package/devices/echostar.js.map +0 -1
  283. package/devices/ecodim.d.ts +0 -4
  284. package/devices/ecodim.d.ts.map +0 -1
  285. package/devices/ecodim.js +0 -270
  286. package/devices/ecodim.js.map +0 -1
  287. package/devices/ecolink.d.ts +0 -4
  288. package/devices/ecolink.d.ts.map +0 -1
  289. package/devices/ecolink.js +0 -61
  290. package/devices/ecolink.js.map +0 -1
  291. package/devices/ecosmart.d.ts +0 -4
  292. package/devices/ecosmart.d.ts.map +0 -1
  293. package/devices/ecosmart.js +0 -83
  294. package/devices/ecosmart.js.map +0 -1
  295. package/devices/ecozy.d.ts +0 -4
  296. package/devices/ecozy.d.ts.map +0 -1
  297. package/devices/ecozy.js +0 -89
  298. package/devices/ecozy.js.map +0 -1
  299. package/devices/edp.d.ts +0 -4
  300. package/devices/edp.d.ts.map +0 -1
  301. package/devices/edp.js +0 -74
  302. package/devices/edp.js.map +0 -1
  303. package/devices/efekta.d.ts +0 -4
  304. package/devices/efekta.d.ts.map +0 -1
  305. package/devices/efekta.js +0 -754
  306. package/devices/efekta.js.map +0 -1
  307. package/devices/eglo.d.ts +0 -4
  308. package/devices/eglo.d.ts.map +0 -1
  309. package/devices/eglo.js +0 -132
  310. package/devices/eglo.js.map +0 -1
  311. package/devices/elko.d.ts +0 -4
  312. package/devices/elko.d.ts.map +0 -1
  313. package/devices/elko.js +0 -240
  314. package/devices/elko.js.map +0 -1
  315. package/devices/enbrighten.d.ts +0 -4
  316. package/devices/enbrighten.d.ts.map +0 -1
  317. package/devices/enbrighten.js +0 -97
  318. package/devices/enbrighten.js.map +0 -1
  319. package/devices/enocean.d.ts +0 -4
  320. package/devices/enocean.d.ts.map +0 -1
  321. package/devices/enocean.js +0 -153
  322. package/devices/enocean.js.map +0 -1
  323. package/devices/envilar.d.ts +0 -4
  324. package/devices/envilar.d.ts.map +0 -1
  325. package/devices/envilar.js +0 -100
  326. package/devices/envilar.js.map +0 -1
  327. package/devices/essentialb.d.ts +0 -4
  328. package/devices/essentialb.d.ts.map +0 -1
  329. package/devices/essentialb.js +0 -137
  330. package/devices/essentialb.js.map +0 -1
  331. package/devices/eucontrols.d.ts +0 -4
  332. package/devices/eucontrols.d.ts.map +0 -1
  333. package/devices/eucontrols.js +0 -15
  334. package/devices/eucontrols.js.map +0 -1
  335. package/devices/eurotronic.d.ts +0 -4
  336. package/devices/eurotronic.d.ts.map +0 -1
  337. package/devices/eurotronic.js +0 -128
  338. package/devices/eurotronic.js.map +0 -1
  339. package/devices/evanell.d.ts +0 -4
  340. package/devices/evanell.d.ts.map +0 -1
  341. package/devices/evanell.js +0 -75
  342. package/devices/evanell.js.map +0 -1
  343. package/devices/evn.d.ts +0 -4
  344. package/devices/evn.d.ts.map +0 -1
  345. package/devices/evn.js +0 -94
  346. package/devices/evn.js.map +0 -1
  347. package/devices/evology.d.ts +0 -4
  348. package/devices/evology.d.ts.map +0 -1
  349. package/devices/evology.js +0 -64
  350. package/devices/evology.js.map +0 -1
  351. package/devices/evvr.d.ts +0 -4
  352. package/devices/evvr.d.ts.map +0 -1
  353. package/devices/evvr.js +0 -15
  354. package/devices/evvr.js.map +0 -1
  355. package/devices/ewelink.d.ts +0 -4
  356. package/devices/ewelink.d.ts.map +0 -1
  357. package/devices/ewelink.js +0 -205
  358. package/devices/ewelink.js.map +0 -1
  359. package/devices/ezex.d.ts +0 -4
  360. package/devices/ezex.d.ts.map +0 -1
  361. package/devices/ezex.js +0 -15
  362. package/devices/ezex.js.map +0 -1
  363. package/devices/fantem.d.ts +0 -4
  364. package/devices/fantem.d.ts.map +0 -1
  365. package/devices/fantem.js +0 -118
  366. package/devices/fantem.js.map +0 -1
  367. package/devices/feibit.d.ts +0 -4
  368. package/devices/feibit.d.ts.map +0 -1
  369. package/devices/feibit.js +0 -334
  370. package/devices/feibit.js.map +0 -1
  371. package/devices/fireangel.d.ts +0 -4
  372. package/devices/fireangel.d.ts.map +0 -1
  373. package/devices/fireangel.js +0 -55
  374. package/devices/fireangel.js.map +0 -1
  375. package/devices/frankever.d.ts +0 -4
  376. package/devices/frankever.d.ts.map +0 -1
  377. package/devices/frankever.js +0 -71
  378. package/devices/frankever.js.map +0 -1
  379. package/devices/frient.d.ts +0 -4
  380. package/devices/frient.d.ts.map +0 -1
  381. package/devices/frient.js +0 -42
  382. package/devices/frient.js.map +0 -1
  383. package/devices/futurehome.d.ts +0 -4
  384. package/devices/futurehome.d.ts.map +0 -1
  385. package/devices/futurehome.js +0 -124
  386. package/devices/futurehome.js.map +0 -1
  387. package/devices/ge.d.ts +0 -4
  388. package/devices/ge.d.ts.map +0 -1
  389. package/devices/ge.js +0 -134
  390. package/devices/ge.js.map +0 -1
  391. package/devices/gewiss.d.ts +0 -4
  392. package/devices/gewiss.d.ts.map +0 -1
  393. package/devices/gewiss.js +0 -78
  394. package/devices/gewiss.js.map +0 -1
  395. package/devices/gidealed.d.ts +0 -4
  396. package/devices/gidealed.d.ts.map +0 -1
  397. package/devices/gidealed.js +0 -15
  398. package/devices/gidealed.js.map +0 -1
  399. package/devices/giderwel.d.ts +0 -4
  400. package/devices/giderwel.d.ts.map +0 -1
  401. package/devices/giderwel.js +0 -15
  402. package/devices/giderwel.js.map +0 -1
  403. package/devices/giex.d.ts +0 -4
  404. package/devices/giex.d.ts.map +0 -1
  405. package/devices/giex.js +0 -121
  406. package/devices/giex.js.map +0 -1
  407. package/devices/girier.d.ts +0 -4
  408. package/devices/girier.d.ts.map +0 -1
  409. package/devices/girier.js +0 -56
  410. package/devices/girier.js.map +0 -1
  411. package/devices/gledopto.d.ts +0 -4
  412. package/devices/gledopto.d.ts.map +0 -1
  413. package/devices/gledopto.js +0 -1046
  414. package/devices/gledopto.js.map +0 -1
  415. package/devices/gmmts.d.ts +0 -4
  416. package/devices/gmmts.d.ts.map +0 -1
  417. package/devices/gmmts.js +0 -2287
  418. package/devices/gmmts.js.map +0 -1
  419. package/devices/gmy.d.ts +0 -4
  420. package/devices/gmy.d.ts.map +0 -1
  421. package/devices/gmy.js +0 -15
  422. package/devices/gmy.js.map +0 -1
  423. package/devices/gs.d.ts +0 -4
  424. package/devices/gs.d.ts.map +0 -1
  425. package/devices/gs.js +0 -89
  426. package/devices/gs.js.map +0 -1
  427. package/devices/gumax.d.ts +0 -4
  428. package/devices/gumax.d.ts.map +0 -1
  429. package/devices/gumax.js +0 -15
  430. package/devices/gumax.js.map +0 -1
  431. package/devices/halemeier.d.ts +0 -4
  432. package/devices/halemeier.d.ts.map +0 -1
  433. package/devices/halemeier.js +0 -129
  434. package/devices/halemeier.js.map +0 -1
  435. package/devices/hampton_bay.d.ts +0 -4
  436. package/devices/hampton_bay.d.ts.map +0 -1
  437. package/devices/hampton_bay.js +0 -72
  438. package/devices/hampton_bay.js.map +0 -1
  439. package/devices/heatit.d.ts +0 -4
  440. package/devices/heatit.d.ts.map +0 -1
  441. package/devices/heatit.js +0 -15
  442. package/devices/heatit.js.map +0 -1
  443. package/devices/heiman.d.ts +0 -4
  444. package/devices/heiman.d.ts.map +0 -1
  445. package/devices/heiman.js +0 -807
  446. package/devices/heiman.js.map +0 -1
  447. package/devices/heimgard_technologies.d.ts +0 -4
  448. package/devices/heimgard_technologies.d.ts.map +0 -1
  449. package/devices/heimgard_technologies.js +0 -193
  450. package/devices/heimgard_technologies.js.map +0 -1
  451. package/devices/hej.d.ts +0 -4
  452. package/devices/hej.d.ts.map +0 -1
  453. package/devices/hej.js +0 -73
  454. package/devices/hej.js.map +0 -1
  455. package/devices/hfh.d.ts +0 -4
  456. package/devices/hfh.d.ts.map +0 -1
  457. package/devices/hfh.js +0 -15
  458. package/devices/hfh.js.map +0 -1
  459. package/devices/hilux.d.ts +0 -4
  460. package/devices/hilux.d.ts.map +0 -1
  461. package/devices/hilux.js +0 -22
  462. package/devices/hilux.js.map +0 -1
  463. package/devices/hive.d.ts +0 -4
  464. package/devices/hive.d.ts.map +0 -1
  465. package/devices/hive.js +0 -766
  466. package/devices/hive.js.map +0 -1
  467. package/devices/hommyn.d.ts +0 -4
  468. package/devices/hommyn.d.ts.map +0 -1
  469. package/devices/hommyn.js +0 -64
  470. package/devices/hommyn.js.map +0 -1
  471. package/devices/honyar.d.ts +0 -4
  472. package/devices/honyar.d.ts.map +0 -1
  473. package/devices/honyar.js +0 -171
  474. package/devices/honyar.js.map +0 -1
  475. package/devices/hornbach.d.ts +0 -4
  476. package/devices/hornbach.d.ts.map +0 -1
  477. package/devices/hornbach.js +0 -99
  478. package/devices/hornbach.js.map +0 -1
  479. package/devices/hzc_electric.d.ts +0 -4
  480. package/devices/hzc_electric.d.ts.map +0 -1
  481. package/devices/hzc_electric.js +0 -94
  482. package/devices/hzc_electric.js.map +0 -1
  483. package/devices/icasa.d.ts +0 -4
  484. package/devices/icasa.d.ts.map +0 -1
  485. package/devices/icasa.js +0 -167
  486. package/devices/icasa.js.map +0 -1
  487. package/devices/idinio.d.ts +0 -4
  488. package/devices/idinio.d.ts.map +0 -1
  489. package/devices/idinio.js +0 -15
  490. package/devices/idinio.js.map +0 -1
  491. package/devices/ihorn.d.ts +0 -4
  492. package/devices/ihorn.d.ts.map +0 -1
  493. package/devices/ihorn.js +0 -109
  494. package/devices/ihorn.js.map +0 -1
  495. package/devices/ikea.d.ts +0 -4
  496. package/devices/ikea.d.ts.map +0 -1
  497. package/devices/ikea.js +0 -927
  498. package/devices/ikea.js.map +0 -1
  499. package/devices/ilightsin.d.ts +0 -4
  500. package/devices/ilightsin.d.ts.map +0 -1
  501. package/devices/ilightsin.js +0 -15
  502. package/devices/ilightsin.js.map +0 -1
  503. package/devices/iluminize.d.ts +0 -4
  504. package/devices/iluminize.d.ts.map +0 -1
  505. package/devices/iluminize.js +0 -376
  506. package/devices/iluminize.js.map +0 -1
  507. package/devices/ilux.d.ts +0 -4
  508. package/devices/ilux.d.ts.map +0 -1
  509. package/devices/ilux.js +0 -15
  510. package/devices/ilux.js.map +0 -1
  511. package/devices/imhotepcreation.d.ts +0 -4
  512. package/devices/imhotepcreation.d.ts.map +0 -1
  513. package/devices/imhotepcreation.js +0 -251
  514. package/devices/imhotepcreation.js.map +0 -1
  515. package/devices/immax.d.ts +0 -4
  516. package/devices/immax.d.ts.map +0 -1
  517. package/devices/immax.js +0 -304
  518. package/devices/immax.js.map +0 -1
  519. package/devices/imou.d.ts +0 -4
  520. package/devices/imou.d.ts.map +0 -1
  521. package/devices/imou.js +0 -28
  522. package/devices/imou.js.map +0 -1
  523. package/devices/index.d.ts +0 -13
  524. package/devices/index.d.ts.map +0 -1
  525. package/devices/index.js +0 -638
  526. package/devices/index.js.map +0 -1
  527. package/devices/innr.d.ts +0 -4
  528. package/devices/innr.d.ts.map +0 -1
  529. package/devices/innr.js +0 -878
  530. package/devices/innr.js.map +0 -1
  531. package/devices/inovelli.d.ts +0 -4
  532. package/devices/inovelli.d.ts.map +0 -1
  533. package/devices/inovelli.js +0 -1977
  534. package/devices/inovelli.js.map +0 -1
  535. package/devices/insta.d.ts +0 -4
  536. package/devices/insta.d.ts.map +0 -1
  537. package/devices/insta.js +0 -186
  538. package/devices/insta.js.map +0 -1
  539. package/devices/iolloi.d.ts +0 -4
  540. package/devices/iolloi.d.ts.map +0 -1
  541. package/devices/iolloi.js +0 -16
  542. package/devices/iolloi.js.map +0 -1
  543. package/devices/iotperfect.d.ts +0 -4
  544. package/devices/iotperfect.d.ts.map +0 -1
  545. package/devices/iotperfect.js +0 -62
  546. package/devices/iotperfect.js.map +0 -1
  547. package/devices/iris.d.ts +0 -4
  548. package/devices/iris.d.ts.map +0 -1
  549. package/devices/iris.js +0 -211
  550. package/devices/iris.js.map +0 -1
  551. package/devices/istar.d.ts +0 -4
  552. package/devices/istar.d.ts.map +0 -1
  553. package/devices/istar.js +0 -22
  554. package/devices/istar.js.map +0 -1
  555. package/devices/jasco.d.ts +0 -4
  556. package/devices/jasco.d.ts.map +0 -1
  557. package/devices/jasco.js +0 -34
  558. package/devices/jasco.js.map +0 -1
  559. package/devices/javis.d.ts +0 -4
  560. package/devices/javis.d.ts.map +0 -1
  561. package/devices/javis.js +0 -84
  562. package/devices/javis.js.map +0 -1
  563. package/devices/jethome.d.ts +0 -4
  564. package/devices/jethome.d.ts.map +0 -1
  565. package/devices/jethome.js +0 -124
  566. package/devices/jethome.js.map +0 -1
  567. package/devices/jiawen.d.ts +0 -4
  568. package/devices/jiawen.d.ts.map +0 -1
  569. package/devices/jiawen.js +0 -22
  570. package/devices/jiawen.js.map +0 -1
  571. package/devices/jumitech.d.ts +0 -4
  572. package/devices/jumitech.d.ts.map +0 -1
  573. package/devices/jumitech.js +0 -15
  574. package/devices/jumitech.js.map +0 -1
  575. package/devices/jxuan.d.ts +0 -4
  576. package/devices/jxuan.d.ts.map +0 -1
  577. package/devices/jxuan.js +0 -89
  578. package/devices/jxuan.js.map +0 -1
  579. package/devices/kami.d.ts +0 -4
  580. package/devices/kami.d.ts.map +0 -1
  581. package/devices/kami.js +0 -55
  582. package/devices/kami.js.map +0 -1
  583. package/devices/keen_home.d.ts +0 -4
  584. package/devices/keen_home.d.ts.map +0 -1
  585. package/devices/keen_home.js +0 -160
  586. package/devices/keen_home.js.map +0 -1
  587. package/devices/klikaanklikuit.d.ts +0 -4
  588. package/devices/klikaanklikuit.d.ts.map +0 -1
  589. package/devices/klikaanklikuit.js +0 -22
  590. package/devices/klikaanklikuit.js.map +0 -1
  591. package/devices/kmpcil.d.ts +0 -4
  592. package/devices/kmpcil.d.ts.map +0 -1
  593. package/devices/kmpcil.js +0 -219
  594. package/devices/kmpcil.js.map +0 -1
  595. package/devices/konke.d.ts +0 -4
  596. package/devices/konke.d.ts.map +0 -1
  597. package/devices/konke.js +0 -210
  598. package/devices/konke.js.map +0 -1
  599. package/devices/ksentry.d.ts +0 -4
  600. package/devices/ksentry.d.ts.map +0 -1
  601. package/devices/ksentry.js +0 -15
  602. package/devices/ksentry.js.map +0 -1
  603. package/devices/kurvia.d.ts +0 -4
  604. package/devices/kurvia.d.ts.map +0 -1
  605. package/devices/kurvia.js +0 -20
  606. package/devices/kurvia.js.map +0 -1
  607. package/devices/kwikset.d.ts +0 -4
  608. package/devices/kwikset.d.ts.map +0 -1
  609. package/devices/kwikset.js +0 -157
  610. package/devices/kwikset.js.map +0 -1
  611. package/devices/lanesto.d.ts +0 -4
  612. package/devices/lanesto.d.ts.map +0 -1
  613. package/devices/lanesto.js +0 -15
  614. package/devices/lanesto.js.map +0 -1
  615. package/devices/lds.d.ts +0 -4
  616. package/devices/lds.d.ts.map +0 -1
  617. package/devices/lds.js +0 -15
  618. package/devices/lds.js.map +0 -1
  619. package/devices/led_trading.d.ts +0 -4
  620. package/devices/led_trading.d.ts.map +0 -1
  621. package/devices/led_trading.js +0 -112
  622. package/devices/led_trading.js.map +0 -1
  623. package/devices/ledvance.d.ts +0 -4
  624. package/devices/ledvance.d.ts.map +0 -1
  625. package/devices/ledvance.js +0 -337
  626. package/devices/ledvance.js.map +0 -1
  627. package/devices/leedarson.d.ts +0 -4
  628. package/devices/leedarson.d.ts.map +0 -1
  629. package/devices/leedarson.js +0 -182
  630. package/devices/leedarson.js.map +0 -1
  631. package/devices/legrand.d.ts +0 -4
  632. package/devices/legrand.d.ts.map +0 -1
  633. package/devices/legrand.js +0 -736
  634. package/devices/legrand.js.map +0 -1
  635. package/devices/lellki.d.ts +0 -4
  636. package/devices/lellki.d.ts.map +0 -1
  637. package/devices/lellki.js +0 -169
  638. package/devices/lellki.js.map +0 -1
  639. package/devices/letsled.d.ts +0 -4
  640. package/devices/letsled.d.ts.map +0 -1
  641. package/devices/letsled.js +0 -15
  642. package/devices/letsled.js.map +0 -1
  643. package/devices/letv.d.ts +0 -4
  644. package/devices/letv.d.ts.map +0 -1
  645. package/devices/letv.js +0 -90
  646. package/devices/letv.js.map +0 -1
  647. package/devices/leviton.d.ts +0 -4
  648. package/devices/leviton.d.ts.map +0 -1
  649. package/devices/leviton.js +0 -164
  650. package/devices/leviton.js.map +0 -1
  651. package/devices/lg.d.ts +0 -4
  652. package/devices/lg.d.ts.map +0 -1
  653. package/devices/lg.js +0 -29
  654. package/devices/lg.js.map +0 -1
  655. package/devices/lidl.d.ts +0 -4
  656. package/devices/lidl.d.ts.map +0 -1
  657. package/devices/lidl.js +0 -674
  658. package/devices/lidl.js.map +0 -1
  659. package/devices/lifecontrol.d.ts +0 -4
  660. package/devices/lifecontrol.d.ts.map +0 -1
  661. package/devices/lifecontrol.js +0 -149
  662. package/devices/lifecontrol.js.map +0 -1
  663. package/devices/lightsolutions.d.ts +0 -4
  664. package/devices/lightsolutions.d.ts.map +0 -1
  665. package/devices/lightsolutions.js +0 -36
  666. package/devices/lightsolutions.js.map +0 -1
  667. package/devices/linkind.d.ts +0 -4
  668. package/devices/linkind.d.ts.map +0 -1
  669. package/devices/linkind.js +0 -275
  670. package/devices/linkind.js.map +0 -1
  671. package/devices/linptech.d.ts +0 -4
  672. package/devices/linptech.d.ts.map +0 -1
  673. package/devices/linptech.js +0 -159
  674. package/devices/linptech.js.map +0 -1
  675. package/devices/livingwise.d.ts +0 -4
  676. package/devices/livingwise.d.ts.map +0 -1
  677. package/devices/livingwise.js +0 -119
  678. package/devices/livingwise.js.map +0 -1
  679. package/devices/livolo.d.ts +0 -4
  680. package/devices/livolo.d.ts.map +0 -1
  681. package/devices/livolo.js +0 -422
  682. package/devices/livolo.js.map +0 -1
  683. package/devices/lixee.d.ts +0 -4
  684. package/devices/lixee.d.ts.map +0 -1
  685. package/devices/lixee.js +0 -1926
  686. package/devices/lixee.js.map +0 -1
  687. package/devices/lonsonho.d.ts +0 -4
  688. package/devices/lonsonho.d.ts.map +0 -1
  689. package/devices/lonsonho.js +0 -303
  690. package/devices/lonsonho.js.map +0 -1
  691. package/devices/ls.d.ts +0 -4
  692. package/devices/ls.d.ts.map +0 -1
  693. package/devices/ls.js +0 -68
  694. package/devices/ls.js.map +0 -1
  695. package/devices/lubeez.d.ts +0 -4
  696. package/devices/lubeez.d.ts.map +0 -1
  697. package/devices/lubeez.js +0 -15
  698. package/devices/lubeez.js.map +0 -1
  699. package/devices/lumi.d.ts +0 -4
  700. package/devices/lumi.d.ts.map +0 -1
  701. package/devices/lumi.js +0 -4387
  702. package/devices/lumi.js.map +0 -1
  703. package/devices/lupus.d.ts +0 -4
  704. package/devices/lupus.d.ts.map +0 -1
  705. package/devices/lupus.js +0 -98
  706. package/devices/lupus.js.map +0 -1
  707. package/devices/lutron.d.ts +0 -4
  708. package/devices/lutron.d.ts.map +0 -1
  709. package/devices/lutron.js +0 -71
  710. package/devices/lutron.js.map +0 -1
  711. package/devices/lux.d.ts +0 -4
  712. package/devices/lux.d.ts.map +0 -1
  713. package/devices/lux.js +0 -91
  714. package/devices/lux.js.map +0 -1
  715. package/devices/lytko.d.ts +0 -4
  716. package/devices/lytko.d.ts.map +0 -1
  717. package/devices/lytko.js +0 -788
  718. package/devices/lytko.js.map +0 -1
  719. package/devices/m_elec.d.ts +0 -4
  720. package/devices/m_elec.d.ts.map +0 -1
  721. package/devices/m_elec.js +0 -36
  722. package/devices/m_elec.js.map +0 -1
  723. package/devices/makegood.d.ts +0 -4
  724. package/devices/makegood.d.ts.map +0 -1
  725. package/devices/makegood.js +0 -66
  726. package/devices/makegood.js.map +0 -1
  727. package/devices/matcall_bv.d.ts +0 -4
  728. package/devices/matcall_bv.d.ts.map +0 -1
  729. package/devices/matcall_bv.js +0 -22
  730. package/devices/matcall_bv.js.map +0 -1
  731. package/devices/mazda.d.ts +0 -4
  732. package/devices/mazda.d.ts.map +0 -1
  733. package/devices/mazda.js +0 -142
  734. package/devices/mazda.js.map +0 -1
  735. package/devices/meazon.d.ts +0 -4
  736. package/devices/meazon.d.ts.map +0 -1
  737. package/devices/meazon.js +0 -99
  738. package/devices/meazon.js.map +0 -1
  739. package/devices/mercator.d.ts +0 -4
  740. package/devices/mercator.d.ts.map +0 -1
  741. package/devices/mercator.js +0 -256
  742. package/devices/mercator.js.map +0 -1
  743. package/devices/miboxer.d.ts +0 -4
  744. package/devices/miboxer.d.ts.map +0 -1
  745. package/devices/miboxer.js +0 -93
  746. package/devices/miboxer.js.map +0 -1
  747. package/devices/micromatic.d.ts +0 -4
  748. package/devices/micromatic.d.ts.map +0 -1
  749. package/devices/micromatic.js +0 -15
  750. package/devices/micromatic.js.map +0 -1
  751. package/devices/modular.d.ts +0 -4
  752. package/devices/modular.d.ts.map +0 -1
  753. package/devices/modular.js +0 -15
  754. package/devices/modular.js.map +0 -1
  755. package/devices/moes.d.ts +0 -4
  756. package/devices/moes.d.ts.map +0 -1
  757. package/devices/moes.js +0 -654
  758. package/devices/moes.js.map +0 -1
  759. package/devices/muller_licht.d.ts +0 -4
  760. package/devices/muller_licht.d.ts.map +0 -1
  761. package/devices/muller_licht.js +0 -341
  762. package/devices/muller_licht.js.map +0 -1
  763. package/devices/multiterm.d.ts +0 -4
  764. package/devices/multiterm.d.ts.map +0 -1
  765. package/devices/multiterm.js +0 -123
  766. package/devices/multiterm.js.map +0 -1
  767. package/devices/namron.d.ts +0 -4
  768. package/devices/namron.d.ts.map +0 -1
  769. package/devices/namron.js +0 -1464
  770. package/devices/namron.js.map +0 -1
  771. package/devices/nanoleaf.d.ts +0 -4
  772. package/devices/nanoleaf.d.ts.map +0 -1
  773. package/devices/nanoleaf.js +0 -15
  774. package/devices/nanoleaf.js.map +0 -1
  775. package/devices/neo.d.ts +0 -4
  776. package/devices/neo.d.ts.map +0 -1
  777. package/devices/neo.js +0 -558
  778. package/devices/neo.js.map +0 -1
  779. package/devices/net2grid.d.ts +0 -4
  780. package/devices/net2grid.d.ts.map +0 -1
  781. package/devices/net2grid.js +0 -68
  782. package/devices/net2grid.js.map +0 -1
  783. package/devices/netvox.d.ts +0 -4
  784. package/devices/netvox.d.ts.map +0 -1
  785. package/devices/netvox.js +0 -75
  786. package/devices/netvox.js.map +0 -1
  787. package/devices/nexelec.d.ts +0 -4
  788. package/devices/nexelec.d.ts.map +0 -1
  789. package/devices/nexelec.js +0 -15
  790. package/devices/nexelec.js.map +0 -1
  791. package/devices/niko.d.ts +0 -4
  792. package/devices/niko.d.ts.map +0 -1
  793. package/devices/niko.js +0 -495
  794. package/devices/niko.js.map +0 -1
  795. package/devices/ninja_blocks.d.ts +0 -4
  796. package/devices/ninja_blocks.d.ts.map +0 -1
  797. package/devices/ninja_blocks.js +0 -64
  798. package/devices/ninja_blocks.js.map +0 -1
  799. package/devices/niviss.d.ts +0 -4
  800. package/devices/niviss.d.ts.map +0 -1
  801. package/devices/niviss.js +0 -15
  802. package/devices/niviss.js.map +0 -1
  803. package/devices/nodon.d.ts +0 -4
  804. package/devices/nodon.d.ts.map +0 -1
  805. package/devices/nodon.js +0 -386
  806. package/devices/nodon.js.map +0 -1
  807. package/devices/nordtronic.d.ts +0 -4
  808. package/devices/nordtronic.d.ts.map +0 -1
  809. package/devices/nordtronic.js +0 -41
  810. package/devices/nordtronic.js.map +0 -1
  811. package/devices/nous.d.ts +0 -4
  812. package/devices/nous.d.ts.map +0 -1
  813. package/devices/nous.js +0 -151
  814. package/devices/nous.js.map +0 -1
  815. package/devices/novo.d.ts +0 -4
  816. package/devices/novo.d.ts.map +0 -1
  817. package/devices/novo.js +0 -57
  818. package/devices/novo.js.map +0 -1
  819. package/devices/nue_3a.d.ts +0 -4
  820. package/devices/nue_3a.d.ts.map +0 -1
  821. package/devices/nue_3a.js +0 -361
  822. package/devices/nue_3a.js.map +0 -1
  823. package/devices/nyce.d.ts +0 -4
  824. package/devices/nyce.d.ts.map +0 -1
  825. package/devices/nyce.js +0 -134
  826. package/devices/nyce.js.map +0 -1
  827. package/devices/onenuo.d.ts +0 -4
  828. package/devices/onenuo.d.ts.map +0 -1
  829. package/devices/onenuo.js +0 -86
  830. package/devices/onenuo.js.map +0 -1
  831. package/devices/onesti.d.ts +0 -4
  832. package/devices/onesti.d.ts.map +0 -1
  833. package/devices/onesti.js +0 -208
  834. package/devices/onesti.js.map +0 -1
  835. package/devices/openlumi.d.ts +0 -4
  836. package/devices/openlumi.d.ts.map +0 -1
  837. package/devices/openlumi.js +0 -62
  838. package/devices/openlumi.js.map +0 -1
  839. package/devices/orvibo.d.ts +0 -4
  840. package/devices/orvibo.d.ts.map +0 -1
  841. package/devices/orvibo.js +0 -391
  842. package/devices/orvibo.js.map +0 -1
  843. package/devices/osram.d.ts +0 -4
  844. package/devices/osram.d.ts.map +0 -1
  845. package/devices/osram.js +0 -516
  846. package/devices/osram.js.map +0 -1
  847. package/devices/oujiabao.d.ts +0 -4
  848. package/devices/oujiabao.d.ts.map +0 -1
  849. package/devices/oujiabao.js +0 -55
  850. package/devices/oujiabao.js.map +0 -1
  851. package/devices/owon.d.ts +0 -4
  852. package/devices/owon.d.ts.map +0 -1
  853. package/devices/owon.js +0 -478
  854. package/devices/owon.js.map +0 -1
  855. package/devices/ozsmartthings.d.ts +0 -4
  856. package/devices/ozsmartthings.d.ts.map +0 -1
  857. package/devices/ozsmartthings.js +0 -48
  858. package/devices/ozsmartthings.js.map +0 -1
  859. package/devices/paul_neuhaus.d.ts +0 -4
  860. package/devices/paul_neuhaus.d.ts.map +0 -1
  861. package/devices/paul_neuhaus.js +0 -194
  862. package/devices/paul_neuhaus.js.map +0 -1
  863. package/devices/paulmann.d.ts +0 -4
  864. package/devices/paulmann.d.ts.map +0 -1
  865. package/devices/paulmann.js +0 -330
  866. package/devices/paulmann.js.map +0 -1
  867. package/devices/peq.d.ts +0 -4
  868. package/devices/peq.d.ts.map +0 -1
  869. package/devices/peq.js +0 -64
  870. package/devices/peq.js.map +0 -1
  871. package/devices/perenio.d.ts +0 -4
  872. package/devices/perenio.d.ts.map +0 -1
  873. package/devices/perenio.js +0 -468
  874. package/devices/perenio.js.map +0 -1
  875. package/devices/philio.d.ts +0 -4
  876. package/devices/philio.d.ts.map +0 -1
  877. package/devices/philio.js +0 -16
  878. package/devices/philio.js.map +0 -1
  879. package/devices/philips.d.ts +0 -4
  880. package/devices/philips.d.ts.map +0 -1
  881. package/devices/philips.js +0 -4030
  882. package/devices/philips.js.map +0 -1
  883. package/devices/plaid.d.ts +0 -4
  884. package/devices/plaid.d.ts.map +0 -1
  885. package/devices/plaid.js +0 -65
  886. package/devices/plaid.js.map +0 -1
  887. package/devices/plugwise.d.ts +0 -4
  888. package/devices/plugwise.d.ts.map +0 -1
  889. package/devices/plugwise.js +0 -210
  890. package/devices/plugwise.js.map +0 -1
  891. package/devices/profalux.d.ts +0 -4
  892. package/devices/profalux.d.ts.map +0 -1
  893. package/devices/profalux.js +0 -191
  894. package/devices/profalux.js.map +0 -1
  895. package/devices/prolight.d.ts +0 -4
  896. package/devices/prolight.d.ts.map +0 -1
  897. package/devices/prolight.js +0 -115
  898. package/devices/prolight.js.map +0 -1
  899. package/devices/pushok.d.ts +0 -4
  900. package/devices/pushok.d.ts.map +0 -1
  901. package/devices/pushok.js +0 -300
  902. package/devices/pushok.js.map +0 -1
  903. package/devices/qa.d.ts +0 -4
  904. package/devices/qa.d.ts.map +0 -1
  905. package/devices/qa.js +0 -295
  906. package/devices/qa.js.map +0 -1
  907. package/devices/qmotion.d.ts +0 -4
  908. package/devices/qmotion.d.ts.map +0 -1
  909. package/devices/qmotion.js +0 -73
  910. package/devices/qmotion.js.map +0 -1
  911. package/devices/qoto.d.ts +0 -4
  912. package/devices/qoto.d.ts.map +0 -1
  913. package/devices/qoto.js +0 -87
  914. package/devices/qoto.js.map +0 -1
  915. package/devices/quotra.d.ts +0 -4
  916. package/devices/quotra.d.ts.map +0 -1
  917. package/devices/quotra.js +0 -22
  918. package/devices/quotra.js.map +0 -1
  919. package/devices/rademacher.d.ts +0 -4
  920. package/devices/rademacher.d.ts.map +0 -1
  921. package/devices/rademacher.js +0 -29
  922. package/devices/rademacher.js.map +0 -1
  923. package/devices/radium.d.ts +0 -4
  924. package/devices/radium.d.ts.map +0 -1
  925. package/devices/radium.js +0 -15
  926. package/devices/radium.js.map +0 -1
  927. package/devices/raex.d.ts +0 -4
  928. package/devices/raex.d.ts.map +0 -1
  929. package/devices/raex.js +0 -15
  930. package/devices/raex.js.map +0 -1
  931. package/devices/rgb_genie.d.ts +0 -4
  932. package/devices/rgb_genie.d.ts.map +0 -1
  933. package/devices/rgb_genie.js +0 -279
  934. package/devices/rgb_genie.js.map +0 -1
  935. package/devices/robb.d.ts +0 -4
  936. package/devices/robb.d.ts.map +0 -1
  937. package/devices/robb.js +0 -449
  938. package/devices/robb.js.map +0 -1
  939. package/devices/roome.d.ts +0 -4
  940. package/devices/roome.d.ts.map +0 -1
  941. package/devices/roome.js +0 -55
  942. package/devices/roome.js.map +0 -1
  943. package/devices/rtx.d.ts +0 -4
  944. package/devices/rtx.d.ts.map +0 -1
  945. package/devices/rtx.js +0 -151
  946. package/devices/rtx.js.map +0 -1
  947. package/devices/salus_controls.d.ts +0 -4
  948. package/devices/salus_controls.d.ts.map +0 -1
  949. package/devices/salus_controls.js +0 -136
  950. package/devices/salus_controls.js.map +0 -1
  951. package/devices/samotech.d.ts +0 -4
  952. package/devices/samotech.d.ts.map +0 -1
  953. package/devices/samotech.js +0 -75
  954. package/devices/samotech.js.map +0 -1
  955. package/devices/saswell.d.ts +0 -4
  956. package/devices/saswell.d.ts.map +0 -1
  957. package/devices/saswell.js +0 -125
  958. package/devices/saswell.js.map +0 -1
  959. package/devices/sber.d.ts +0 -4
  960. package/devices/sber.d.ts.map +0 -1
  961. package/devices/sber.js +0 -66
  962. package/devices/sber.js.map +0 -1
  963. package/devices/scanproducts.d.ts +0 -4
  964. package/devices/scanproducts.d.ts.map +0 -1
  965. package/devices/scanproducts.js +0 -22
  966. package/devices/scanproducts.js.map +0 -1
  967. package/devices/schlage.d.ts +0 -4
  968. package/devices/schlage.d.ts.map +0 -1
  969. package/devices/schlage.js +0 -64
  970. package/devices/schlage.js.map +0 -1
  971. package/devices/schneider_electric.d.ts +0 -4
  972. package/devices/schneider_electric.d.ts.map +0 -1
  973. package/devices/schneider_electric.js +0 -2187
  974. package/devices/schneider_electric.js.map +0 -1
  975. package/devices/schwaiger.d.ts +0 -4
  976. package/devices/schwaiger.d.ts.map +0 -1
  977. package/devices/schwaiger.js +0 -109
  978. package/devices/schwaiger.js.map +0 -1
  979. package/devices/seastar_intelligence.d.ts +0 -4
  980. package/devices/seastar_intelligence.d.ts.map +0 -1
  981. package/devices/seastar_intelligence.js +0 -20
  982. package/devices/seastar_intelligence.js.map +0 -1
  983. package/devices/securifi.d.ts +0 -4
  984. package/devices/securifi.d.ts.map +0 -1
  985. package/devices/securifi.js +0 -83
  986. package/devices/securifi.js.map +0 -1
  987. package/devices/sengled.d.ts +0 -7
  988. package/devices/sengled.d.ts.map +0 -1
  989. package/devices/sengled.js +0 -358
  990. package/devices/sengled.js.map +0 -1
  991. package/devices/sercomm.d.ts +0 -4
  992. package/devices/sercomm.d.ts.map +0 -1
  993. package/devices/sercomm.js +0 -189
  994. package/devices/sercomm.js.map +0 -1
  995. package/devices/shade_control.d.ts +0 -4
  996. package/devices/shade_control.d.ts.map +0 -1
  997. package/devices/shade_control.js +0 -65
  998. package/devices/shade_control.js.map +0 -1
  999. package/devices/shenzhen_homa.d.ts +0 -4
  1000. package/devices/shenzhen_homa.d.ts.map +0 -1
  1001. package/devices/shenzhen_homa.js +0 -111
  1002. package/devices/shenzhen_homa.js.map +0 -1
  1003. package/devices/shinasystem.d.ts +0 -4
  1004. package/devices/shinasystem.d.ts.map +0 -1
  1005. package/devices/shinasystem.js +0 -961
  1006. package/devices/shinasystem.js.map +0 -1
  1007. package/devices/shyugj.d.ts +0 -4
  1008. package/devices/shyugj.d.ts.map +0 -1
  1009. package/devices/shyugj.js +0 -21
  1010. package/devices/shyugj.js.map +0 -1
  1011. package/devices/siglis.d.ts +0 -4
  1012. package/devices/siglis.d.ts.map +0 -1
  1013. package/devices/siglis.js +0 -457
  1014. package/devices/siglis.js.map +0 -1
  1015. package/devices/sikom.d.ts +0 -4
  1016. package/devices/sikom.d.ts.map +0 -1
  1017. package/devices/sikom.js +0 -68
  1018. package/devices/sikom.js.map +0 -1
  1019. package/devices/sinope.d.ts +0 -4
  1020. package/devices/sinope.d.ts.map +0 -1
  1021. package/devices/sinope.js +0 -1755
  1022. package/devices/sinope.js.map +0 -1
  1023. package/devices/siterwell.d.ts +0 -4
  1024. package/devices/siterwell.d.ts.map +0 -1
  1025. package/devices/siterwell.js +0 -111
  1026. package/devices/siterwell.js.map +0 -1
  1027. package/devices/skydance.d.ts +0 -4
  1028. package/devices/skydance.d.ts.map +0 -1
  1029. package/devices/skydance.js +0 -156
  1030. package/devices/skydance.js.map +0 -1
  1031. package/devices/slv.d.ts +0 -4
  1032. package/devices/slv.d.ts.map +0 -1
  1033. package/devices/slv.js +0 -38
  1034. package/devices/slv.js.map +0 -1
  1035. package/devices/smart9.d.ts +0 -4
  1036. package/devices/smart9.d.ts.map +0 -1
  1037. package/devices/smart9.js +0 -67
  1038. package/devices/smart9.js.map +0 -1
  1039. package/devices/smart_home_pty.d.ts +0 -4
  1040. package/devices/smart_home_pty.d.ts.map +0 -1
  1041. package/devices/smart_home_pty.js +0 -22
  1042. package/devices/smart_home_pty.js.map +0 -1
  1043. package/devices/smartenit.d.ts +0 -4
  1044. package/devices/smartenit.d.ts.map +0 -1
  1045. package/devices/smartenit.js +0 -81
  1046. package/devices/smartenit.js.map +0 -1
  1047. package/devices/smartthings.d.ts +0 -4
  1048. package/devices/smartthings.d.ts.map +0 -1
  1049. package/devices/smartthings.js +0 -527
  1050. package/devices/smartthings.js.map +0 -1
  1051. package/devices/smartwings.d.ts +0 -4
  1052. package/devices/smartwings.d.ts.map +0 -1
  1053. package/devices/smartwings.js +0 -64
  1054. package/devices/smartwings.js.map +0 -1
  1055. package/devices/smlight.d.ts +0 -4
  1056. package/devices/smlight.d.ts.map +0 -1
  1057. package/devices/smlight.js +0 -22
  1058. package/devices/smlight.js.map +0 -1
  1059. package/devices/sohan_electric.d.ts +0 -4
  1060. package/devices/sohan_electric.d.ts.map +0 -1
  1061. package/devices/sohan_electric.js +0 -20
  1062. package/devices/sohan_electric.js.map +0 -1
  1063. package/devices/solaredge.d.ts +0 -4
  1064. package/devices/solaredge.d.ts.map +0 -1
  1065. package/devices/solaredge.js +0 -15
  1066. package/devices/solaredge.js.map +0 -1
  1067. package/devices/soma.d.ts +0 -4
  1068. package/devices/soma.d.ts.map +0 -1
  1069. package/devices/soma.js +0 -15
  1070. package/devices/soma.js.map +0 -1
  1071. package/devices/somfy.d.ts +0 -4
  1072. package/devices/somfy.d.ts.map +0 -1
  1073. package/devices/somfy.js +0 -88
  1074. package/devices/somfy.js.map +0 -1
  1075. package/devices/somgoms.d.ts +0 -4
  1076. package/devices/somgoms.d.ts.map +0 -1
  1077. package/devices/somgoms.js +0 -84
  1078. package/devices/somgoms.js.map +0 -1
  1079. package/devices/sonoff.d.ts +0 -4
  1080. package/devices/sonoff.d.ts.map +0 -1
  1081. package/devices/sonoff.js +0 -1444
  1082. package/devices/sonoff.js.map +0 -1
  1083. package/devices/sowilo.d.ts +0 -4
  1084. package/devices/sowilo.d.ts.map +0 -1
  1085. package/devices/sowilo.js +0 -15
  1086. package/devices/sowilo.js.map +0 -1
  1087. package/devices/spotmau.d.ts +0 -4
  1088. package/devices/spotmau.d.ts.map +0 -1
  1089. package/devices/spotmau.js +0 -42
  1090. package/devices/spotmau.js.map +0 -1
  1091. package/devices/stelpro.d.ts +0 -4
  1092. package/devices/stelpro.d.ts.map +0 -1
  1093. package/devices/stelpro.js +0 -366
  1094. package/devices/stelpro.js.map +0 -1
  1095. package/devices/sunricher.d.ts +0 -4
  1096. package/devices/sunricher.d.ts.map +0 -1
  1097. package/devices/sunricher.js +0 -1114
  1098. package/devices/sunricher.js.map +0 -1
  1099. package/devices/swann.d.ts +0 -4
  1100. package/devices/swann.d.ts.map +0 -1
  1101. package/devices/swann.js +0 -73
  1102. package/devices/swann.js.map +0 -1
  1103. package/devices/sylvania.d.ts +0 -4
  1104. package/devices/sylvania.d.ts.map +0 -1
  1105. package/devices/sylvania.js +0 -226
  1106. package/devices/sylvania.js.map +0 -1
  1107. package/devices/tapestry.d.ts +0 -4
  1108. package/devices/tapestry.d.ts.map +0 -1
  1109. package/devices/tapestry.js +0 -56
  1110. package/devices/tapestry.js.map +0 -1
  1111. package/devices/tci.d.ts +0 -4
  1112. package/devices/tci.d.ts.map +0 -1
  1113. package/devices/tci.js +0 -29
  1114. package/devices/tci.js.map +0 -1
  1115. package/devices/tech.d.ts +0 -4
  1116. package/devices/tech.d.ts.map +0 -1
  1117. package/devices/tech.js +0 -131
  1118. package/devices/tech.js.map +0 -1
  1119. package/devices/technicolor.d.ts +0 -4
  1120. package/devices/technicolor.d.ts.map +0 -1
  1121. package/devices/technicolor.js +0 -102
  1122. package/devices/technicolor.js.map +0 -1
  1123. package/devices/terncy.d.ts +0 -4
  1124. package/devices/terncy.d.ts.map +0 -1
  1125. package/devices/terncy.js +0 -116
  1126. package/devices/terncy.js.map +0 -1
  1127. package/devices/the_light_group.d.ts +0 -4
  1128. package/devices/the_light_group.d.ts.map +0 -1
  1129. package/devices/the_light_group.js +0 -130
  1130. package/devices/the_light_group.js.map +0 -1
  1131. package/devices/third_reality.d.ts +0 -4
  1132. package/devices/third_reality.d.ts.map +0 -1
  1133. package/devices/third_reality.js +0 -557
  1134. package/devices/third_reality.js.map +0 -1
  1135. package/devices/titan_products.d.ts +0 -4
  1136. package/devices/titan_products.d.ts.map +0 -1
  1137. package/devices/titan_products.js +0 -62
  1138. package/devices/titan_products.js.map +0 -1
  1139. package/devices/tlwglobal.d.ts +0 -4
  1140. package/devices/tlwglobal.d.ts.map +0 -1
  1141. package/devices/tlwglobal.js +0 -32
  1142. package/devices/tlwglobal.js.map +0 -1
  1143. package/devices/tplink.d.ts +0 -4
  1144. package/devices/tplink.d.ts.map +0 -1
  1145. package/devices/tplink.js +0 -82
  1146. package/devices/tplink.js.map +0 -1
  1147. package/devices/trust.d.ts +0 -4
  1148. package/devices/trust.d.ts.map +0 -1
  1149. package/devices/trust.js +0 -183
  1150. package/devices/trust.js.map +0 -1
  1151. package/devices/tubeszb.d.ts +0 -4
  1152. package/devices/tubeszb.d.ts.map +0 -1
  1153. package/devices/tubeszb.js +0 -60
  1154. package/devices/tubeszb.js.map +0 -1
  1155. package/devices/tuya.d.ts +0 -4
  1156. package/devices/tuya.d.ts.map +0 -1
  1157. package/devices/tuya.js +0 -13609
  1158. package/devices/tuya.js.map +0 -1
  1159. package/devices/ubisys.d.ts +0 -4
  1160. package/devices/ubisys.d.ts.map +0 -1
  1161. package/devices/ubisys.js +0 -1300
  1162. package/devices/ubisys.js.map +0 -1
  1163. package/devices/uhome.d.ts +0 -4
  1164. package/devices/uhome.d.ts.map +0 -1
  1165. package/devices/uhome.js +0 -64
  1166. package/devices/uhome.js.map +0 -1
  1167. package/devices/universal_electronics_inc.d.ts +0 -4
  1168. package/devices/universal_electronics_inc.d.ts.map +0 -1
  1169. package/devices/universal_electronics_inc.js +0 -186
  1170. package/devices/universal_electronics_inc.js.map +0 -1
  1171. package/devices/vbled.d.ts +0 -4
  1172. package/devices/vbled.d.ts.map +0 -1
  1173. package/devices/vbled.js +0 -15
  1174. package/devices/vbled.js.map +0 -1
  1175. package/devices/vesternet.d.ts +0 -4
  1176. package/devices/vesternet.d.ts.map +0 -1
  1177. package/devices/vesternet.js +0 -330
  1178. package/devices/vesternet.js.map +0 -1
  1179. package/devices/viessmann.d.ts +0 -4
  1180. package/devices/viessmann.d.ts.map +0 -1
  1181. package/devices/viessmann.js +0 -115
  1182. package/devices/viessmann.js.map +0 -1
  1183. package/devices/villeroy_boch.d.ts +0 -4
  1184. package/devices/villeroy_boch.d.ts.map +0 -1
  1185. package/devices/villeroy_boch.js +0 -22
  1186. package/devices/villeroy_boch.js.map +0 -1
  1187. package/devices/vimar.d.ts +0 -4
  1188. package/devices/vimar.d.ts.map +0 -1
  1189. package/devices/vimar.js +0 -137
  1190. package/devices/vimar.js.map +0 -1
  1191. package/devices/visonic.d.ts +0 -4
  1192. package/devices/visonic.d.ts.map +0 -1
  1193. package/devices/visonic.js +0 -138
  1194. package/devices/visonic.js.map +0 -1
  1195. package/devices/vrey.d.ts +0 -4
  1196. package/devices/vrey.d.ts.map +0 -1
  1197. package/devices/vrey.js +0 -18
  1198. package/devices/vrey.js.map +0 -1
  1199. package/devices/wally.d.ts +0 -4
  1200. package/devices/wally.d.ts.map +0 -1
  1201. package/devices/wally.js +0 -64
  1202. package/devices/wally.js.map +0 -1
  1203. package/devices/waxman.d.ts +0 -4
  1204. package/devices/waxman.d.ts.map +0 -1
  1205. package/devices/waxman.js +0 -85
  1206. package/devices/waxman.js.map +0 -1
  1207. package/devices/weiser.d.ts +0 -4
  1208. package/devices/weiser.d.ts.map +0 -1
  1209. package/devices/weiser.js +0 -103
  1210. package/devices/weiser.js.map +0 -1
  1211. package/devices/weten.d.ts +0 -4
  1212. package/devices/weten.d.ts.map +0 -1
  1213. package/devices/weten.js +0 -89
  1214. package/devices/weten.js.map +0 -1
  1215. package/devices/wirenboard.d.ts +0 -4
  1216. package/devices/wirenboard.d.ts.map +0 -1
  1217. package/devices/wirenboard.js +0 -626
  1218. package/devices/wirenboard.js.map +0 -1
  1219. package/devices/wisdom.d.ts +0 -4
  1220. package/devices/wisdom.d.ts.map +0 -1
  1221. package/devices/wisdom.js +0 -15
  1222. package/devices/wisdom.js.map +0 -1
  1223. package/devices/woolley.d.ts +0 -4
  1224. package/devices/woolley.d.ts.map +0 -1
  1225. package/devices/woolley.js +0 -88
  1226. package/devices/woolley.js.map +0 -1
  1227. package/devices/woox.d.ts +0 -4
  1228. package/devices/woox.d.ts.map +0 -1
  1229. package/devices/woox.js +0 -137
  1230. package/devices/woox.js.map +0 -1
  1231. package/devices/wyze.d.ts +0 -4
  1232. package/devices/wyze.d.ts.map +0 -1
  1233. package/devices/wyze.js +0 -63
  1234. package/devices/wyze.js.map +0 -1
  1235. package/devices/xinghuoyuan.d.ts +0 -4
  1236. package/devices/xinghuoyuan.d.ts.map +0 -1
  1237. package/devices/xinghuoyuan.js +0 -15
  1238. package/devices/xinghuoyuan.js.map +0 -1
  1239. package/devices/xyzroe.d.ts +0 -4
  1240. package/devices/xyzroe.d.ts.map +0 -1
  1241. package/devices/xyzroe.js +0 -519
  1242. package/devices/xyzroe.js.map +0 -1
  1243. package/devices/yale.d.ts +0 -4
  1244. package/devices/yale.d.ts.map +0 -1
  1245. package/devices/yale.js +0 -503
  1246. package/devices/yale.js.map +0 -1
  1247. package/devices/yandex.d.ts +0 -4
  1248. package/devices/yandex.d.ts.map +0 -1
  1249. package/devices/yandex.js +0 -410
  1250. package/devices/yandex.js.map +0 -1
  1251. package/devices/ynoa.d.ts +0 -4
  1252. package/devices/ynoa.d.ts.map +0 -1
  1253. package/devices/ynoa.js +0 -113
  1254. package/devices/ynoa.js.map +0 -1
  1255. package/devices/yookee.d.ts +0 -4
  1256. package/devices/yookee.d.ts.map +0 -1
  1257. package/devices/yookee.js +0 -63
  1258. package/devices/yookee.js.map +0 -1
  1259. package/devices/ysrsai.d.ts +0 -4
  1260. package/devices/ysrsai.d.ts.map +0 -1
  1261. package/devices/ysrsai.js +0 -66
  1262. package/devices/ysrsai.js.map +0 -1
  1263. package/devices/zemismart.d.ts +0 -4
  1264. package/devices/zemismart.d.ts.map +0 -1
  1265. package/devices/zemismart.js +0 -405
  1266. package/devices/zemismart.js.map +0 -1
  1267. package/devices/zen.d.ts +0 -4
  1268. package/devices/zen.d.ts.map +0 -1
  1269. package/devices/zen.js +0 -96
  1270. package/devices/zen.js.map +0 -1
  1271. package/devices/zigbeetlc.d.ts +0 -13
  1272. package/devices/zigbeetlc.d.ts.map +0 -1
  1273. package/devices/zigbeetlc.js +0 -201
  1274. package/devices/zigbeetlc.js.map +0 -1
  1275. package/devices/zipato.d.ts +0 -4
  1276. package/devices/zipato.d.ts.map +0 -1
  1277. package/devices/zipato.js +0 -15
  1278. package/devices/zipato.js.map +0 -1
  1279. package/index.d.ts +0 -21
  1280. package/index.d.ts.map +0 -1
  1281. package/index.js +0 -488
  1282. package/index.js.map +0 -1
  1283. package/lib/color.d.ts +0 -272
  1284. package/lib/color.d.ts.map +0 -1
  1285. package/lib/color.js +0 -765
  1286. package/lib/color.js.map +0 -1
  1287. package/lib/configureKey.d.ts +0 -3
  1288. package/lib/configureKey.d.ts.map +0 -1
  1289. package/lib/configureKey.js +0 -939
  1290. package/lib/configureKey.js.map +0 -1
  1291. package/lib/constants.d.ts +0 -68
  1292. package/lib/constants.d.ts.map +0 -1
  1293. package/lib/constants.js +0 -293
  1294. package/lib/constants.js.map +0 -1
  1295. package/lib/develco.d.ts +0 -15
  1296. package/lib/develco.d.ts.map +0 -1
  1297. package/lib/develco.js +0 -183
  1298. package/lib/develco.js.map +0 -1
  1299. package/lib/ewelink.d.ts +0 -7
  1300. package/lib/ewelink.d.ts.map +0 -1
  1301. package/lib/ewelink.js +0 -34
  1302. package/lib/ewelink.js.map +0 -1
  1303. package/lib/exposes.d.ts +0 -344
  1304. package/lib/exposes.d.ts.map +0 -1
  1305. package/lib/exposes.js +0 -1065
  1306. package/lib/exposes.js.map +0 -1
  1307. package/lib/generateDefinition.d.ts +0 -6
  1308. package/lib/generateDefinition.d.ts.map +0 -1
  1309. package/lib/generateDefinition.js +0 -356
  1310. package/lib/generateDefinition.js.map +0 -1
  1311. package/lib/ikea.d.ts +0 -39
  1312. package/lib/ikea.d.ts.map +0 -1
  1313. package/lib/ikea.js +0 -776
  1314. package/lib/ikea.js.map +0 -1
  1315. package/lib/kelvinToXy.d.ts +0 -8
  1316. package/lib/kelvinToXy.d.ts.map +0 -1
  1317. package/lib/kelvinToXy.js +0 -1914
  1318. package/lib/kelvinToXy.js.map +0 -1
  1319. package/lib/ledvance.d.ts +0 -20
  1320. package/lib/ledvance.d.ts.map +0 -1
  1321. package/lib/ledvance.js +0 -103
  1322. package/lib/ledvance.js.map +0 -1
  1323. package/lib/legacy.d.ts +0 -5128
  1324. package/lib/legacy.d.ts.map +0 -1
  1325. package/lib/legacy.js +0 -6603
  1326. package/lib/legacy.js.map +0 -1
  1327. package/lib/legrand.d.ts +0 -69
  1328. package/lib/legrand.d.ts.map +0 -1
  1329. package/lib/legrand.js +0 -282
  1330. package/lib/legrand.js.map +0 -1
  1331. package/lib/light.d.ts +0 -6
  1332. package/lib/light.d.ts.map +0 -1
  1333. package/lib/light.js +0 -146
  1334. package/lib/light.js.map +0 -1
  1335. package/lib/logger.d.ts +0 -4
  1336. package/lib/logger.d.ts.map +0 -1
  1337. package/lib/logger.js +0 -14
  1338. package/lib/logger.js.map +0 -1
  1339. package/lib/lumi.d.ts +0 -953
  1340. package/lib/lumi.d.ts.map +0 -1
  1341. package/lib/lumi.js +0 -4973
  1342. package/lib/lumi.js.map +0 -1
  1343. package/lib/modernExtend.d.ts +0 -325
  1344. package/lib/modernExtend.d.ts.map +0 -1
  1345. package/lib/modernExtend.js +0 -1995
  1346. package/lib/modernExtend.js.map +0 -1
  1347. package/lib/ota.d.ts +0 -71
  1348. package/lib/ota.d.ts.map +0 -1
  1349. package/lib/ota.js +0 -663
  1350. package/lib/ota.js.map +0 -1
  1351. package/lib/philips.d.ts +0 -84
  1352. package/lib/philips.d.ts.map +0 -1
  1353. package/lib/philips.js +0 -657
  1354. package/lib/philips.js.map +0 -1
  1355. package/lib/reporting.d.ts +0 -58
  1356. package/lib/reporting.d.ts.map +0 -1
  1357. package/lib/reporting.js +0 -336
  1358. package/lib/reporting.js.map +0 -1
  1359. package/lib/store.d.ts +0 -7
  1360. package/lib/store.d.ts.map +0 -1
  1361. package/lib/store.js +0 -56
  1362. package/lib/store.js.map +0 -1
  1363. package/lib/tuya.d.ts +0 -764
  1364. package/lib/tuya.d.ts.map +0 -1
  1365. package/lib/tuya.js +0 -2425
  1366. package/lib/tuya.js.map +0 -1
  1367. package/lib/types.d.ts +0 -433
  1368. package/lib/types.d.ts.map +0 -1
  1369. package/lib/types.js +0 -4
  1370. package/lib/types.js.map +0 -1
  1371. package/lib/ubisys.d.ts +0 -19
  1372. package/lib/ubisys.d.ts.map +0 -1
  1373. package/lib/ubisys.js +0 -293
  1374. package/lib/ubisys.js.map +0 -1
  1375. package/lib/utils.d.ts +0 -93
  1376. package/lib/utils.d.ts.map +0 -1
  1377. package/lib/utils.js +0 -790
  1378. package/lib/utils.js.map +0 -1
  1379. package/lib/zosung.d.ts +0 -52
  1380. package/lib/zosung.d.ts.map +0 -1
  1381. package/lib/zosung.js +0 -256
  1382. package/lib/zosung.js.map +0 -1
package/lib/ota.js DELETED
@@ -1,663 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UPGRADE_FILE_IDENTIFIER = exports.DEFAULT_IMAGE_BLOCK_RESPONSE_DELAY = exports.DEFAULT_MAXIMUM_DATA_SIZE = exports.ZIGBEE_OTA_PREVIOUS_URL = exports.ZIGBEE_OTA_LATEST_URL = void 0;
7
- exports.setConfiguration = setConfiguration;
8
- exports.isValidUrl = isValidUrl;
9
- exports.parseImage = parseImage;
10
- exports.isUpdateAvailable = isUpdateAvailable;
11
- exports.update = update;
12
- const assert_1 = __importDefault(require("assert"));
13
- const crypto_1 = __importDefault(require("crypto"));
14
- const fs_1 = require("fs");
15
- const path_1 = __importDefault(require("path"));
16
- const buffer_crc32_1 = __importDefault(require("buffer-crc32"));
17
- const zigbee_herdsman_1 = require("zigbee-herdsman");
18
- const logger_1 = require("./logger");
19
- const NS = 'zhc:ota';
20
- exports.ZIGBEE_OTA_LATEST_URL = 'https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json';
21
- exports.ZIGBEE_OTA_PREVIOUS_URL = 'https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index1.json';
22
- /** +- 24 days */
23
- const MAX_TIMEOUT = 2147483647;
24
- /** When the data size is too big, OTA gets unstable, so default it to 50 bytes maximum. */
25
- exports.DEFAULT_MAXIMUM_DATA_SIZE = 50;
26
- /** Use to reduce network congestion by throttling response if necessary */
27
- exports.DEFAULT_IMAGE_BLOCK_RESPONSE_DELAY = 250;
28
- /** Consider update done after this amount of time without having seen a deviceAnnounce */
29
- const UPDATE_END_FORCE_RESOLVE_TIME = 120 * 1000;
30
- exports.UPGRADE_FILE_IDENTIFIER = Buffer.from([0x1e, 0xf1, 0xee, 0x0b]);
31
- const VALID_SILABS_CRC = 0x2144df1c;
32
- const EBL_TAG_HEADER = 0x0;
33
- const EBL_TAG_ENC_HEADER = 0xfb05;
34
- const EBL_TAG_END = 0xfc04;
35
- const EBL_PADDING = 0xff;
36
- const EBL_IMAGE_SIGNATURE = 0xe350;
37
- const GBL_HEADER_TAG = Buffer.from([0xeb, 0x17, 0xa6, 0x03]);
38
- /** Contains length+CRC32 and possibly padding after this. */
39
- const GBL_END_TAG = Buffer.from([0xfc, 0x04, 0x04, 0xfc]);
40
- // #region Configuration
41
- let dataDir;
42
- let overrideIndexFileName;
43
- let imageBlockResponseDelay = exports.DEFAULT_IMAGE_BLOCK_RESPONSE_DELAY;
44
- let initialMaximumDataSize = exports.DEFAULT_MAXIMUM_DATA_SIZE;
45
- function setConfiguration(settings) {
46
- dataDir = settings.dataDir;
47
- overrideIndexFileName = settings.overrideIndexLocation;
48
- // use || no zero values
49
- imageBlockResponseDelay = settings.imageBlockResponseDelay || exports.DEFAULT_IMAGE_BLOCK_RESPONSE_DELAY;
50
- initialMaximumDataSize = settings.defaultMaximumDataSize || exports.DEFAULT_MAXIMUM_DATA_SIZE;
51
- }
52
- // #endregion
53
- // #region General Utils
54
- function isValidUrl(url) {
55
- try {
56
- const parsed = new URL(url);
57
- return parsed.protocol === 'http:' || parsed.protocol === 'https:';
58
- }
59
- catch {
60
- return false;
61
- }
62
- }
63
- async function getJson(pageUrl) {
64
- const response = await fetch(pageUrl);
65
- if (!response.ok || !response.body) {
66
- throw new Error(`Invalid response from ${pageUrl} status=${response.status}.`);
67
- }
68
- return (await response.json());
69
- }
70
- function readLocalFile(fileName) {
71
- // If the file name is not a full path, then treat it as a relative to the data directory
72
- if (!path_1.default.isAbsolute(fileName) && dataDir) {
73
- fileName = path_1.default.join(dataDir, fileName);
74
- }
75
- logger_1.logger.debug(`Getting local firmware file '${fileName}'`, NS);
76
- return (0, fs_1.readFileSync)(fileName);
77
- }
78
- async function getFirmwareFile(meta) {
79
- const urlOrName = meta.url;
80
- // First try to download firmware file with the URL provided
81
- if (isValidUrl(urlOrName)) {
82
- logger_1.logger.debug(`Downloading firmware image from '${urlOrName}'`, NS);
83
- const firmwareFileRsp = await fetch(urlOrName);
84
- if (!firmwareFileRsp.ok || !firmwareFileRsp.body) {
85
- throw new Error(`Invalid response from ${urlOrName} status=${firmwareFileRsp.status}.`);
86
- }
87
- return Buffer.from(await firmwareFileRsp.arrayBuffer());
88
- }
89
- logger_1.logger.debug(`Try to read firmware image from local file '${urlOrName}'`, NS);
90
- return readLocalFile(urlOrName);
91
- }
92
- // #endregion
93
- // #region OTA Utils
94
- function parseSubElement(buffer, position) {
95
- const tagID = buffer.readUInt16LE(position);
96
- const length = buffer.readUInt32LE(position + 2);
97
- const data = buffer.subarray(position + 6, position + 6 + length);
98
- return { tagID, length, data };
99
- }
100
- function parseImage(buffer, suppressElementImageParseFailure = false) {
101
- const header = {
102
- otaUpgradeFileIdentifier: buffer.subarray(0, 4),
103
- otaHeaderVersion: buffer.readUInt16LE(4),
104
- otaHeaderLength: buffer.readUInt16LE(6),
105
- otaHeaderFieldControl: buffer.readUInt16LE(8),
106
- manufacturerCode: buffer.readUInt16LE(10),
107
- imageType: buffer.readUInt16LE(12),
108
- fileVersion: buffer.readUInt32LE(14),
109
- zigbeeStackVersion: buffer.readUInt16LE(18),
110
- otaHeaderString: buffer.toString('utf8', 20, 52),
111
- totalImageSize: buffer.readUInt32LE(52),
112
- };
113
- let headerPos = 56;
114
- let didSuppressElementImageParseFailure = false;
115
- /* istanbul ignore next */
116
- if (header.otaHeaderFieldControl & 1) {
117
- header.securityCredentialVersion = buffer.readUInt8(headerPos);
118
- headerPos += 1;
119
- }
120
- /* istanbul ignore next */
121
- if (header.otaHeaderFieldControl & 2) {
122
- header.upgradeFileDestination = buffer.subarray(headerPos, headerPos + 8);
123
- headerPos += 8;
124
- }
125
- if (header.otaHeaderFieldControl & 4) {
126
- header.minimumHardwareVersion = buffer.readUInt16LE(headerPos);
127
- headerPos += 2;
128
- header.maximumHardwareVersion = buffer.readUInt16LE(headerPos);
129
- headerPos += 2;
130
- }
131
- const raw = buffer.subarray(0, header.totalImageSize);
132
- // Note: in the context of this file, this can never assert, since both callers of `parseImage` already subarray to `UPGRADE_FILE_IDENTIFIER`
133
- (0, assert_1.default)(exports.UPGRADE_FILE_IDENTIFIER.equals(header.otaUpgradeFileIdentifier), `Not a valid OTA file`);
134
- let position = header.otaHeaderLength;
135
- const elements = [];
136
- try {
137
- while (position < header.totalImageSize) {
138
- const element = parseSubElement(buffer, position);
139
- elements.push(element);
140
- position += element.data.length + 6;
141
- }
142
- }
143
- catch (error) {
144
- if (!suppressElementImageParseFailure) {
145
- throw error;
146
- }
147
- didSuppressElementImageParseFailure = true;
148
- logger_1.logger.error('Partially failed to parse the image, continuing anyway...', NS);
149
- }
150
- if (!didSuppressElementImageParseFailure) {
151
- (0, assert_1.default)(position === header.totalImageSize, `Size mismatch`);
152
- }
153
- return { header, elements, raw };
154
- }
155
- function validateImageData(image) {
156
- for (const element of image.elements) {
157
- const { data } = element;
158
- if (data.indexOf(GBL_HEADER_TAG) === 0) {
159
- validateSilabsGbl(data);
160
- }
161
- else {
162
- const tag = data.readUInt16BE(0);
163
- /* istanbul ignore next */
164
- if ((tag === EBL_TAG_HEADER && data.readUInt16BE(6) === EBL_IMAGE_SIGNATURE) || tag === EBL_TAG_ENC_HEADER) {
165
- validateSilabsEbl(data);
166
- }
167
- }
168
- }
169
- }
170
- /* istanbul ignore next */
171
- function validateSilabsEbl(data) {
172
- const dataLength = data.length;
173
- let position = 0;
174
- while (position + 4 <= dataLength) {
175
- const tag = data.readUInt16BE(position);
176
- const len = data.readUInt16BE(position + 2);
177
- position += 4 + len;
178
- if (tag !== EBL_TAG_END) {
179
- continue;
180
- }
181
- for (let position2 = position; position2 < dataLength; position2++) {
182
- (0, assert_1.default)(data.readUInt8(position2) === EBL_PADDING, `Image padding contains invalid bytes`);
183
- }
184
- const calculatedCrc32 = buffer_crc32_1.default.unsigned(data.subarray(0, position));
185
- (0, assert_1.default)(calculatedCrc32 === VALID_SILABS_CRC, `Image CRC-32 is invalid`);
186
- return;
187
- }
188
- throw new Error(`Image is truncated, not long enough to contain a valid tag`);
189
- }
190
- function validateSilabsGbl(data) {
191
- (0, assert_1.default)(data.indexOf(GBL_HEADER_TAG) === 0, `Not a valid GBL image`);
192
- const gblEndTagIndex = data.indexOf(GBL_END_TAG);
193
- (0, assert_1.default)(gblEndTagIndex > 16, `Not a valid GBL image`); // after HEADER, just because...
194
- const gblEnd = gblEndTagIndex + 12; // tag + length + crc32 (4*3)
195
- // TODO: nodejs >= v20.15.0, remove dep buffer-crc32
196
- // import {crc32} from 'zlib';
197
- // const calculatedCrc32 = crc32(data.subarray(0, gblEnd));
198
- // ignore possible padding
199
- const calculatedCrc32 = buffer_crc32_1.default.unsigned(data.subarray(0, gblEnd));
200
- (0, assert_1.default)(calculatedCrc32 === VALID_SILABS_CRC, `Image CRC-32 is invalid`);
201
- }
202
- function fillImageInfo(meta) {
203
- // Web-hosted images must come with all fields filled already
204
- if (isValidUrl(meta.url)) {
205
- return meta;
206
- }
207
- // Nothing to do if needed fields were filled already
208
- if (meta.imageType !== undefined && meta.manufacturerCode !== undefined && meta.fileVersion !== undefined) {
209
- return meta;
210
- }
211
- // If no fields provided - get them from the image file
212
- const imageFile = readLocalFile(meta.url);
213
- const otaIdentifier = imageFile.indexOf(exports.UPGRADE_FILE_IDENTIFIER);
214
- (0, assert_1.default)(otaIdentifier != -1, `Not a valid OTA file`);
215
- // allow bypass non-spec Ledvance OTA files if proper manufacturer set
216
- const image = parseImage(imageFile.subarray(otaIdentifier), meta.manufacturerCode === zigbee_herdsman_1.Zcl.ManufacturerCode.LEDVANCE_GMBH);
217
- // Will fill only those fields that were absent
218
- if (meta.imageType === undefined) {
219
- meta.imageType = image.header.imageType;
220
- }
221
- if (meta.manufacturerCode === undefined) {
222
- meta.manufacturerCode = image.header.manufacturerCode;
223
- }
224
- if (meta.fileVersion === undefined) {
225
- meta.fileVersion = image.header.fileVersion;
226
- }
227
- return meta;
228
- }
229
- async function getIndex(previous) {
230
- const mainIndex = await getJson(previous ? exports.ZIGBEE_OTA_PREVIOUS_URL : exports.ZIGBEE_OTA_LATEST_URL);
231
- logger_1.logger.debug(`Downloaded main index`, NS);
232
- if (overrideIndexFileName) {
233
- logger_1.logger.debug(`Loading override index '${overrideIndexFileName}'`, NS);
234
- const localIndex = isValidUrl(overrideIndexFileName)
235
- ? await getJson(overrideIndexFileName)
236
- : JSON.parse((0, fs_1.readFileSync)(overrideIndexFileName, 'utf-8'));
237
- // Resulting index will have overridden items first
238
- return localIndex.map((image) => fillImageInfo(image)).concat(mainIndex);
239
- }
240
- return mainIndex;
241
- }
242
- function deviceLogString(device) {
243
- return `[${device.ieeeAddr} | ${device.modelID}]`;
244
- }
245
- // #endregion
246
- // #region OTA
247
- function cancelWaiters(waiters) {
248
- waiters.imageBlockOrPageRequest?.cancel();
249
- waiters.upgradeEndRequest?.cancel();
250
- }
251
- function getOTAEndpoint(device) {
252
- return device.endpoints.find((e) => e.supportsOutputCluster('genOta'));
253
- }
254
- async function sendQueryNextImageResponse(device, endpoint, image, requestTransactionSequenceNumber) {
255
- const payload = {
256
- status: zigbee_herdsman_1.Zcl.Status.SUCCESS,
257
- manufacturerCode: image.header.manufacturerCode,
258
- imageType: image.header.imageType,
259
- fileVersion: image.header.fileVersion,
260
- imageSize: image.header.totalImageSize,
261
- };
262
- try {
263
- await endpoint.commandResponse('genOta', 'queryNextImageResponse', payload, undefined, requestTransactionSequenceNumber);
264
- }
265
- catch (error) {
266
- logger_1.logger.debug(() => `${deviceLogString(device)} Failed to send queryNextImageResponse: ${error.message}`, NS);
267
- }
268
- }
269
- async function imageNotify(endpoint) {
270
- await endpoint.commandResponse('genOta', 'imageNotify', { payloadType: 0, queryJitter: 100 }, { sendPolicy: 'immediate' });
271
- }
272
- async function requestOTA(endpoint) {
273
- // Some devices (e.g. Insta) take very long trying to discover the correct coordinator EP for OTA.
274
- const queryNextImageRequest = endpoint.waitForCommand('genOta', 'queryNextImageRequest', undefined, 60000);
275
- try {
276
- await imageNotify(endpoint);
277
- const response = await queryNextImageRequest.promise;
278
- return [response.header.transactionSequenceNumber, response.payload];
279
- }
280
- catch {
281
- queryNextImageRequest.cancel();
282
- throw new Error(`Device didn't respond to OTA request`);
283
- }
284
- }
285
- // this is not significant for tests, skipping coverage
286
- /* istanbul ignore next */
287
- function getInitialMaximumDataSize(imageBlockRequest) {
288
- if (imageBlockRequest.payload.manufacturerCode === zigbee_herdsman_1.Zcl.ManufacturerCode.INSTA_GMBH) {
289
- // Insta devices, OTA only works for data sizes 40 and smaller (= manufacturerCode 4474).
290
- return 40;
291
- }
292
- else if (imageBlockRequest.payload.manufacturerCode === zigbee_herdsman_1.Zcl.ManufacturerCode.LEGRAND_GROUP) {
293
- // Legrand devices (newer firmware) require up to 64 bytes (= manufacturerCode 4129).
294
- return Infinity;
295
- }
296
- return initialMaximumDataSize;
297
- }
298
- function getImageBlockResponsePayload(device, image, imageBlockRequest, pageOffset, pageSize) {
299
- let dataSize = Math.min(getInitialMaximumDataSize(imageBlockRequest), imageBlockRequest.payload.maximumDataSize);
300
- let start = imageBlockRequest.payload.fileOffset + pageOffset;
301
- // Hack for https://github.com/Koenkk/zigbee-OTA/issues/328 (Legrand OTA not working)
302
- /* istanbul ignore next */
303
- if (imageBlockRequest.payload.manufacturerCode === zigbee_herdsman_1.Zcl.ManufacturerCode.LEGRAND_GROUP &&
304
- imageBlockRequest.payload.fileOffset === 50 &&
305
- imageBlockRequest.payload.maximumDataSize === 12) {
306
- logger_1.logger.info(() => `${deviceLogString(device)} Detected Legrand firmware issue, attempting to reset the OTA stack`, NS);
307
- // The following vector seems to buffer overflow the device to reset the OTA stack!
308
- start = 78;
309
- dataSize = 64;
310
- }
311
- if (pageSize) {
312
- dataSize = Math.min(dataSize, pageSize - pageOffset);
313
- }
314
- let end = start + dataSize;
315
- if (end > image.raw.length) {
316
- end = image.raw.length;
317
- }
318
- logger_1.logger.debug(() => `${deviceLogString(device)} Request offsets: fileOffset=${imageBlockRequest.payload.fileOffset} pageOffset=${pageOffset} maximumDataSize=${imageBlockRequest.payload.maximumDataSize}`, NS);
319
- logger_1.logger.debug(() => `${deviceLogString(device)} Payload offsets: start=${start} end=${end} dataSize=${dataSize}`, NS);
320
- return {
321
- status: zigbee_herdsman_1.Zcl.Status.SUCCESS,
322
- manufacturerCode: imageBlockRequest.payload.manufacturerCode,
323
- imageType: imageBlockRequest.payload.imageType,
324
- fileVersion: imageBlockRequest.payload.fileVersion,
325
- fileOffset: start,
326
- dataSize: end - start,
327
- data: image.raw.subarray(start, end),
328
- };
329
- }
330
- function callOnProgress(device, startTime, lastUpdate, imageBlockRequest, image, onProgress) {
331
- const now = Date.now();
332
- // Call on progress every +- 30 seconds
333
- if (lastUpdate === undefined || now - lastUpdate > 30000) {
334
- const totalDuration = (now - startTime) / 1000; // in seconds
335
- const bytesPerSecond = imageBlockRequest.payload.fileOffset / totalDuration;
336
- const remaining = (image.header.totalImageSize - imageBlockRequest.payload.fileOffset) / bytesPerSecond;
337
- let percentage = imageBlockRequest.payload.fileOffset / image.header.totalImageSize;
338
- percentage = Math.round(percentage * 10000) / 100;
339
- logger_1.logger.debug(() => `${deviceLogString(device)} Update at ${percentage}%, remaining ${remaining} seconds`, NS);
340
- onProgress(percentage, remaining === Infinity ? undefined : remaining);
341
- return now;
342
- }
343
- else {
344
- return lastUpdate;
345
- }
346
- }
347
- async function getImageMeta(current, device, extraMetas, previous) {
348
- logger_1.logger.debug(() => `${deviceLogString(device)} Getting image metadata...`, NS);
349
- const images = await getIndex(previous);
350
- // NOTE: Officially an image can be determined with a combination of manufacturerCode and imageType.
351
- // However Gledopto pro products use the same imageType (0) for every device while the image is different.
352
- // For this case additional identification through the modelId is done.
353
- // In the case of Tuya and Moes, additional identification is carried out through the manufacturerName.
354
- return images.find((i) => i.imageType === current.imageType &&
355
- i.manufacturerCode === current.manufacturerCode &&
356
- (i.minFileVersion == undefined || current.fileVersion >= i.minFileVersion) &&
357
- (i.maxFileVersion == undefined || current.fileVersion <= i.maxFileVersion) &&
358
- // let extra metas override the match from device.modelID, same for manufacturerName
359
- (!i.modelId || i.modelId === device.modelID || i.modelId === extraMetas.modelId) &&
360
- (!i.manufacturerName ||
361
- i.manufacturerName.includes(device.manufacturerName) ||
362
- i.manufacturerName.includes(extraMetas.manufacturerName)) &&
363
- (!extraMetas.otaHeaderString || i.otaHeaderString === extraMetas.otaHeaderString) &&
364
- (i.hardwareVersionMin == undefined ||
365
- (device.hardwareVersion != undefined && device.hardwareVersion >= i.hardwareVersionMin) ||
366
- (extraMetas.hardwareVersionMin != undefined && extraMetas.hardwareVersionMin >= i.hardwareVersionMin)) &&
367
- (i.hardwareVersionMax == undefined ||
368
- (device.hardwareVersion != undefined && device.hardwareVersion <= i.hardwareVersionMax) ||
369
- (extraMetas.hardwareVersionMax != undefined && extraMetas.hardwareVersionMax <= i.hardwareVersionMax)));
370
- }
371
- async function isImageAvailable(current, device, extraMetas, previous) {
372
- const imageSet = previous ? 'previous' : 'latest';
373
- logger_1.logger.debug(() => `${deviceLogString(device)} Checking ${imageSet} image availability, current: ${JSON.stringify(current)}`, NS);
374
- if (['lumi.airrtc.agl001', 'lumi.curtain.acn003', 'lumi.curtain.agl001'].includes(device.modelID)) {
375
- // The current.fileVersion which comes from the device is wrong.
376
- // Use the `lumiFileVersion` which comes from the manuSpecificLumi.attributeReport instead.
377
- // https://github.com/Koenkk/zigbee2mqtt/issues/16345#issuecomment-1454835056
378
- // https://github.com/Koenkk/zigbee2mqtt/issues/16345 doesn't seem to be needed for all
379
- // https://github.com/Koenkk/zigbee2mqtt/issues/15745
380
- if (device.meta.lumiFileVersion) {
381
- current = { ...current, fileVersion: device.meta.lumiFileVersion };
382
- }
383
- }
384
- const meta = await getImageMeta(current, device, extraMetas, previous);
385
- // Soft-fail because no images in repo/URL for specified device
386
- if (!meta) {
387
- logger_1.logger.debug(() => `${deviceLogString(device)} No ${imageSet} image currently available, current: ${JSON.stringify(current)}'`, NS);
388
- return {
389
- available: 0,
390
- currentFileVersion: current.fileVersion,
391
- otaFileVersion: current.fileVersion,
392
- };
393
- }
394
- logger_1.logger.debug(() => `${deviceLogString(device)} Result for ${imageSet} image availability, meta: '${JSON.stringify(meta)}'`, NS);
395
- /* istanbul ignore next */
396
- if (meta.releaseNotes) {
397
- logger_1.logger.info(() => `${deviceLogString(device)} Firmware release notes: ${meta.releaseNotes.replace(/[\r\n]/g, '')}`, NS);
398
- }
399
- // Negative number means the firmware is 'newer' than current one
400
- // Positive number means the firmware is 'older' than current one
401
- return {
402
- available: meta.force ? -1 : Math.sign(current.fileVersion - meta.fileVersion),
403
- currentFileVersion: current.fileVersion,
404
- otaFileVersion: meta.fileVersion,
405
- };
406
- }
407
- async function getImage(current, device, extraMetas, previous) {
408
- const meta = await getImageMeta(current, device, extraMetas, previous);
409
- if (!meta) {
410
- throw new Error(`${deviceLogString(device)} No image currently available`);
411
- }
412
- const imageSet = previous ? 'previous' : 'latest';
413
- logger_1.logger.info(() => `${deviceLogString(device)} Getting ${imageSet} image, meta: ${JSON.stringify(meta)}`, NS);
414
- if (previous) {
415
- (0, assert_1.default)(meta.fileVersion < current.fileVersion || meta.force, `No previous image available`);
416
- }
417
- else {
418
- (0, assert_1.default)(meta.fileVersion > current.fileVersion || meta.force, `No new image available`);
419
- }
420
- const downloadedFile = await getFirmwareFile(meta);
421
- if (meta.sha512) {
422
- const hash = crypto_1.default.createHash('sha512');
423
- hash.update(downloadedFile);
424
- (0, assert_1.default)(hash.digest('hex') === meta.sha512, `File checksum validation failed`);
425
- logger_1.logger.debug(() => `${deviceLogString(device)} Image checksum validation succeeded.`, NS);
426
- }
427
- const otaIdentifier = downloadedFile.indexOf(exports.UPGRADE_FILE_IDENTIFIER);
428
- (0, assert_1.default)(otaIdentifier != -1, `Not a valid OTA file`);
429
- const image = parseImage(downloadedFile.subarray(otaIdentifier), extraMetas.suppressElementImageParseFailure || false);
430
- logger_1.logger.debug(() => `${deviceLogString(device)} Got ${imageSet} image, header: ${JSON.stringify(image.header)}`, NS);
431
- (0, assert_1.default)(image.header.fileVersion === meta.fileVersion, `File version mismatch`);
432
- (0, assert_1.default)(!meta.fileSize || image.header.totalImageSize === meta.fileSize, `Image size mismatch`);
433
- (0, assert_1.default)(image.header.manufacturerCode === current.manufacturerCode, `Manufacturer code mismatch`);
434
- (0, assert_1.default)(image.header.imageType === current.imageType, `Image type mismatch`);
435
- // this is only reachable if manifest is missing hardwareVersionMin/Max
436
- if ('minimumHardwareVersion' in image.header &&
437
- image.header.minimumHardwareVersion !== undefined &&
438
- 'maximumHardwareVersion' in image.header &&
439
- image.header.maximumHardwareVersion !== undefined) {
440
- (0, assert_1.default)(device.hardwareVersion != undefined, 'Hardware version required');
441
- (0, assert_1.default)(image.header.minimumHardwareVersion <= device.hardwareVersion && device.hardwareVersion <= image.header.maximumHardwareVersion, `Hardware version mismatch`);
442
- }
443
- validateImageData(image);
444
- return image;
445
- }
446
- async function isUpdateAvailable(device, extraMetas, requestPayload, previous) {
447
- logger_1.logger.debug(() => `${deviceLogString(device)} Checking if an update is available`, NS);
448
- if (device.modelID === 'PP-WHT-US') {
449
- // see https://github.com/Koenkk/zigbee-OTA/pull/14
450
- const scenesEndpoint = device.endpoints.find((e) => e.supportsOutputCluster('genScenes'));
451
- if (scenesEndpoint) {
452
- await scenesEndpoint.write('genScenes', { currentGroup: 49502 });
453
- }
454
- }
455
- if (requestPayload === undefined) {
456
- const endpoint = getOTAEndpoint(device);
457
- (0, assert_1.default)(endpoint !== undefined, `${deviceLogString(device)} Failed to find an endpoint which supports the OTA cluster`);
458
- logger_1.logger.debug(() => `${deviceLogString(device)} Using endpoint '${endpoint.ID}'`, NS);
459
- const [, payload] = await requestOTA(endpoint);
460
- logger_1.logger.debug(() => `${deviceLogString(device)} Got request '${JSON.stringify(payload)}'`, NS);
461
- requestPayload = payload;
462
- }
463
- const availableResult = await isImageAvailable(requestPayload, device, extraMetas, previous);
464
- let available = false;
465
- if (previous) {
466
- available = availableResult.available > 0;
467
- logger_1.logger.debug(() => `${deviceLogString(device)} Downgrade available: ${available ? 'YES' : 'NO'}`, NS);
468
- }
469
- else {
470
- available = availableResult.available < 0;
471
- logger_1.logger.debug(() => `${deviceLogString(device)} Upgrade available: ${available ? 'YES' : 'NO'}`, NS);
472
- if (availableResult.available > 0) {
473
- logger_1.logger.warning(() => `${deviceLogString(device)} Firmware is newer than latest available firmware.`, NS);
474
- }
475
- }
476
- return { ...availableResult, available };
477
- }
478
- // this is not significant for tests, skipping coverage
479
- /* istanbul ignore next */
480
- function getImageBlockOrPageRequestTimeoutMs(requestPayload) {
481
- // increase the upgradeEndReq wait time to solve the problem of OTA timeout failure of Sonoff Devices
482
- // (https://github.com/Koenkk/zigbee-herdsman-converters/issues/6657)
483
- if (requestPayload.manufacturerCode === zigbee_herdsman_1.Zcl.ManufacturerCode.SHENZHEN_COOLKIT_TECHNOLOGY_CO_LTD && requestPayload.imageType == 8199) {
484
- return 3600000;
485
- }
486
- // Bosch transmits the firmware updates in the background in their native implementation.
487
- // According to the app, this can take up to 2 days. Therefore, we assume to get at least
488
- // one package request per hour from the device here.
489
- if (requestPayload.manufacturerCode == zigbee_herdsman_1.Zcl.ManufacturerCode.ROBERT_BOSCH_GMBH) {
490
- return 60 * 60 * 1000;
491
- }
492
- // Increase the timeout for Legrand devices, so that they will re-initiate and update themselves
493
- // Newer firmwares have awkward behaviours when it comes to the handling of the last bytes of OTA updates
494
- if (requestPayload.manufacturerCode === zigbee_herdsman_1.Zcl.ManufacturerCode.LEGRAND_GROUP) {
495
- return 30 * 60 * 1000;
496
- }
497
- return 150000;
498
- }
499
- /**
500
- * @see https://zigbeealliance.org/wp-content/uploads/2021/10/07-5123-08-Zigbee-Cluster-Library.pdf 11.12
501
- */
502
- async function update(device, extraMetas, previous, onProgress) {
503
- const imageSet = previous ? 'previous' : 'latest';
504
- logger_1.logger.debug(() => `${deviceLogString(device)} Updating to ${imageSet}`, NS);
505
- const endpoint = getOTAEndpoint(device);
506
- (0, assert_1.default)(endpoint !== undefined, `${deviceLogString(device)} Failed to find an endpoint which supports the OTA cluster`);
507
- logger_1.logger.debug(() => `${deviceLogString(device)} Using endpoint '${endpoint.ID}'`, NS);
508
- if (device.modelID === 'PP-WHT-US') {
509
- // see https://github.com/Koenkk/zigbee-OTA/pull/14
510
- const scenesEndpoint = device.endpoints.find((e) => e.supportsOutputCluster('genScenes'));
511
- if (scenesEndpoint) {
512
- await scenesEndpoint.write('genScenes', { currentGroup: 49502 });
513
- }
514
- }
515
- const [transNum, requestPayload] = await requestOTA(endpoint);
516
- logger_1.logger.debug(() => `${deviceLogString(device)} Got request payload '${JSON.stringify(requestPayload)}'`, NS);
517
- const image = await getImage(requestPayload, device, extraMetas, previous);
518
- logger_1.logger.debug(() => `${deviceLogString(device)} Got ${imageSet} image`, NS);
519
- // reply to `queryNextImageRequest` in `requestOTA` now that we have the data for it,
520
- // should trigger image block/page request from device
521
- await sendQueryNextImageResponse(device, endpoint, image, transNum);
522
- const waiters = {};
523
- let lastBlockResponseTime = 0;
524
- let lastBlockTimeout;
525
- let lastUpdate = undefined;
526
- const startTime = Date.now();
527
- const sendImageBlockResponse = async (imageBlockRequest, pageOffset, pageSize) => {
528
- // Reduce network congestion by throttling response if necessary
529
- {
530
- clearTimeout(lastBlockTimeout);
531
- const now = Date.now();
532
- const timeSinceLast = now - lastBlockResponseTime;
533
- const delay = imageBlockResponseDelay - timeSinceLast;
534
- if (delay <= 0) {
535
- lastBlockResponseTime = now;
536
- }
537
- else {
538
- await new Promise((resolve) => {
539
- lastBlockTimeout = setTimeout(() => {
540
- lastBlockResponseTime = Date.now();
541
- resolve();
542
- }, delay);
543
- });
544
- }
545
- }
546
- try {
547
- const blockPayload = getImageBlockResponsePayload(device, image, imageBlockRequest, pageOffset, pageSize);
548
- await endpoint.commandResponse('genOta', 'imageBlockResponse', blockPayload, undefined, imageBlockRequest.header.transactionSequenceNumber);
549
- pageOffset += blockPayload.dataSize;
550
- }
551
- catch (error) {
552
- // Shit happens, device will probably do a new imageBlockRequest so don't care.
553
- logger_1.logger.debug(() => `${deviceLogString(device)} Image block response failed: ${error.message}`, NS);
554
- }
555
- lastUpdate = callOnProgress(device, startTime, lastUpdate, imageBlockRequest, image, onProgress);
556
- return pageOffset;
557
- };
558
- let done = false;
559
- const imageBlockOrPageRequestTimeoutMs = getImageBlockOrPageRequestTimeoutMs(requestPayload);
560
- /** recursive, endless (expects `upgradeEndRequest` to stop it, or anything that sets done=true) */
561
- const sendImageChunks = async () => {
562
- while (!done) {
563
- const imageBlockRequest = endpoint.waitForCommand('genOta', 'imageBlockRequest', undefined, imageBlockOrPageRequestTimeoutMs);
564
- const imagePageRequest = endpoint.waitForCommand('genOta', 'imagePageRequest', undefined, imageBlockOrPageRequestTimeoutMs);
565
- waiters.imageBlockOrPageRequest = {
566
- promise: Promise.race([imageBlockRequest.promise, imagePageRequest.promise]),
567
- cancel: () => {
568
- imageBlockRequest.cancel();
569
- imagePageRequest.cancel();
570
- },
571
- };
572
- try {
573
- const result = await waiters.imageBlockOrPageRequest.promise;
574
- let pageSize = 0;
575
- let pageOffset = 0;
576
- if ('pageSize' in result.payload) {
577
- // TODO: `result.payload.responseSpacing` support?
578
- // imagePageRequest
579
- pageSize = result.payload.pageSize;
580
- while (pageOffset < pageSize) {
581
- // in case upgradeEndRequest resolves, bail early (quirks)
582
- if (done) {
583
- return;
584
- }
585
- pageOffset = await sendImageBlockResponse(result, pageOffset, pageSize);
586
- }
587
- }
588
- else {
589
- // imageBlockRequest
590
- pageOffset = await sendImageBlockResponse(result, pageOffset, pageSize);
591
- }
592
- }
593
- catch (error) {
594
- cancelWaiters(waiters);
595
- throw new Error(`${deviceLogString(device)} Timeout. Device did not start/finish firmware download after being notified. (${error.message})`);
596
- }
597
- }
598
- };
599
- logger_1.logger.debug(() => `${deviceLogString(device)} Starting update`, NS);
600
- waiters.upgradeEndRequest = endpoint.waitForCommand('genOta', 'upgradeEndRequest', undefined, MAX_TIMEOUT);
601
- await Promise.race([
602
- sendImageChunks(),
603
- waiters.upgradeEndRequest.promise.finally(() => {
604
- clearTimeout(lastBlockResponseTime);
605
- // always clear state
606
- cancelWaiters(waiters);
607
- done = true;
608
- }),
609
- ]);
610
- // already resolved when this is reached
611
- const endResult = await waiters.upgradeEndRequest.promise;
612
- logger_1.logger.debug(() => `${deviceLogString(device)} Got upgrade end request: ${JSON.stringify(endResult.payload)}`, NS);
613
- if (endResult.payload.status === zigbee_herdsman_1.Zcl.Status.SUCCESS) {
614
- const payload = {
615
- manufacturerCode: image.header.manufacturerCode,
616
- imageType: image.header.imageType,
617
- fileVersion: image.header.fileVersion,
618
- currentTime: 0,
619
- upgradeTime: 1,
620
- };
621
- try {
622
- await endpoint.commandResponse('genOta', 'upgradeEndResponse', payload, undefined, endResult.header.transactionSequenceNumber);
623
- logger_1.logger.debug(() => `${deviceLogString(device)} Update successful. Waiting for device announce...`, NS);
624
- onProgress(100, undefined);
625
- let timer;
626
- return await new Promise((resolve) => {
627
- // XXX: annoying to test since using fake timers, same result anyway
628
- /* istanbul ignore next */
629
- const onDeviceAnnounce = () => {
630
- clearTimeout(timer);
631
- logger_1.logger.debug(() => `${deviceLogString(device)} Received device announce, update finished.`, NS);
632
- resolve(image.header.fileVersion);
633
- };
634
- // force "finished" after given time
635
- timer = setTimeout(() => {
636
- device.removeListener('deviceAnnounce', onDeviceAnnounce);
637
- logger_1.logger.debug(() => `${deviceLogString(device)} Timed out waiting for device announce, update considered finished.`, NS);
638
- resolve(image.header.fileVersion);
639
- }, UPDATE_END_FORCE_RESOLVE_TIME);
640
- device.once('deviceAnnounce', onDeviceAnnounce);
641
- });
642
- }
643
- catch (error) {
644
- throw new Error(`Upgrade end response failed: ${error.message}`);
645
- }
646
- }
647
- else {
648
- /**
649
- * For other status value received such as INVALID_IMAGE, REQUIRE_MORE_IMAGE, or ABORT,
650
- * the upgrade server SHALL not send Upgrade End Response command but it SHALL send default
651
- * response command with status of success and it SHALL wait for the client to reinitiate the upgrade process.
652
- */
653
- try {
654
- await endpoint.defaultResponse(zigbee_herdsman_1.Zcl.Clusters.genOta.commands.upgradeEndRequest.ID, zigbee_herdsman_1.Zcl.Status.SUCCESS, zigbee_herdsman_1.Zcl.Clusters.genOta.ID, endResult.header.transactionSequenceNumber);
655
- }
656
- catch (error) {
657
- logger_1.logger.debug(() => `${deviceLogString(device)} Upgrade end request default response failed: ${error.message}`, NS);
658
- }
659
- throw new Error(`Update failed with reason: ${zigbee_herdsman_1.Zcl.Status[endResult.payload.status]}`);
660
- }
661
- }
662
- // #endregion
663
- //# sourceMappingURL=ota.js.map