zigbee-herdsman-converters 21.9.0 → 21.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1394) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/converters/fromZigbee.d.ts +2036 -0
  3. package/converters/fromZigbee.d.ts.map +1 -0
  4. package/converters/fromZigbee.js +5343 -0
  5. package/converters/fromZigbee.js.map +1 -0
  6. package/converters/toZigbee.d.ts +1578 -0
  7. package/converters/toZigbee.d.ts.map +1 -0
  8. package/converters/toZigbee.js +4422 -0
  9. package/converters/toZigbee.js.map +1 -0
  10. package/devices/ITCommander.d.ts +4 -0
  11. package/devices/ITCommander.d.ts.map +1 -0
  12. package/devices/ITCommander.js +77 -0
  13. package/devices/ITCommander.js.map +1 -0
  14. package/devices/acova.d.ts +4 -0
  15. package/devices/acova.d.ts.map +1 -0
  16. package/devices/acova.js +127 -0
  17. package/devices/acova.js.map +1 -0
  18. package/devices/acuity_brands_lighting.d.ts +4 -0
  19. package/devices/acuity_brands_lighting.d.ts.map +1 -0
  20. package/devices/acuity_brands_lighting.js +29 -0
  21. package/devices/acuity_brands_lighting.js.map +1 -0
  22. package/devices/adeo.d.ts +4 -0
  23. package/devices/adeo.d.ts.map +1 -0
  24. package/devices/adeo.js +486 -0
  25. package/devices/adeo.js.map +1 -0
  26. package/devices/adurosmart.d.ts +4 -0
  27. package/devices/adurosmart.d.ts.map +1 -0
  28. package/devices/adurosmart.js +183 -0
  29. package/devices/adurosmart.js.map +1 -0
  30. package/devices/aeotec.d.ts +4 -0
  31. package/devices/aeotec.d.ts.map +1 -0
  32. package/devices/aeotec.js +66 -0
  33. package/devices/aeotec.js.map +1 -0
  34. package/devices/airam.d.ts +4 -0
  35. package/devices/airam.d.ts.map +1 -0
  36. package/devices/airam.js +106 -0
  37. package/devices/airam.js.map +1 -0
  38. package/devices/airzone_aidoo.d.ts +4 -0
  39. package/devices/airzone_aidoo.d.ts.map +1 -0
  40. package/devices/airzone_aidoo.js +81 -0
  41. package/devices/airzone_aidoo.js.map +1 -0
  42. package/devices/ajax_online.d.ts +4 -0
  43. package/devices/ajax_online.d.ts.map +1 -0
  44. package/devices/ajax_online.js +84 -0
  45. package/devices/ajax_online.js.map +1 -0
  46. package/devices/akuvox.d.ts +4 -0
  47. package/devices/akuvox.d.ts.map +1 -0
  48. package/devices/akuvox.js +68 -0
  49. package/devices/akuvox.js.map +1 -0
  50. package/devices/alchemy.d.ts +4 -0
  51. package/devices/alchemy.d.ts.map +1 -0
  52. package/devices/alchemy.js +22 -0
  53. package/devices/alchemy.js.map +1 -0
  54. package/devices/aldi.d.ts +4 -0
  55. package/devices/aldi.d.ts.map +1 -0
  56. package/devices/aldi.js +57 -0
  57. package/devices/aldi.js.map +1 -0
  58. package/devices/alecto.d.ts +4 -0
  59. package/devices/alecto.d.ts.map +1 -0
  60. package/devices/alecto.js +101 -0
  61. package/devices/alecto.js.map +1 -0
  62. package/devices/amina.d.ts +4 -0
  63. package/devices/amina.d.ts.map +1 -0
  64. package/devices/amina.js +370 -0
  65. package/devices/amina.js.map +1 -0
  66. package/devices/anchor.d.ts +4 -0
  67. package/devices/anchor.d.ts.map +1 -0
  68. package/devices/anchor.js +15 -0
  69. package/devices/anchor.js.map +1 -0
  70. package/devices/atlantic.d.ts +4 -0
  71. package/devices/atlantic.d.ts.map +1 -0
  72. package/devices/atlantic.js +146 -0
  73. package/devices/atlantic.js.map +1 -0
  74. package/devices/atsmart.d.ts +4 -0
  75. package/devices/atsmart.d.ts.map +1 -0
  76. package/devices/atsmart.js +15 -0
  77. package/devices/atsmart.js.map +1 -0
  78. package/devices/aubess.d.ts +4 -0
  79. package/devices/aubess.d.ts.map +1 -0
  80. package/devices/aubess.js +60 -0
  81. package/devices/aubess.js.map +1 -0
  82. package/devices/aurora_lighting.d.ts +4 -0
  83. package/devices/aurora_lighting.d.ts.map +1 -0
  84. package/devices/aurora_lighting.js +338 -0
  85. package/devices/aurora_lighting.js.map +1 -0
  86. package/devices/automaton.d.ts +4 -0
  87. package/devices/automaton.d.ts.map +1 -0
  88. package/devices/automaton.js +65 -0
  89. package/devices/automaton.js.map +1 -0
  90. package/devices/avatto.d.ts +4 -0
  91. package/devices/avatto.d.ts.map +1 -0
  92. package/devices/avatto.js +67 -0
  93. package/devices/avatto.js.map +1 -0
  94. package/devices/awox.d.ts +4 -0
  95. package/devices/awox.d.ts.map +1 -0
  96. package/devices/awox.js +240 -0
  97. package/devices/awox.js.map +1 -0
  98. package/devices/axis.d.ts +4 -0
  99. package/devices/axis.d.ts.map +1 -0
  100. package/devices/axis.js +63 -0
  101. package/devices/axis.js.map +1 -0
  102. package/devices/bankamp.d.ts +4 -0
  103. package/devices/bankamp.d.ts.map +1 -0
  104. package/devices/bankamp.js +15 -0
  105. package/devices/bankamp.js.map +1 -0
  106. package/devices/bega.d.ts +4 -0
  107. package/devices/bega.d.ts.map +1 -0
  108. package/devices/bega.js +29 -0
  109. package/devices/bega.js.map +1 -0
  110. package/devices/belkin.d.ts +4 -0
  111. package/devices/belkin.d.ts.map +1 -0
  112. package/devices/belkin.js +15 -0
  113. package/devices/belkin.js.map +1 -0
  114. package/devices/bitron.d.ts +4 -0
  115. package/devices/bitron.d.ts.map +1 -0
  116. package/devices/bitron.js +359 -0
  117. package/devices/bitron.js.map +1 -0
  118. package/devices/bituo_technik.d.ts +4 -0
  119. package/devices/bituo_technik.d.ts.map +1 -0
  120. package/devices/bituo_technik.js +121 -0
  121. package/devices/bituo_technik.js.map +1 -0
  122. package/devices/blaupunkt.d.ts +4 -0
  123. package/devices/blaupunkt.d.ts.map +1 -0
  124. package/devices/blaupunkt.js +68 -0
  125. package/devices/blaupunkt.js.map +1 -0
  126. package/devices/blitzwolf.d.ts +4 -0
  127. package/devices/blitzwolf.d.ts.map +1 -0
  128. package/devices/blitzwolf.js +73 -0
  129. package/devices/blitzwolf.js.map +1 -0
  130. package/devices/bosch.d.ts +4 -0
  131. package/devices/bosch.d.ts.map +1 -0
  132. package/devices/bosch.js +2048 -0
  133. package/devices/bosch.js.map +1 -0
  134. package/devices/bouffalo_lab.d.ts +4 -0
  135. package/devices/bouffalo_lab.d.ts.map +1 -0
  136. package/devices/bouffalo_lab.js +15 -0
  137. package/devices/bouffalo_lab.js.map +1 -0
  138. package/devices/brimate.d.ts +4 -0
  139. package/devices/brimate.d.ts.map +1 -0
  140. package/devices/brimate.js +55 -0
  141. package/devices/brimate.js.map +1 -0
  142. package/devices/bseed.d.ts +4 -0
  143. package/devices/bseed.d.ts.map +1 -0
  144. package/devices/bseed.js +57 -0
  145. package/devices/bseed.js.map +1 -0
  146. package/devices/bticino.d.ts +4 -0
  147. package/devices/bticino.d.ts.map +1 -0
  148. package/devices/bticino.js +113 -0
  149. package/devices/bticino.js.map +1 -0
  150. package/devices/busch_jaeger.d.ts +4 -0
  151. package/devices/busch_jaeger.d.ts.map +1 -0
  152. package/devices/busch_jaeger.js +186 -0
  153. package/devices/busch_jaeger.js.map +1 -0
  154. package/devices/byun.d.ts +4 -0
  155. package/devices/byun.d.ts.map +1 -0
  156. package/devices/byun.js +64 -0
  157. package/devices/byun.js.map +1 -0
  158. package/devices/calex.d.ts +4 -0
  159. package/devices/calex.d.ts.map +1 -0
  160. package/devices/calex.js +91 -0
  161. package/devices/calex.js.map +1 -0
  162. package/devices/candeo.d.ts +4 -0
  163. package/devices/candeo.d.ts.map +1 -0
  164. package/devices/candeo.js +185 -0
  165. package/devices/candeo.js.map +1 -0
  166. package/devices/casaia.d.ts +4 -0
  167. package/devices/casaia.d.ts.map +1 -0
  168. package/devices/casaia.js +99 -0
  169. package/devices/casaia.js.map +1 -0
  170. package/devices/cel.d.ts +4 -0
  171. package/devices/cel.d.ts.map +1 -0
  172. package/devices/cel.js +20 -0
  173. package/devices/cel.js.map +1 -0
  174. package/devices/centralite.d.ts +4 -0
  175. package/devices/centralite.d.ts.map +1 -0
  176. package/devices/centralite.js +444 -0
  177. package/devices/centralite.js.map +1 -0
  178. package/devices/chacon.d.ts +4 -0
  179. package/devices/chacon.d.ts.map +1 -0
  180. package/devices/chacon.js +18 -0
  181. package/devices/chacon.js.map +1 -0
  182. package/devices/cleode.d.ts +4 -0
  183. package/devices/cleode.d.ts.map +1 -0
  184. package/devices/cleode.js +15 -0
  185. package/devices/cleode.js.map +1 -0
  186. package/devices/cleverio.d.ts +4 -0
  187. package/devices/cleverio.d.ts.map +1 -0
  188. package/devices/cleverio.js +77 -0
  189. package/devices/cleverio.js.map +1 -0
  190. package/devices/climax.d.ts +4 -0
  191. package/devices/climax.d.ts.map +1 -0
  192. package/devices/climax.js +181 -0
  193. package/devices/climax.js.map +1 -0
  194. package/devices/commercial_electric.d.ts +4 -0
  195. package/devices/commercial_electric.d.ts.map +1 -0
  196. package/devices/commercial_electric.js +15 -0
  197. package/devices/commercial_electric.js.map +1 -0
  198. package/devices/cree.d.ts +4 -0
  199. package/devices/cree.d.ts.map +1 -0
  200. package/devices/cree.js +15 -0
  201. package/devices/cree.js.map +1 -0
  202. package/devices/ctm.d.ts +4 -0
  203. package/devices/ctm.d.ts.map +1 -0
  204. package/devices/ctm.js +1383 -0
  205. package/devices/ctm.js.map +1 -0
  206. package/devices/current_products_corp.d.ts +4 -0
  207. package/devices/current_products_corp.d.ts.map +1 -0
  208. package/devices/current_products_corp.js +64 -0
  209. package/devices/current_products_corp.js.map +1 -0
  210. package/devices/custom_devices_diy.d.ts +4 -0
  211. package/devices/custom_devices_diy.d.ts.map +1 -0
  212. package/devices/custom_devices_diy.js +1206 -0
  213. package/devices/custom_devices_diy.js.map +1 -0
  214. package/devices/cy_lighting.d.ts +4 -0
  215. package/devices/cy_lighting.d.ts.map +1 -0
  216. package/devices/cy_lighting.js +15 -0
  217. package/devices/cy_lighting.js.map +1 -0
  218. package/devices/danalock.d.ts +4 -0
  219. package/devices/danalock.d.ts.map +1 -0
  220. package/devices/danalock.js +65 -0
  221. package/devices/danalock.js.map +1 -0
  222. package/devices/danfoss.d.ts +4 -0
  223. package/devices/danfoss.d.ts.map +1 -0
  224. package/devices/danfoss.js +743 -0
  225. package/devices/danfoss.js.map +1 -0
  226. package/devices/databyte.d.ts +4 -0
  227. package/devices/databyte.d.ts.map +1 -0
  228. package/devices/databyte.js +95 -0
  229. package/devices/databyte.js.map +1 -0
  230. package/devices/datek.d.ts +4 -0
  231. package/devices/datek.d.ts.map +1 -0
  232. package/devices/datek.js +298 -0
  233. package/devices/datek.js.map +1 -0
  234. package/devices/dawon_dns.d.ts +4 -0
  235. package/devices/dawon_dns.d.ts.map +1 -0
  236. package/devices/dawon_dns.js +318 -0
  237. package/devices/dawon_dns.js.map +1 -0
  238. package/devices/develco.d.ts +4 -0
  239. package/devices/develco.d.ts.map +1 -0
  240. package/devices/develco.js +1037 -0
  241. package/devices/develco.js.map +1 -0
  242. package/devices/digi.d.ts +4 -0
  243. package/devices/digi.d.ts.map +1 -0
  244. package/devices/digi.js +25 -0
  245. package/devices/digi.js.map +1 -0
  246. package/devices/diyruz.d.ts +4 -0
  247. package/devices/diyruz.d.ts.map +1 -0
  248. package/devices/diyruz.js +403 -0
  249. package/devices/diyruz.js.map +1 -0
  250. package/devices/dlink.d.ts +4 -0
  251. package/devices/dlink.d.ts.map +1 -0
  252. package/devices/dlink.js +76 -0
  253. package/devices/dlink.js.map +1 -0
  254. package/devices/dnake.d.ts +4 -0
  255. package/devices/dnake.d.ts.map +1 -0
  256. package/devices/dnake.js +15 -0
  257. package/devices/dnake.js.map +1 -0
  258. package/devices/dowsing_reynolds.d.ts +4 -0
  259. package/devices/dowsing_reynolds.d.ts.map +1 -0
  260. package/devices/dowsing_reynolds.js +15 -0
  261. package/devices/dowsing_reynolds.js.map +1 -0
  262. package/devices/dresden_elektronik.d.ts +4 -0
  263. package/devices/dresden_elektronik.d.ts.map +1 -0
  264. package/devices/dresden_elektronik.js +50 -0
  265. package/devices/dresden_elektronik.js.map +1 -0
  266. package/devices/easyaccess.d.ts +4 -0
  267. package/devices/easyaccess.d.ts.map +1 -0
  268. package/devices/easyaccess.js +71 -0
  269. package/devices/easyaccess.js.map +1 -0
  270. package/devices/easyiot.d.ts +4 -0
  271. package/devices/easyiot.d.ts.map +1 -0
  272. package/devices/easyiot.js +358 -0
  273. package/devices/easyiot.js.map +1 -0
  274. package/devices/eatonhalo_led.d.ts +4 -0
  275. package/devices/eatonhalo_led.d.ts.map +1 -0
  276. package/devices/eatonhalo_led.js +15 -0
  277. package/devices/eatonhalo_led.js.map +1 -0
  278. package/devices/echostar.d.ts +4 -0
  279. package/devices/echostar.d.ts.map +1 -0
  280. package/devices/echostar.js +65 -0
  281. package/devices/echostar.js.map +1 -0
  282. package/devices/ecodim.d.ts +4 -0
  283. package/devices/ecodim.d.ts.map +1 -0
  284. package/devices/ecodim.js +270 -0
  285. package/devices/ecodim.js.map +1 -0
  286. package/devices/ecolink.d.ts +4 -0
  287. package/devices/ecolink.d.ts.map +1 -0
  288. package/devices/ecolink.js +61 -0
  289. package/devices/ecolink.js.map +1 -0
  290. package/devices/ecosmart.d.ts +4 -0
  291. package/devices/ecosmart.d.ts.map +1 -0
  292. package/devices/ecosmart.js +83 -0
  293. package/devices/ecosmart.js.map +1 -0
  294. package/devices/ecozy.d.ts +4 -0
  295. package/devices/ecozy.d.ts.map +1 -0
  296. package/devices/ecozy.js +89 -0
  297. package/devices/ecozy.js.map +1 -0
  298. package/devices/edp.d.ts +4 -0
  299. package/devices/edp.d.ts.map +1 -0
  300. package/devices/edp.js +74 -0
  301. package/devices/edp.js.map +1 -0
  302. package/devices/efekta.d.ts +4 -0
  303. package/devices/efekta.d.ts.map +1 -0
  304. package/devices/efekta.js +754 -0
  305. package/devices/efekta.js.map +1 -0
  306. package/devices/eglo.d.ts +4 -0
  307. package/devices/eglo.d.ts.map +1 -0
  308. package/devices/eglo.js +132 -0
  309. package/devices/eglo.js.map +1 -0
  310. package/devices/elko.d.ts +4 -0
  311. package/devices/elko.d.ts.map +1 -0
  312. package/devices/elko.js +240 -0
  313. package/devices/elko.js.map +1 -0
  314. package/devices/enbrighten.d.ts +4 -0
  315. package/devices/enbrighten.d.ts.map +1 -0
  316. package/devices/enbrighten.js +97 -0
  317. package/devices/enbrighten.js.map +1 -0
  318. package/devices/enocean.d.ts +4 -0
  319. package/devices/enocean.d.ts.map +1 -0
  320. package/devices/enocean.js +153 -0
  321. package/devices/enocean.js.map +1 -0
  322. package/devices/envilar.d.ts +4 -0
  323. package/devices/envilar.d.ts.map +1 -0
  324. package/devices/envilar.js +100 -0
  325. package/devices/envilar.js.map +1 -0
  326. package/devices/essentialb.d.ts +4 -0
  327. package/devices/essentialb.d.ts.map +1 -0
  328. package/devices/essentialb.js +137 -0
  329. package/devices/essentialb.js.map +1 -0
  330. package/devices/essentials.d.ts +4 -0
  331. package/devices/essentials.d.ts.map +1 -0
  332. package/devices/essentials.js +151 -0
  333. package/devices/essentials.js.map +1 -0
  334. package/devices/eucontrols.d.ts +4 -0
  335. package/devices/eucontrols.d.ts.map +1 -0
  336. package/devices/eucontrols.js +15 -0
  337. package/devices/eucontrols.js.map +1 -0
  338. package/devices/eurotronic.d.ts +4 -0
  339. package/devices/eurotronic.d.ts.map +1 -0
  340. package/devices/eurotronic.js +128 -0
  341. package/devices/eurotronic.js.map +1 -0
  342. package/devices/evanell.d.ts +4 -0
  343. package/devices/evanell.d.ts.map +1 -0
  344. package/devices/evanell.js +75 -0
  345. package/devices/evanell.js.map +1 -0
  346. package/devices/evn.d.ts +4 -0
  347. package/devices/evn.d.ts.map +1 -0
  348. package/devices/evn.js +94 -0
  349. package/devices/evn.js.map +1 -0
  350. package/devices/evology.d.ts +4 -0
  351. package/devices/evology.d.ts.map +1 -0
  352. package/devices/evology.js +64 -0
  353. package/devices/evology.js.map +1 -0
  354. package/devices/evvr.d.ts +4 -0
  355. package/devices/evvr.d.ts.map +1 -0
  356. package/devices/evvr.js +15 -0
  357. package/devices/evvr.js.map +1 -0
  358. package/devices/ewelink.d.ts +4 -0
  359. package/devices/ewelink.d.ts.map +1 -0
  360. package/devices/ewelink.js +343 -0
  361. package/devices/ewelink.js.map +1 -0
  362. package/devices/ezex.d.ts +4 -0
  363. package/devices/ezex.d.ts.map +1 -0
  364. package/devices/ezex.js +15 -0
  365. package/devices/ezex.js.map +1 -0
  366. package/devices/fantem.d.ts +4 -0
  367. package/devices/fantem.d.ts.map +1 -0
  368. package/devices/fantem.js +118 -0
  369. package/devices/fantem.js.map +1 -0
  370. package/devices/feibit.d.ts +4 -0
  371. package/devices/feibit.d.ts.map +1 -0
  372. package/devices/feibit.js +334 -0
  373. package/devices/feibit.js.map +1 -0
  374. package/devices/fireangel.d.ts +4 -0
  375. package/devices/fireangel.d.ts.map +1 -0
  376. package/devices/fireangel.js +55 -0
  377. package/devices/fireangel.js.map +1 -0
  378. package/devices/frankever.d.ts +4 -0
  379. package/devices/frankever.d.ts.map +1 -0
  380. package/devices/frankever.js +71 -0
  381. package/devices/frankever.js.map +1 -0
  382. package/devices/frient.d.ts +4 -0
  383. package/devices/frient.d.ts.map +1 -0
  384. package/devices/frient.js +42 -0
  385. package/devices/frient.js.map +1 -0
  386. package/devices/futurehome.d.ts +4 -0
  387. package/devices/futurehome.d.ts.map +1 -0
  388. package/devices/futurehome.js +124 -0
  389. package/devices/futurehome.js.map +1 -0
  390. package/devices/ge.d.ts +4 -0
  391. package/devices/ge.d.ts.map +1 -0
  392. package/devices/ge.js +134 -0
  393. package/devices/ge.js.map +1 -0
  394. package/devices/gewiss.d.ts +4 -0
  395. package/devices/gewiss.d.ts.map +1 -0
  396. package/devices/gewiss.js +78 -0
  397. package/devices/gewiss.js.map +1 -0
  398. package/devices/gidealed.d.ts +4 -0
  399. package/devices/gidealed.d.ts.map +1 -0
  400. package/devices/gidealed.js +15 -0
  401. package/devices/gidealed.js.map +1 -0
  402. package/devices/giderwel.d.ts +4 -0
  403. package/devices/giderwel.d.ts.map +1 -0
  404. package/devices/giderwel.js +15 -0
  405. package/devices/giderwel.js.map +1 -0
  406. package/devices/giex.d.ts +4 -0
  407. package/devices/giex.d.ts.map +1 -0
  408. package/devices/giex.js +121 -0
  409. package/devices/giex.js.map +1 -0
  410. package/devices/girier.d.ts +4 -0
  411. package/devices/girier.d.ts.map +1 -0
  412. package/devices/girier.js +56 -0
  413. package/devices/girier.js.map +1 -0
  414. package/devices/gledopto.d.ts +4 -0
  415. package/devices/gledopto.d.ts.map +1 -0
  416. package/devices/gledopto.js +1046 -0
  417. package/devices/gledopto.js.map +1 -0
  418. package/devices/gmmts.d.ts +4 -0
  419. package/devices/gmmts.d.ts.map +1 -0
  420. package/devices/gmmts.js +2287 -0
  421. package/devices/gmmts.js.map +1 -0
  422. package/devices/gmy.d.ts +4 -0
  423. package/devices/gmy.d.ts.map +1 -0
  424. package/devices/gmy.js +15 -0
  425. package/devices/gmy.js.map +1 -0
  426. package/devices/gs.d.ts +4 -0
  427. package/devices/gs.d.ts.map +1 -0
  428. package/devices/gs.js +89 -0
  429. package/devices/gs.js.map +1 -0
  430. package/devices/gumax.d.ts +4 -0
  431. package/devices/gumax.d.ts.map +1 -0
  432. package/devices/gumax.js +15 -0
  433. package/devices/gumax.js.map +1 -0
  434. package/devices/halemeier.d.ts +4 -0
  435. package/devices/halemeier.d.ts.map +1 -0
  436. package/devices/halemeier.js +129 -0
  437. package/devices/halemeier.js.map +1 -0
  438. package/devices/hampton_bay.d.ts +4 -0
  439. package/devices/hampton_bay.d.ts.map +1 -0
  440. package/devices/hampton_bay.js +72 -0
  441. package/devices/hampton_bay.js.map +1 -0
  442. package/devices/heatit.d.ts +4 -0
  443. package/devices/heatit.d.ts.map +1 -0
  444. package/devices/heatit.js +15 -0
  445. package/devices/heatit.js.map +1 -0
  446. package/devices/heiman.d.ts +4 -0
  447. package/devices/heiman.d.ts.map +1 -0
  448. package/devices/heiman.js +807 -0
  449. package/devices/heiman.js.map +1 -0
  450. package/devices/heimgard_technologies.d.ts +4 -0
  451. package/devices/heimgard_technologies.d.ts.map +1 -0
  452. package/devices/heimgard_technologies.js +193 -0
  453. package/devices/heimgard_technologies.js.map +1 -0
  454. package/devices/hej.d.ts +4 -0
  455. package/devices/hej.d.ts.map +1 -0
  456. package/devices/hej.js +73 -0
  457. package/devices/hej.js.map +1 -0
  458. package/devices/hfh.d.ts +4 -0
  459. package/devices/hfh.d.ts.map +1 -0
  460. package/devices/hfh.js +15 -0
  461. package/devices/hfh.js.map +1 -0
  462. package/devices/hilux.d.ts +4 -0
  463. package/devices/hilux.d.ts.map +1 -0
  464. package/devices/hilux.js +22 -0
  465. package/devices/hilux.js.map +1 -0
  466. package/devices/hive.d.ts +4 -0
  467. package/devices/hive.d.ts.map +1 -0
  468. package/devices/hive.js +766 -0
  469. package/devices/hive.js.map +1 -0
  470. package/devices/hommyn.d.ts +4 -0
  471. package/devices/hommyn.d.ts.map +1 -0
  472. package/devices/hommyn.js +64 -0
  473. package/devices/hommyn.js.map +1 -0
  474. package/devices/honyar.d.ts +4 -0
  475. package/devices/honyar.d.ts.map +1 -0
  476. package/devices/honyar.js +171 -0
  477. package/devices/honyar.js.map +1 -0
  478. package/devices/hornbach.d.ts +4 -0
  479. package/devices/hornbach.d.ts.map +1 -0
  480. package/devices/hornbach.js +99 -0
  481. package/devices/hornbach.js.map +1 -0
  482. package/devices/hzc_electric.d.ts +4 -0
  483. package/devices/hzc_electric.d.ts.map +1 -0
  484. package/devices/hzc_electric.js +94 -0
  485. package/devices/hzc_electric.js.map +1 -0
  486. package/devices/icasa.d.ts +4 -0
  487. package/devices/icasa.d.ts.map +1 -0
  488. package/devices/icasa.js +167 -0
  489. package/devices/icasa.js.map +1 -0
  490. package/devices/idinio.d.ts +4 -0
  491. package/devices/idinio.d.ts.map +1 -0
  492. package/devices/idinio.js +15 -0
  493. package/devices/idinio.js.map +1 -0
  494. package/devices/ihorn.d.ts +4 -0
  495. package/devices/ihorn.d.ts.map +1 -0
  496. package/devices/ihorn.js +109 -0
  497. package/devices/ihorn.js.map +1 -0
  498. package/devices/ikea.d.ts +4 -0
  499. package/devices/ikea.d.ts.map +1 -0
  500. package/devices/ikea.js +927 -0
  501. package/devices/ikea.js.map +1 -0
  502. package/devices/ilightsin.d.ts +4 -0
  503. package/devices/ilightsin.d.ts.map +1 -0
  504. package/devices/ilightsin.js +15 -0
  505. package/devices/ilightsin.js.map +1 -0
  506. package/devices/iluminize.d.ts +4 -0
  507. package/devices/iluminize.d.ts.map +1 -0
  508. package/devices/iluminize.js +376 -0
  509. package/devices/iluminize.js.map +1 -0
  510. package/devices/ilux.d.ts +4 -0
  511. package/devices/ilux.d.ts.map +1 -0
  512. package/devices/ilux.js +15 -0
  513. package/devices/ilux.js.map +1 -0
  514. package/devices/imhotepcreation.d.ts +4 -0
  515. package/devices/imhotepcreation.d.ts.map +1 -0
  516. package/devices/imhotepcreation.js +251 -0
  517. package/devices/imhotepcreation.js.map +1 -0
  518. package/devices/immax.d.ts +4 -0
  519. package/devices/immax.d.ts.map +1 -0
  520. package/devices/immax.js +304 -0
  521. package/devices/immax.js.map +1 -0
  522. package/devices/imou.d.ts +4 -0
  523. package/devices/imou.d.ts.map +1 -0
  524. package/devices/imou.js +28 -0
  525. package/devices/imou.js.map +1 -0
  526. package/devices/index.d.ts +13 -0
  527. package/devices/index.d.ts.map +1 -0
  528. package/devices/index.js +642 -0
  529. package/devices/index.js.map +1 -0
  530. package/devices/innr.d.ts +4 -0
  531. package/devices/innr.d.ts.map +1 -0
  532. package/devices/innr.js +878 -0
  533. package/devices/innr.js.map +1 -0
  534. package/devices/inovelli.d.ts +4 -0
  535. package/devices/inovelli.d.ts.map +1 -0
  536. package/devices/inovelli.js +1977 -0
  537. package/devices/inovelli.js.map +1 -0
  538. package/devices/insta.d.ts +4 -0
  539. package/devices/insta.d.ts.map +1 -0
  540. package/devices/insta.js +186 -0
  541. package/devices/insta.js.map +1 -0
  542. package/devices/iolloi.d.ts +4 -0
  543. package/devices/iolloi.d.ts.map +1 -0
  544. package/devices/iolloi.js +16 -0
  545. package/devices/iolloi.js.map +1 -0
  546. package/devices/iotperfect.d.ts +4 -0
  547. package/devices/iotperfect.d.ts.map +1 -0
  548. package/devices/iotperfect.js +62 -0
  549. package/devices/iotperfect.js.map +1 -0
  550. package/devices/iris.d.ts +4 -0
  551. package/devices/iris.d.ts.map +1 -0
  552. package/devices/iris.js +211 -0
  553. package/devices/iris.js.map +1 -0
  554. package/devices/istar.d.ts +4 -0
  555. package/devices/istar.d.ts.map +1 -0
  556. package/devices/istar.js +22 -0
  557. package/devices/istar.js.map +1 -0
  558. package/devices/jasco.d.ts +4 -0
  559. package/devices/jasco.d.ts.map +1 -0
  560. package/devices/jasco.js +34 -0
  561. package/devices/jasco.js.map +1 -0
  562. package/devices/javis.d.ts +4 -0
  563. package/devices/javis.d.ts.map +1 -0
  564. package/devices/javis.js +84 -0
  565. package/devices/javis.js.map +1 -0
  566. package/devices/jethome.d.ts +4 -0
  567. package/devices/jethome.d.ts.map +1 -0
  568. package/devices/jethome.js +124 -0
  569. package/devices/jethome.js.map +1 -0
  570. package/devices/jiawen.d.ts +4 -0
  571. package/devices/jiawen.d.ts.map +1 -0
  572. package/devices/jiawen.js +22 -0
  573. package/devices/jiawen.js.map +1 -0
  574. package/devices/jumitech.d.ts +4 -0
  575. package/devices/jumitech.d.ts.map +1 -0
  576. package/devices/jumitech.js +15 -0
  577. package/devices/jumitech.js.map +1 -0
  578. package/devices/jxuan.d.ts +4 -0
  579. package/devices/jxuan.d.ts.map +1 -0
  580. package/devices/jxuan.js +89 -0
  581. package/devices/jxuan.js.map +1 -0
  582. package/devices/kami.d.ts +4 -0
  583. package/devices/kami.d.ts.map +1 -0
  584. package/devices/kami.js +55 -0
  585. package/devices/kami.js.map +1 -0
  586. package/devices/keen_home.d.ts +4 -0
  587. package/devices/keen_home.d.ts.map +1 -0
  588. package/devices/keen_home.js +160 -0
  589. package/devices/keen_home.js.map +1 -0
  590. package/devices/klikaanklikuit.d.ts +4 -0
  591. package/devices/klikaanklikuit.d.ts.map +1 -0
  592. package/devices/klikaanklikuit.js +22 -0
  593. package/devices/klikaanklikuit.js.map +1 -0
  594. package/devices/kmpcil.d.ts +4 -0
  595. package/devices/kmpcil.d.ts.map +1 -0
  596. package/devices/kmpcil.js +219 -0
  597. package/devices/kmpcil.js.map +1 -0
  598. package/devices/konke.d.ts +4 -0
  599. package/devices/konke.d.ts.map +1 -0
  600. package/devices/konke.js +210 -0
  601. package/devices/konke.js.map +1 -0
  602. package/devices/ksentry.d.ts +4 -0
  603. package/devices/ksentry.d.ts.map +1 -0
  604. package/devices/ksentry.js +15 -0
  605. package/devices/ksentry.js.map +1 -0
  606. package/devices/kurvia.d.ts +4 -0
  607. package/devices/kurvia.d.ts.map +1 -0
  608. package/devices/kurvia.js +20 -0
  609. package/devices/kurvia.js.map +1 -0
  610. package/devices/kwikset.d.ts +4 -0
  611. package/devices/kwikset.d.ts.map +1 -0
  612. package/devices/kwikset.js +157 -0
  613. package/devices/kwikset.js.map +1 -0
  614. package/devices/lanesto.d.ts +4 -0
  615. package/devices/lanesto.d.ts.map +1 -0
  616. package/devices/lanesto.js +15 -0
  617. package/devices/lanesto.js.map +1 -0
  618. package/devices/lds.d.ts +4 -0
  619. package/devices/lds.d.ts.map +1 -0
  620. package/devices/lds.js +15 -0
  621. package/devices/lds.js.map +1 -0
  622. package/devices/led_trading.d.ts +4 -0
  623. package/devices/led_trading.d.ts.map +1 -0
  624. package/devices/led_trading.js +112 -0
  625. package/devices/led_trading.js.map +1 -0
  626. package/devices/ledvance.d.ts +4 -0
  627. package/devices/ledvance.d.ts.map +1 -0
  628. package/devices/ledvance.js +337 -0
  629. package/devices/ledvance.js.map +1 -0
  630. package/devices/leedarson.d.ts +4 -0
  631. package/devices/leedarson.d.ts.map +1 -0
  632. package/devices/leedarson.js +182 -0
  633. package/devices/leedarson.js.map +1 -0
  634. package/devices/legrand.d.ts +4 -0
  635. package/devices/legrand.d.ts.map +1 -0
  636. package/devices/legrand.js +740 -0
  637. package/devices/legrand.js.map +1 -0
  638. package/devices/lellki.d.ts +4 -0
  639. package/devices/lellki.d.ts.map +1 -0
  640. package/devices/lellki.js +169 -0
  641. package/devices/lellki.js.map +1 -0
  642. package/devices/letsled.d.ts +4 -0
  643. package/devices/letsled.d.ts.map +1 -0
  644. package/devices/letsled.js +15 -0
  645. package/devices/letsled.js.map +1 -0
  646. package/devices/letv.d.ts +4 -0
  647. package/devices/letv.d.ts.map +1 -0
  648. package/devices/letv.js +90 -0
  649. package/devices/letv.js.map +1 -0
  650. package/devices/leviton.d.ts +4 -0
  651. package/devices/leviton.d.ts.map +1 -0
  652. package/devices/leviton.js +164 -0
  653. package/devices/leviton.js.map +1 -0
  654. package/devices/lg.d.ts +4 -0
  655. package/devices/lg.d.ts.map +1 -0
  656. package/devices/lg.js +29 -0
  657. package/devices/lg.js.map +1 -0
  658. package/devices/lidl.d.ts +4 -0
  659. package/devices/lidl.d.ts.map +1 -0
  660. package/devices/lidl.js +674 -0
  661. package/devices/lidl.js.map +1 -0
  662. package/devices/lifecontrol.d.ts +4 -0
  663. package/devices/lifecontrol.d.ts.map +1 -0
  664. package/devices/lifecontrol.js +149 -0
  665. package/devices/lifecontrol.js.map +1 -0
  666. package/devices/lightsolutions.d.ts +4 -0
  667. package/devices/lightsolutions.d.ts.map +1 -0
  668. package/devices/lightsolutions.js +36 -0
  669. package/devices/lightsolutions.js.map +1 -0
  670. package/devices/linkind.d.ts +4 -0
  671. package/devices/linkind.d.ts.map +1 -0
  672. package/devices/linkind.js +275 -0
  673. package/devices/linkind.js.map +1 -0
  674. package/devices/linptech.d.ts +4 -0
  675. package/devices/linptech.d.ts.map +1 -0
  676. package/devices/linptech.js +159 -0
  677. package/devices/linptech.js.map +1 -0
  678. package/devices/livingwise.d.ts +4 -0
  679. package/devices/livingwise.d.ts.map +1 -0
  680. package/devices/livingwise.js +119 -0
  681. package/devices/livingwise.js.map +1 -0
  682. package/devices/livolo.d.ts +4 -0
  683. package/devices/livolo.d.ts.map +1 -0
  684. package/devices/livolo.js +422 -0
  685. package/devices/livolo.js.map +1 -0
  686. package/devices/lixee.d.ts +4 -0
  687. package/devices/lixee.d.ts.map +1 -0
  688. package/devices/lixee.js +1926 -0
  689. package/devices/lixee.js.map +1 -0
  690. package/devices/lonsonho.d.ts +4 -0
  691. package/devices/lonsonho.d.ts.map +1 -0
  692. package/devices/lonsonho.js +303 -0
  693. package/devices/lonsonho.js.map +1 -0
  694. package/devices/ls.d.ts +4 -0
  695. package/devices/ls.d.ts.map +1 -0
  696. package/devices/ls.js +68 -0
  697. package/devices/ls.js.map +1 -0
  698. package/devices/lubeez.d.ts +4 -0
  699. package/devices/lubeez.d.ts.map +1 -0
  700. package/devices/lubeez.js +15 -0
  701. package/devices/lubeez.js.map +1 -0
  702. package/devices/lumi.d.ts +4 -0
  703. package/devices/lumi.d.ts.map +1 -0
  704. package/devices/lumi.js +4387 -0
  705. package/devices/lumi.js.map +1 -0
  706. package/devices/lupus.d.ts +4 -0
  707. package/devices/lupus.d.ts.map +1 -0
  708. package/devices/lupus.js +98 -0
  709. package/devices/lupus.js.map +1 -0
  710. package/devices/lutron.d.ts +4 -0
  711. package/devices/lutron.d.ts.map +1 -0
  712. package/devices/lutron.js +71 -0
  713. package/devices/lutron.js.map +1 -0
  714. package/devices/lux.d.ts +4 -0
  715. package/devices/lux.d.ts.map +1 -0
  716. package/devices/lux.js +91 -0
  717. package/devices/lux.js.map +1 -0
  718. package/devices/lytko.d.ts +4 -0
  719. package/devices/lytko.d.ts.map +1 -0
  720. package/devices/lytko.js +788 -0
  721. package/devices/lytko.js.map +1 -0
  722. package/devices/m_elec.d.ts +4 -0
  723. package/devices/m_elec.d.ts.map +1 -0
  724. package/devices/m_elec.js +36 -0
  725. package/devices/m_elec.js.map +1 -0
  726. package/devices/makegood.d.ts +4 -0
  727. package/devices/makegood.d.ts.map +1 -0
  728. package/devices/makegood.js +66 -0
  729. package/devices/makegood.js.map +1 -0
  730. package/devices/matcall_bv.d.ts +4 -0
  731. package/devices/matcall_bv.d.ts.map +1 -0
  732. package/devices/matcall_bv.js +22 -0
  733. package/devices/matcall_bv.js.map +1 -0
  734. package/devices/mazda.d.ts +4 -0
  735. package/devices/mazda.d.ts.map +1 -0
  736. package/devices/mazda.js +174 -0
  737. package/devices/mazda.js.map +1 -0
  738. package/devices/meazon.d.ts +4 -0
  739. package/devices/meazon.d.ts.map +1 -0
  740. package/devices/meazon.js +99 -0
  741. package/devices/meazon.js.map +1 -0
  742. package/devices/mercator.d.ts +4 -0
  743. package/devices/mercator.d.ts.map +1 -0
  744. package/devices/mercator.js +256 -0
  745. package/devices/mercator.js.map +1 -0
  746. package/devices/miboxer.d.ts +4 -0
  747. package/devices/miboxer.d.ts.map +1 -0
  748. package/devices/miboxer.js +93 -0
  749. package/devices/miboxer.js.map +1 -0
  750. package/devices/micromatic.d.ts +4 -0
  751. package/devices/micromatic.d.ts.map +1 -0
  752. package/devices/micromatic.js +15 -0
  753. package/devices/micromatic.js.map +1 -0
  754. package/devices/modular.d.ts +4 -0
  755. package/devices/modular.d.ts.map +1 -0
  756. package/devices/modular.js +15 -0
  757. package/devices/modular.js.map +1 -0
  758. package/devices/moes.d.ts +4 -0
  759. package/devices/moes.d.ts.map +1 -0
  760. package/devices/moes.js +654 -0
  761. package/devices/moes.js.map +1 -0
  762. package/devices/muller_licht.d.ts +4 -0
  763. package/devices/muller_licht.d.ts.map +1 -0
  764. package/devices/muller_licht.js +341 -0
  765. package/devices/muller_licht.js.map +1 -0
  766. package/devices/multiterm.d.ts +4 -0
  767. package/devices/multiterm.d.ts.map +1 -0
  768. package/devices/multiterm.js +123 -0
  769. package/devices/multiterm.js.map +1 -0
  770. package/devices/namron.d.ts +4 -0
  771. package/devices/namron.d.ts.map +1 -0
  772. package/devices/namron.js +1464 -0
  773. package/devices/namron.js.map +1 -0
  774. package/devices/nanoleaf.d.ts +4 -0
  775. package/devices/nanoleaf.d.ts.map +1 -0
  776. package/devices/nanoleaf.js +15 -0
  777. package/devices/nanoleaf.js.map +1 -0
  778. package/devices/nedis.d.ts +4 -0
  779. package/devices/nedis.d.ts.map +1 -0
  780. package/devices/nedis.js +88 -0
  781. package/devices/nedis.js.map +1 -0
  782. package/devices/neo.d.ts +4 -0
  783. package/devices/neo.d.ts.map +1 -0
  784. package/devices/neo.js +558 -0
  785. package/devices/neo.js.map +1 -0
  786. package/devices/net2grid.d.ts +4 -0
  787. package/devices/net2grid.d.ts.map +1 -0
  788. package/devices/net2grid.js +68 -0
  789. package/devices/net2grid.js.map +1 -0
  790. package/devices/netvox.d.ts +4 -0
  791. package/devices/netvox.d.ts.map +1 -0
  792. package/devices/netvox.js +75 -0
  793. package/devices/netvox.js.map +1 -0
  794. package/devices/nexelec.d.ts +4 -0
  795. package/devices/nexelec.d.ts.map +1 -0
  796. package/devices/nexelec.js +15 -0
  797. package/devices/nexelec.js.map +1 -0
  798. package/devices/niko.d.ts +4 -0
  799. package/devices/niko.d.ts.map +1 -0
  800. package/devices/niko.js +495 -0
  801. package/devices/niko.js.map +1 -0
  802. package/devices/ninja_blocks.d.ts +4 -0
  803. package/devices/ninja_blocks.d.ts.map +1 -0
  804. package/devices/ninja_blocks.js +64 -0
  805. package/devices/ninja_blocks.js.map +1 -0
  806. package/devices/niviss.d.ts +4 -0
  807. package/devices/niviss.d.ts.map +1 -0
  808. package/devices/niviss.js +15 -0
  809. package/devices/niviss.js.map +1 -0
  810. package/devices/nodon.d.ts +4 -0
  811. package/devices/nodon.d.ts.map +1 -0
  812. package/devices/nodon.js +386 -0
  813. package/devices/nodon.js.map +1 -0
  814. package/devices/nordtronic.d.ts +4 -0
  815. package/devices/nordtronic.d.ts.map +1 -0
  816. package/devices/nordtronic.js +41 -0
  817. package/devices/nordtronic.js.map +1 -0
  818. package/devices/nous.d.ts +4 -0
  819. package/devices/nous.d.ts.map +1 -0
  820. package/devices/nous.js +151 -0
  821. package/devices/nous.js.map +1 -0
  822. package/devices/novo.d.ts +4 -0
  823. package/devices/novo.d.ts.map +1 -0
  824. package/devices/novo.js +57 -0
  825. package/devices/novo.js.map +1 -0
  826. package/devices/nue_3a.d.ts +4 -0
  827. package/devices/nue_3a.d.ts.map +1 -0
  828. package/devices/nue_3a.js +361 -0
  829. package/devices/nue_3a.js.map +1 -0
  830. package/devices/nyce.d.ts +4 -0
  831. package/devices/nyce.d.ts.map +1 -0
  832. package/devices/nyce.js +134 -0
  833. package/devices/nyce.js.map +1 -0
  834. package/devices/onenuo.d.ts +4 -0
  835. package/devices/onenuo.d.ts.map +1 -0
  836. package/devices/onenuo.js +86 -0
  837. package/devices/onenuo.js.map +1 -0
  838. package/devices/onesti.d.ts +4 -0
  839. package/devices/onesti.d.ts.map +1 -0
  840. package/devices/onesti.js +208 -0
  841. package/devices/onesti.js.map +1 -0
  842. package/devices/openlumi.d.ts +4 -0
  843. package/devices/openlumi.d.ts.map +1 -0
  844. package/devices/openlumi.js +62 -0
  845. package/devices/openlumi.js.map +1 -0
  846. package/devices/orvibo.d.ts +4 -0
  847. package/devices/orvibo.d.ts.map +1 -0
  848. package/devices/orvibo.js +391 -0
  849. package/devices/orvibo.js.map +1 -0
  850. package/devices/osram.d.ts +4 -0
  851. package/devices/osram.d.ts.map +1 -0
  852. package/devices/osram.js +516 -0
  853. package/devices/osram.js.map +1 -0
  854. package/devices/oujiabao.d.ts +4 -0
  855. package/devices/oujiabao.d.ts.map +1 -0
  856. package/devices/oujiabao.js +55 -0
  857. package/devices/oujiabao.js.map +1 -0
  858. package/devices/owon.d.ts +4 -0
  859. package/devices/owon.d.ts.map +1 -0
  860. package/devices/owon.js +478 -0
  861. package/devices/owon.js.map +1 -0
  862. package/devices/ozsmartthings.d.ts +4 -0
  863. package/devices/ozsmartthings.d.ts.map +1 -0
  864. package/devices/ozsmartthings.js +48 -0
  865. package/devices/ozsmartthings.js.map +1 -0
  866. package/devices/paul_neuhaus.d.ts +4 -0
  867. package/devices/paul_neuhaus.d.ts.map +1 -0
  868. package/devices/paul_neuhaus.js +194 -0
  869. package/devices/paul_neuhaus.js.map +1 -0
  870. package/devices/paulmann.d.ts +4 -0
  871. package/devices/paulmann.d.ts.map +1 -0
  872. package/devices/paulmann.js +330 -0
  873. package/devices/paulmann.js.map +1 -0
  874. package/devices/peq.d.ts +4 -0
  875. package/devices/peq.d.ts.map +1 -0
  876. package/devices/peq.js +64 -0
  877. package/devices/peq.js.map +1 -0
  878. package/devices/perenio.d.ts +4 -0
  879. package/devices/perenio.d.ts.map +1 -0
  880. package/devices/perenio.js +468 -0
  881. package/devices/perenio.js.map +1 -0
  882. package/devices/philio.d.ts +4 -0
  883. package/devices/philio.d.ts.map +1 -0
  884. package/devices/philio.js +16 -0
  885. package/devices/philio.js.map +1 -0
  886. package/devices/philips.d.ts +4 -0
  887. package/devices/philips.d.ts.map +1 -0
  888. package/devices/philips.js +4051 -0
  889. package/devices/philips.js.map +1 -0
  890. package/devices/plaid.d.ts +4 -0
  891. package/devices/plaid.d.ts.map +1 -0
  892. package/devices/plaid.js +65 -0
  893. package/devices/plaid.js.map +1 -0
  894. package/devices/plugwise.d.ts +4 -0
  895. package/devices/plugwise.d.ts.map +1 -0
  896. package/devices/plugwise.js +210 -0
  897. package/devices/plugwise.js.map +1 -0
  898. package/devices/profalux.d.ts +4 -0
  899. package/devices/profalux.d.ts.map +1 -0
  900. package/devices/profalux.js +191 -0
  901. package/devices/profalux.js.map +1 -0
  902. package/devices/prolight.d.ts +4 -0
  903. package/devices/prolight.d.ts.map +1 -0
  904. package/devices/prolight.js +115 -0
  905. package/devices/prolight.js.map +1 -0
  906. package/devices/pushok.d.ts +4 -0
  907. package/devices/pushok.d.ts.map +1 -0
  908. package/devices/pushok.js +300 -0
  909. package/devices/pushok.js.map +1 -0
  910. package/devices/qa.d.ts +4 -0
  911. package/devices/qa.d.ts.map +1 -0
  912. package/devices/qa.js +295 -0
  913. package/devices/qa.js.map +1 -0
  914. package/devices/qmotion.d.ts +4 -0
  915. package/devices/qmotion.d.ts.map +1 -0
  916. package/devices/qmotion.js +73 -0
  917. package/devices/qmotion.js.map +1 -0
  918. package/devices/qoto.d.ts +4 -0
  919. package/devices/qoto.d.ts.map +1 -0
  920. package/devices/qoto.js +87 -0
  921. package/devices/qoto.js.map +1 -0
  922. package/devices/quotra.d.ts +4 -0
  923. package/devices/quotra.d.ts.map +1 -0
  924. package/devices/quotra.js +22 -0
  925. package/devices/quotra.js.map +1 -0
  926. package/devices/rademacher.d.ts +4 -0
  927. package/devices/rademacher.d.ts.map +1 -0
  928. package/devices/rademacher.js +29 -0
  929. package/devices/rademacher.js.map +1 -0
  930. package/devices/radium.d.ts +4 -0
  931. package/devices/radium.d.ts.map +1 -0
  932. package/devices/radium.js +15 -0
  933. package/devices/radium.js.map +1 -0
  934. package/devices/raex.d.ts +4 -0
  935. package/devices/raex.d.ts.map +1 -0
  936. package/devices/raex.js +15 -0
  937. package/devices/raex.js.map +1 -0
  938. package/devices/rgb_genie.d.ts +4 -0
  939. package/devices/rgb_genie.d.ts.map +1 -0
  940. package/devices/rgb_genie.js +279 -0
  941. package/devices/rgb_genie.js.map +1 -0
  942. package/devices/robb.d.ts +4 -0
  943. package/devices/robb.d.ts.map +1 -0
  944. package/devices/robb.js +449 -0
  945. package/devices/robb.js.map +1 -0
  946. package/devices/roome.d.ts +4 -0
  947. package/devices/roome.d.ts.map +1 -0
  948. package/devices/roome.js +55 -0
  949. package/devices/roome.js.map +1 -0
  950. package/devices/rtx.d.ts +4 -0
  951. package/devices/rtx.d.ts.map +1 -0
  952. package/devices/rtx.js +151 -0
  953. package/devices/rtx.js.map +1 -0
  954. package/devices/salus_controls.d.ts +4 -0
  955. package/devices/salus_controls.d.ts.map +1 -0
  956. package/devices/salus_controls.js +136 -0
  957. package/devices/salus_controls.js.map +1 -0
  958. package/devices/samotech.d.ts +4 -0
  959. package/devices/samotech.d.ts.map +1 -0
  960. package/devices/samotech.js +75 -0
  961. package/devices/samotech.js.map +1 -0
  962. package/devices/saswell.d.ts +4 -0
  963. package/devices/saswell.d.ts.map +1 -0
  964. package/devices/saswell.js +125 -0
  965. package/devices/saswell.js.map +1 -0
  966. package/devices/sber.d.ts +4 -0
  967. package/devices/sber.d.ts.map +1 -0
  968. package/devices/sber.js +66 -0
  969. package/devices/sber.js.map +1 -0
  970. package/devices/scanproducts.d.ts +4 -0
  971. package/devices/scanproducts.d.ts.map +1 -0
  972. package/devices/scanproducts.js +22 -0
  973. package/devices/scanproducts.js.map +1 -0
  974. package/devices/schlage.d.ts +4 -0
  975. package/devices/schlage.d.ts.map +1 -0
  976. package/devices/schlage.js +64 -0
  977. package/devices/schlage.js.map +1 -0
  978. package/devices/schneider_electric.d.ts +4 -0
  979. package/devices/schneider_electric.d.ts.map +1 -0
  980. package/devices/schneider_electric.js +2187 -0
  981. package/devices/schneider_electric.js.map +1 -0
  982. package/devices/schwaiger.d.ts +4 -0
  983. package/devices/schwaiger.d.ts.map +1 -0
  984. package/devices/schwaiger.js +109 -0
  985. package/devices/schwaiger.js.map +1 -0
  986. package/devices/seastar_intelligence.d.ts +4 -0
  987. package/devices/seastar_intelligence.d.ts.map +1 -0
  988. package/devices/seastar_intelligence.js +20 -0
  989. package/devices/seastar_intelligence.js.map +1 -0
  990. package/devices/securifi.d.ts +4 -0
  991. package/devices/securifi.d.ts.map +1 -0
  992. package/devices/securifi.js +83 -0
  993. package/devices/securifi.js.map +1 -0
  994. package/devices/sengled.d.ts +7 -0
  995. package/devices/sengled.d.ts.map +1 -0
  996. package/devices/sengled.js +358 -0
  997. package/devices/sengled.js.map +1 -0
  998. package/devices/sercomm.d.ts +4 -0
  999. package/devices/sercomm.d.ts.map +1 -0
  1000. package/devices/sercomm.js +189 -0
  1001. package/devices/sercomm.js.map +1 -0
  1002. package/devices/shade_control.d.ts +4 -0
  1003. package/devices/shade_control.d.ts.map +1 -0
  1004. package/devices/shade_control.js +65 -0
  1005. package/devices/shade_control.js.map +1 -0
  1006. package/devices/shenzhen_homa.d.ts +4 -0
  1007. package/devices/shenzhen_homa.d.ts.map +1 -0
  1008. package/devices/shenzhen_homa.js +111 -0
  1009. package/devices/shenzhen_homa.js.map +1 -0
  1010. package/devices/shinasystem.d.ts +4 -0
  1011. package/devices/shinasystem.d.ts.map +1 -0
  1012. package/devices/shinasystem.js +961 -0
  1013. package/devices/shinasystem.js.map +1 -0
  1014. package/devices/shyugj.d.ts +4 -0
  1015. package/devices/shyugj.d.ts.map +1 -0
  1016. package/devices/shyugj.js +21 -0
  1017. package/devices/shyugj.js.map +1 -0
  1018. package/devices/siglis.d.ts +4 -0
  1019. package/devices/siglis.d.ts.map +1 -0
  1020. package/devices/siglis.js +457 -0
  1021. package/devices/siglis.js.map +1 -0
  1022. package/devices/sikom.d.ts +4 -0
  1023. package/devices/sikom.d.ts.map +1 -0
  1024. package/devices/sikom.js +68 -0
  1025. package/devices/sikom.js.map +1 -0
  1026. package/devices/sinope.d.ts +4 -0
  1027. package/devices/sinope.d.ts.map +1 -0
  1028. package/devices/sinope.js +1755 -0
  1029. package/devices/sinope.js.map +1 -0
  1030. package/devices/siterwell.d.ts +4 -0
  1031. package/devices/siterwell.d.ts.map +1 -0
  1032. package/devices/siterwell.js +111 -0
  1033. package/devices/siterwell.js.map +1 -0
  1034. package/devices/skydance.d.ts +4 -0
  1035. package/devices/skydance.d.ts.map +1 -0
  1036. package/devices/skydance.js +156 -0
  1037. package/devices/skydance.js.map +1 -0
  1038. package/devices/slv.d.ts +4 -0
  1039. package/devices/slv.d.ts.map +1 -0
  1040. package/devices/slv.js +38 -0
  1041. package/devices/slv.js.map +1 -0
  1042. package/devices/smart9.d.ts +4 -0
  1043. package/devices/smart9.d.ts.map +1 -0
  1044. package/devices/smart9.js +67 -0
  1045. package/devices/smart9.js.map +1 -0
  1046. package/devices/smart_home_pty.d.ts +4 -0
  1047. package/devices/smart_home_pty.d.ts.map +1 -0
  1048. package/devices/smart_home_pty.js +22 -0
  1049. package/devices/smart_home_pty.js.map +1 -0
  1050. package/devices/smartenit.d.ts +4 -0
  1051. package/devices/smartenit.d.ts.map +1 -0
  1052. package/devices/smartenit.js +81 -0
  1053. package/devices/smartenit.js.map +1 -0
  1054. package/devices/smartthings.d.ts +4 -0
  1055. package/devices/smartthings.d.ts.map +1 -0
  1056. package/devices/smartthings.js +527 -0
  1057. package/devices/smartthings.js.map +1 -0
  1058. package/devices/smartwings.d.ts +4 -0
  1059. package/devices/smartwings.d.ts.map +1 -0
  1060. package/devices/smartwings.js +64 -0
  1061. package/devices/smartwings.js.map +1 -0
  1062. package/devices/smlight.d.ts +4 -0
  1063. package/devices/smlight.d.ts.map +1 -0
  1064. package/devices/smlight.js +22 -0
  1065. package/devices/smlight.js.map +1 -0
  1066. package/devices/sohan_electric.d.ts +4 -0
  1067. package/devices/sohan_electric.d.ts.map +1 -0
  1068. package/devices/sohan_electric.js +20 -0
  1069. package/devices/sohan_electric.js.map +1 -0
  1070. package/devices/solaredge.d.ts +4 -0
  1071. package/devices/solaredge.d.ts.map +1 -0
  1072. package/devices/solaredge.js +15 -0
  1073. package/devices/solaredge.js.map +1 -0
  1074. package/devices/soma.d.ts +4 -0
  1075. package/devices/soma.d.ts.map +1 -0
  1076. package/devices/soma.js +15 -0
  1077. package/devices/soma.js.map +1 -0
  1078. package/devices/somfy.d.ts +4 -0
  1079. package/devices/somfy.d.ts.map +1 -0
  1080. package/devices/somfy.js +88 -0
  1081. package/devices/somfy.js.map +1 -0
  1082. package/devices/somgoms.d.ts +4 -0
  1083. package/devices/somgoms.d.ts.map +1 -0
  1084. package/devices/somgoms.js +84 -0
  1085. package/devices/somgoms.js.map +1 -0
  1086. package/devices/sonoff.d.ts +4 -0
  1087. package/devices/sonoff.d.ts.map +1 -0
  1088. package/devices/sonoff.js +1452 -0
  1089. package/devices/sonoff.js.map +1 -0
  1090. package/devices/sowilo.d.ts +4 -0
  1091. package/devices/sowilo.d.ts.map +1 -0
  1092. package/devices/sowilo.js +15 -0
  1093. package/devices/sowilo.js.map +1 -0
  1094. package/devices/spotmau.d.ts +4 -0
  1095. package/devices/spotmau.d.ts.map +1 -0
  1096. package/devices/spotmau.js +42 -0
  1097. package/devices/spotmau.js.map +1 -0
  1098. package/devices/stelpro.d.ts +4 -0
  1099. package/devices/stelpro.d.ts.map +1 -0
  1100. package/devices/stelpro.js +366 -0
  1101. package/devices/stelpro.js.map +1 -0
  1102. package/devices/sunricher.d.ts +4 -0
  1103. package/devices/sunricher.d.ts.map +1 -0
  1104. package/devices/sunricher.js +1308 -0
  1105. package/devices/sunricher.js.map +1 -0
  1106. package/devices/swann.d.ts +4 -0
  1107. package/devices/swann.d.ts.map +1 -0
  1108. package/devices/swann.js +73 -0
  1109. package/devices/swann.js.map +1 -0
  1110. package/devices/sylvania.d.ts +4 -0
  1111. package/devices/sylvania.d.ts.map +1 -0
  1112. package/devices/sylvania.js +226 -0
  1113. package/devices/sylvania.js.map +1 -0
  1114. package/devices/tapestry.d.ts +4 -0
  1115. package/devices/tapestry.d.ts.map +1 -0
  1116. package/devices/tapestry.js +56 -0
  1117. package/devices/tapestry.js.map +1 -0
  1118. package/devices/tci.d.ts +4 -0
  1119. package/devices/tci.d.ts.map +1 -0
  1120. package/devices/tci.js +29 -0
  1121. package/devices/tci.js.map +1 -0
  1122. package/devices/tech.d.ts +4 -0
  1123. package/devices/tech.d.ts.map +1 -0
  1124. package/devices/tech.js +131 -0
  1125. package/devices/tech.js.map +1 -0
  1126. package/devices/technicolor.d.ts +4 -0
  1127. package/devices/technicolor.d.ts.map +1 -0
  1128. package/devices/technicolor.js +102 -0
  1129. package/devices/technicolor.js.map +1 -0
  1130. package/devices/terncy.d.ts +4 -0
  1131. package/devices/terncy.d.ts.map +1 -0
  1132. package/devices/terncy.js +116 -0
  1133. package/devices/terncy.js.map +1 -0
  1134. package/devices/the_light_group.d.ts +4 -0
  1135. package/devices/the_light_group.d.ts.map +1 -0
  1136. package/devices/the_light_group.js +130 -0
  1137. package/devices/the_light_group.js.map +1 -0
  1138. package/devices/third_reality.d.ts +4 -0
  1139. package/devices/third_reality.d.ts.map +1 -0
  1140. package/devices/third_reality.js +569 -0
  1141. package/devices/third_reality.js.map +1 -0
  1142. package/devices/titan_products.d.ts +4 -0
  1143. package/devices/titan_products.d.ts.map +1 -0
  1144. package/devices/titan_products.js +62 -0
  1145. package/devices/titan_products.js.map +1 -0
  1146. package/devices/tlwglobal.d.ts +4 -0
  1147. package/devices/tlwglobal.d.ts.map +1 -0
  1148. package/devices/tlwglobal.js +32 -0
  1149. package/devices/tlwglobal.js.map +1 -0
  1150. package/devices/tplink.d.ts +4 -0
  1151. package/devices/tplink.d.ts.map +1 -0
  1152. package/devices/tplink.js +82 -0
  1153. package/devices/tplink.js.map +1 -0
  1154. package/devices/trust.d.ts +4 -0
  1155. package/devices/trust.d.ts.map +1 -0
  1156. package/devices/trust.js +183 -0
  1157. package/devices/trust.js.map +1 -0
  1158. package/devices/tubeszb.d.ts +4 -0
  1159. package/devices/tubeszb.d.ts.map +1 -0
  1160. package/devices/tubeszb.js +60 -0
  1161. package/devices/tubeszb.js.map +1 -0
  1162. package/devices/tuya.d.ts +4 -0
  1163. package/devices/tuya.d.ts.map +1 -0
  1164. package/devices/tuya.js +13607 -0
  1165. package/devices/tuya.js.map +1 -0
  1166. package/devices/ubisys.d.ts +4 -0
  1167. package/devices/ubisys.d.ts.map +1 -0
  1168. package/devices/ubisys.js +1300 -0
  1169. package/devices/ubisys.js.map +1 -0
  1170. package/devices/uhome.d.ts +4 -0
  1171. package/devices/uhome.d.ts.map +1 -0
  1172. package/devices/uhome.js +64 -0
  1173. package/devices/uhome.js.map +1 -0
  1174. package/devices/universal_electronics_inc.d.ts +4 -0
  1175. package/devices/universal_electronics_inc.d.ts.map +1 -0
  1176. package/devices/universal_electronics_inc.js +186 -0
  1177. package/devices/universal_electronics_inc.js.map +1 -0
  1178. package/devices/vbled.d.ts +4 -0
  1179. package/devices/vbled.d.ts.map +1 -0
  1180. package/devices/vbled.js +15 -0
  1181. package/devices/vbled.js.map +1 -0
  1182. package/devices/vesternet.d.ts +4 -0
  1183. package/devices/vesternet.d.ts.map +1 -0
  1184. package/devices/vesternet.js +330 -0
  1185. package/devices/vesternet.js.map +1 -0
  1186. package/devices/viessmann.d.ts +4 -0
  1187. package/devices/viessmann.d.ts.map +1 -0
  1188. package/devices/viessmann.js +115 -0
  1189. package/devices/viessmann.js.map +1 -0
  1190. package/devices/villeroy_boch.d.ts +4 -0
  1191. package/devices/villeroy_boch.d.ts.map +1 -0
  1192. package/devices/villeroy_boch.js +22 -0
  1193. package/devices/villeroy_boch.js.map +1 -0
  1194. package/devices/vimar.d.ts +4 -0
  1195. package/devices/vimar.d.ts.map +1 -0
  1196. package/devices/vimar.js +137 -0
  1197. package/devices/vimar.js.map +1 -0
  1198. package/devices/visonic.d.ts +4 -0
  1199. package/devices/visonic.d.ts.map +1 -0
  1200. package/devices/visonic.js +138 -0
  1201. package/devices/visonic.js.map +1 -0
  1202. package/devices/vrey.d.ts +4 -0
  1203. package/devices/vrey.d.ts.map +1 -0
  1204. package/devices/vrey.js +18 -0
  1205. package/devices/vrey.js.map +1 -0
  1206. package/devices/wally.d.ts +4 -0
  1207. package/devices/wally.d.ts.map +1 -0
  1208. package/devices/wally.js +64 -0
  1209. package/devices/wally.js.map +1 -0
  1210. package/devices/waxman.d.ts +4 -0
  1211. package/devices/waxman.d.ts.map +1 -0
  1212. package/devices/waxman.js +85 -0
  1213. package/devices/waxman.js.map +1 -0
  1214. package/devices/weiser.d.ts +4 -0
  1215. package/devices/weiser.d.ts.map +1 -0
  1216. package/devices/weiser.js +103 -0
  1217. package/devices/weiser.js.map +1 -0
  1218. package/devices/weten.d.ts +4 -0
  1219. package/devices/weten.d.ts.map +1 -0
  1220. package/devices/weten.js +89 -0
  1221. package/devices/weten.js.map +1 -0
  1222. package/devices/wirenboard.d.ts +4 -0
  1223. package/devices/wirenboard.d.ts.map +1 -0
  1224. package/devices/wirenboard.js +626 -0
  1225. package/devices/wirenboard.js.map +1 -0
  1226. package/devices/wisdom.d.ts +4 -0
  1227. package/devices/wisdom.d.ts.map +1 -0
  1228. package/devices/wisdom.js +15 -0
  1229. package/devices/wisdom.js.map +1 -0
  1230. package/devices/woolley.d.ts +4 -0
  1231. package/devices/woolley.d.ts.map +1 -0
  1232. package/devices/woolley.js +88 -0
  1233. package/devices/woolley.js.map +1 -0
  1234. package/devices/woox.d.ts +4 -0
  1235. package/devices/woox.d.ts.map +1 -0
  1236. package/devices/woox.js +137 -0
  1237. package/devices/woox.js.map +1 -0
  1238. package/devices/wyze.d.ts +4 -0
  1239. package/devices/wyze.d.ts.map +1 -0
  1240. package/devices/wyze.js +63 -0
  1241. package/devices/wyze.js.map +1 -0
  1242. package/devices/xinghuoyuan.d.ts +4 -0
  1243. package/devices/xinghuoyuan.d.ts.map +1 -0
  1244. package/devices/xinghuoyuan.js +15 -0
  1245. package/devices/xinghuoyuan.js.map +1 -0
  1246. package/devices/xyzroe.d.ts +4 -0
  1247. package/devices/xyzroe.d.ts.map +1 -0
  1248. package/devices/xyzroe.js +519 -0
  1249. package/devices/xyzroe.js.map +1 -0
  1250. package/devices/yale.d.ts +4 -0
  1251. package/devices/yale.d.ts.map +1 -0
  1252. package/devices/yale.js +503 -0
  1253. package/devices/yale.js.map +1 -0
  1254. package/devices/yandex.d.ts +4 -0
  1255. package/devices/yandex.d.ts.map +1 -0
  1256. package/devices/yandex.js +410 -0
  1257. package/devices/yandex.js.map +1 -0
  1258. package/devices/ynoa.d.ts +4 -0
  1259. package/devices/ynoa.d.ts.map +1 -0
  1260. package/devices/ynoa.js +113 -0
  1261. package/devices/ynoa.js.map +1 -0
  1262. package/devices/yookee.d.ts +4 -0
  1263. package/devices/yookee.d.ts.map +1 -0
  1264. package/devices/yookee.js +63 -0
  1265. package/devices/yookee.js.map +1 -0
  1266. package/devices/ysrsai.d.ts +4 -0
  1267. package/devices/ysrsai.d.ts.map +1 -0
  1268. package/devices/ysrsai.js +66 -0
  1269. package/devices/ysrsai.js.map +1 -0
  1270. package/devices/zemismart.d.ts +4 -0
  1271. package/devices/zemismart.d.ts.map +1 -0
  1272. package/devices/zemismart.js +405 -0
  1273. package/devices/zemismart.js.map +1 -0
  1274. package/devices/zen.d.ts +4 -0
  1275. package/devices/zen.d.ts.map +1 -0
  1276. package/devices/zen.js +96 -0
  1277. package/devices/zen.js.map +1 -0
  1278. package/devices/zigbeetlc.d.ts +13 -0
  1279. package/devices/zigbeetlc.d.ts.map +1 -0
  1280. package/devices/zigbeetlc.js +201 -0
  1281. package/devices/zigbeetlc.js.map +1 -0
  1282. package/devices/zipato.d.ts +4 -0
  1283. package/devices/zipato.d.ts.map +1 -0
  1284. package/devices/zipato.js +15 -0
  1285. package/devices/zipato.js.map +1 -0
  1286. package/index.d.ts +21 -0
  1287. package/index.d.ts.map +1 -0
  1288. package/index.js +488 -0
  1289. package/index.js.map +1 -0
  1290. package/lib/color.d.ts +272 -0
  1291. package/lib/color.d.ts.map +1 -0
  1292. package/lib/color.js +765 -0
  1293. package/lib/color.js.map +1 -0
  1294. package/lib/configureKey.d.ts +3 -0
  1295. package/lib/configureKey.d.ts.map +1 -0
  1296. package/lib/configureKey.js +939 -0
  1297. package/lib/configureKey.js.map +1 -0
  1298. package/lib/constants.d.ts +68 -0
  1299. package/lib/constants.d.ts.map +1 -0
  1300. package/lib/constants.js +293 -0
  1301. package/lib/constants.js.map +1 -0
  1302. package/lib/develco.d.ts +15 -0
  1303. package/lib/develco.d.ts.map +1 -0
  1304. package/lib/develco.js +183 -0
  1305. package/lib/develco.js.map +1 -0
  1306. package/lib/ewelink.d.ts +30 -0
  1307. package/lib/ewelink.d.ts.map +1 -0
  1308. package/lib/ewelink.js +718 -0
  1309. package/lib/ewelink.js.map +1 -0
  1310. package/lib/exposes.d.ts +344 -0
  1311. package/lib/exposes.d.ts.map +1 -0
  1312. package/lib/exposes.js +1065 -0
  1313. package/lib/exposes.js.map +1 -0
  1314. package/lib/generateDefinition.d.ts +6 -0
  1315. package/lib/generateDefinition.d.ts.map +1 -0
  1316. package/lib/generateDefinition.js +356 -0
  1317. package/lib/generateDefinition.js.map +1 -0
  1318. package/lib/ikea.d.ts +39 -0
  1319. package/lib/ikea.d.ts.map +1 -0
  1320. package/lib/ikea.js +776 -0
  1321. package/lib/ikea.js.map +1 -0
  1322. package/lib/kelvinToXy.d.ts +8 -0
  1323. package/lib/kelvinToXy.d.ts.map +1 -0
  1324. package/lib/kelvinToXy.js +1914 -0
  1325. package/lib/kelvinToXy.js.map +1 -0
  1326. package/lib/ledvance.d.ts +20 -0
  1327. package/lib/ledvance.d.ts.map +1 -0
  1328. package/lib/ledvance.js +103 -0
  1329. package/lib/ledvance.js.map +1 -0
  1330. package/lib/legacy.d.ts +5128 -0
  1331. package/lib/legacy.d.ts.map +1 -0
  1332. package/lib/legacy.js +6603 -0
  1333. package/lib/legacy.js.map +1 -0
  1334. package/lib/legrand.d.ts +69 -0
  1335. package/lib/legrand.d.ts.map +1 -0
  1336. package/lib/legrand.js +282 -0
  1337. package/lib/legrand.js.map +1 -0
  1338. package/lib/light.d.ts +6 -0
  1339. package/lib/light.d.ts.map +1 -0
  1340. package/lib/light.js +146 -0
  1341. package/lib/light.js.map +1 -0
  1342. package/lib/logger.d.ts +4 -0
  1343. package/lib/logger.d.ts.map +1 -0
  1344. package/lib/logger.js +14 -0
  1345. package/lib/logger.js.map +1 -0
  1346. package/lib/lumi.d.ts +953 -0
  1347. package/lib/lumi.d.ts.map +1 -0
  1348. package/lib/lumi.js +4973 -0
  1349. package/lib/lumi.js.map +1 -0
  1350. package/lib/modernExtend.d.ts +325 -0
  1351. package/lib/modernExtend.d.ts.map +1 -0
  1352. package/lib/modernExtend.js +1995 -0
  1353. package/lib/modernExtend.js.map +1 -0
  1354. package/lib/ota.d.ts +71 -0
  1355. package/lib/ota.d.ts.map +1 -0
  1356. package/lib/ota.js +663 -0
  1357. package/lib/ota.js.map +1 -0
  1358. package/lib/philips.d.ts +84 -0
  1359. package/lib/philips.d.ts.map +1 -0
  1360. package/lib/philips.js +657 -0
  1361. package/lib/philips.js.map +1 -0
  1362. package/lib/reporting.d.ts +58 -0
  1363. package/lib/reporting.d.ts.map +1 -0
  1364. package/lib/reporting.js +336 -0
  1365. package/lib/reporting.js.map +1 -0
  1366. package/lib/store.d.ts +7 -0
  1367. package/lib/store.d.ts.map +1 -0
  1368. package/lib/store.js +56 -0
  1369. package/lib/store.js.map +1 -0
  1370. package/lib/sunricher.d.ts +13 -0
  1371. package/lib/sunricher.d.ts.map +1 -0
  1372. package/lib/sunricher.js +14 -0
  1373. package/lib/sunricher.js.map +1 -0
  1374. package/lib/tuya.d.ts +764 -0
  1375. package/lib/tuya.d.ts.map +1 -0
  1376. package/lib/tuya.js +2425 -0
  1377. package/lib/tuya.js.map +1 -0
  1378. package/lib/types.d.ts +433 -0
  1379. package/lib/types.d.ts.map +1 -0
  1380. package/lib/types.js +4 -0
  1381. package/lib/types.js.map +1 -0
  1382. package/lib/ubisys.d.ts +19 -0
  1383. package/lib/ubisys.d.ts.map +1 -0
  1384. package/lib/ubisys.js +293 -0
  1385. package/lib/ubisys.js.map +1 -0
  1386. package/lib/utils.d.ts +93 -0
  1387. package/lib/utils.d.ts.map +1 -0
  1388. package/lib/utils.js +790 -0
  1389. package/lib/utils.js.map +1 -0
  1390. package/lib/zosung.d.ts +52 -0
  1391. package/lib/zosung.d.ts.map +1 -0
  1392. package/lib/zosung.js +256 -0
  1393. package/lib/zosung.js.map +1 -0
  1394. package/package.json +2 -2
@@ -0,0 +1,2187 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const zigbee_herdsman_1 = require("zigbee-herdsman");
40
+ const fromZigbee_1 = __importDefault(require("../converters/fromZigbee"));
41
+ const toZigbee_1 = __importDefault(require("../converters/toZigbee"));
42
+ const constants = __importStar(require("../lib/constants"));
43
+ const exposes = __importStar(require("../lib/exposes"));
44
+ const modernExtend_1 = require("../lib/modernExtend");
45
+ const reporting = __importStar(require("../lib/reporting"));
46
+ const utils = __importStar(require("../lib/utils"));
47
+ const utils_1 = require("../lib/utils");
48
+ const e = exposes.presets;
49
+ const ea = exposes.access;
50
+ function indicatorMode(endpoint) {
51
+ let description = 'Set Indicator Mode.';
52
+ if (endpoint) {
53
+ description = 'Set Indicator Mode for ' + endpoint + ' switch.';
54
+ }
55
+ return (0, modernExtend_1.enumLookup)({
56
+ name: 'indicator_mode',
57
+ lookup: {
58
+ reverse_with_load: 2,
59
+ consistent_with_load: 0,
60
+ always_off: 3,
61
+ always_on: 1,
62
+ },
63
+ cluster: 'manuSpecificSchneiderLightSwitchConfiguration',
64
+ attribute: 'ledIndication',
65
+ description: description,
66
+ endpointName: endpoint,
67
+ });
68
+ }
69
+ function socketIndicatorMode() {
70
+ return (0, modernExtend_1.enumLookup)({
71
+ name: 'indicator_mode',
72
+ lookup: {
73
+ reverse_with_load: 0,
74
+ consistent_with_load: 1,
75
+ always_off: 2,
76
+ always_on: 3,
77
+ },
78
+ cluster: 'manuSpecificSchneiderFanSwitchConfiguration',
79
+ attribute: 'ledIndication',
80
+ description: 'Set indicator mode',
81
+ });
82
+ }
83
+ function fanIndicatorMode() {
84
+ const description = 'Set Indicator Mode.';
85
+ return (0, modernExtend_1.enumLookup)({
86
+ name: 'indicator_mode',
87
+ lookup: {
88
+ always_on: 3,
89
+ on_with_timeout_but_as_locator: 4,
90
+ on_with_timeout: 5,
91
+ },
92
+ cluster: 'manuSpecificSchneiderFanSwitchConfiguration',
93
+ attribute: 'ledIndication',
94
+ description: description,
95
+ });
96
+ }
97
+ function fanIndicatorOrientation() {
98
+ const description = 'Set Indicator Orientation.';
99
+ return (0, modernExtend_1.enumLookup)({
100
+ name: 'indicator_orientation',
101
+ lookup: {
102
+ horizontal_left: 2,
103
+ horizontal_right: 0,
104
+ vertical_top: 3,
105
+ vertical_bottom: 1,
106
+ },
107
+ cluster: 'manuSpecificSchneiderFanSwitchConfiguration',
108
+ attribute: 'ledOrientation',
109
+ description: description,
110
+ });
111
+ }
112
+ function switchActions(endpoint) {
113
+ let description = 'Set Switch Action.';
114
+ if (endpoint) {
115
+ description = 'Set Switch Action for ' + endpoint + ' Button.';
116
+ }
117
+ return (0, modernExtend_1.enumLookup)({
118
+ name: 'switch_actions',
119
+ lookup: {
120
+ light: 0,
121
+ light_opposite: 254,
122
+ dimmer: 1,
123
+ dimmer_opposite: 253,
124
+ standard_shutter: 2,
125
+ standard_shutter_opposite: 252,
126
+ schneider_shutter: 3,
127
+ schneider_shutter_opposite: 251,
128
+ scene: 4,
129
+ toggle_light: 5,
130
+ toggle_dimmer: 6,
131
+ alternate_light: 7,
132
+ alternate_dimmer: 8,
133
+ not_used: 127,
134
+ },
135
+ cluster: 'manuSpecificSchneiderLightSwitchConfiguration',
136
+ attribute: 'switchActions',
137
+ description: description,
138
+ endpointName: endpoint,
139
+ });
140
+ }
141
+ const schneiderElectricExtend = {
142
+ addVisaConfigurationCluster: (enumDataType) => (0, modernExtend_1.deviceAddCustomCluster)('visaConfiguration', {
143
+ ID: 0xfc04,
144
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SCHNEIDER_ELECTRIC,
145
+ attributes: {
146
+ indicatorLuminanceLevel: { ID: 0x0000, type: enumDataType },
147
+ indicatorColor: { ID: 0x0001, type: enumDataType },
148
+ indicatorMode: { ID: 0x0002, type: enumDataType },
149
+ motorTypeChannel1: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
150
+ motorTypeChannel2: { ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
151
+ curtainStatusChannel1: { ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
152
+ curtainStatusChannel2: { ID: 0x0006, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
153
+ key1EventNotification: { ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
154
+ key2EventNotification: { ID: 0x0021, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
155
+ key3EventNotification: { ID: 0x0022, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
156
+ key4EventNotification: { ID: 0x0023, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
157
+ },
158
+ commands: {},
159
+ commandsResponse: {},
160
+ }),
161
+ visaConfigIndicatorLuminanceLevel: () => {
162
+ return (0, modernExtend_1.enumLookup)({
163
+ name: 'indicator_luminance_level',
164
+ lookup: {
165
+ '100': 0,
166
+ '80': 1,
167
+ '60': 2,
168
+ '40': 3,
169
+ '20': 4,
170
+ '0': 5,
171
+ },
172
+ cluster: 'visaConfiguration',
173
+ attribute: 'indicatorLuminanceLevel',
174
+ description: 'Set indicator luminance Level',
175
+ });
176
+ },
177
+ visaConfigIndicatorColor: () => {
178
+ return (0, modernExtend_1.enumLookup)({
179
+ name: 'indicator_color',
180
+ lookup: {
181
+ white: 0,
182
+ blue: 1,
183
+ },
184
+ cluster: 'visaConfiguration',
185
+ attribute: 'indicatorColor',
186
+ description: 'Set indicator color',
187
+ });
188
+ },
189
+ visaIndicatorMode: ([reverseWithLoad, consistentWithLoad, alwaysOff, alwaysOn]) => {
190
+ return (0, modernExtend_1.enumLookup)({
191
+ name: 'indicator_mode',
192
+ lookup: {
193
+ reverse_with_load: reverseWithLoad,
194
+ consistent_with_load: consistentWithLoad,
195
+ always_off: alwaysOff,
196
+ always_on: alwaysOn,
197
+ },
198
+ cluster: 'visaConfiguration',
199
+ attribute: 'indicatorMode',
200
+ description: 'Set indicator mode for switch',
201
+ });
202
+ },
203
+ visaConfigMotorType: (channel) => {
204
+ const attribute = `motorTypeChannel${channel || ''}`;
205
+ const description = `Set motor type for channel ${channel || ''}`;
206
+ return (0, modernExtend_1.enumLookup)({
207
+ name: 'motor_type' + (channel ? `_${channel}` : ''),
208
+ lookup: {
209
+ ac_motor: 0,
210
+ pulse_motor: 1,
211
+ },
212
+ cluster: 'visaConfiguration',
213
+ attribute: attribute,
214
+ description: description,
215
+ });
216
+ },
217
+ visaConfigCurtainStatus: (channel) => {
218
+ const attribute = `curtainStatusChannel${channel || ''}`;
219
+ const description = `Set curtain status for channel ${channel}`;
220
+ return (0, modernExtend_1.enumLookup)({
221
+ access: 'STATE',
222
+ name: 'curtain_status' + (channel ? `_${channel}` : ''),
223
+ lookup: {
224
+ stop: 0,
225
+ opening: 1,
226
+ closing: 2,
227
+ },
228
+ cluster: 'visaConfiguration',
229
+ attribute: attribute,
230
+ description: description,
231
+ });
232
+ },
233
+ visaWiserCurtain: (endpointNames) => {
234
+ return {
235
+ isModernExtend: true,
236
+ fromZigbee: [
237
+ {
238
+ cluster: 'genLevelCtrl',
239
+ type: ['attributeReport', 'readResponse'],
240
+ convert: (model, msg, publish, options, meta) => {
241
+ const onOffTransitionTime = Number(msg.data['onOffTransitionTime']) / 10;
242
+ const currentLevel = utils.mapNumberRange(Number(msg.data['currentLevel']), 0, 255, 0, 100);
243
+ const transition = (0, utils_1.postfixWithEndpointName)('transition', msg, model, meta);
244
+ const position = (0, utils_1.postfixWithEndpointName)('position', msg, model, meta);
245
+ return {
246
+ [transition]: onOffTransitionTime,
247
+ [position]: currentLevel,
248
+ };
249
+ },
250
+ },
251
+ ],
252
+ toZigbee: [
253
+ {
254
+ key: ['transition', 'position'],
255
+ convertGet: async (entity, key, meta) => {
256
+ await entity.read('genLevelCtrl', ['onOffTransitionTime', 'currentLevel']);
257
+ },
258
+ convertSet: async (entity, key, value, meta) => {
259
+ if (key === 'transition') {
260
+ await entity.write('genLevelCtrl', { onOffTransitionTime: +value * 10 }, utils.getOptions(meta.mapped, entity));
261
+ }
262
+ else if (key === 'position') {
263
+ await entity.command('genLevelCtrl', 'moveToLevelWithOnOff', { level: utils.mapNumberRange(Number(value), 0, 100, 0, 255), transtime: 0 }, utils.getOptions(meta.mapped, entity));
264
+ }
265
+ },
266
+ },
267
+ {
268
+ key: ['state'],
269
+ convertSet: async (entity, key, value, meta) => {
270
+ if (value === 'OPEN') {
271
+ await entity.command('genOnOff', 'on', {}, utils.getOptions(meta.mapped, entity));
272
+ }
273
+ else if (value === 'CLOSE') {
274
+ await entity.command('genOnOff', 'off', {}, utils.getOptions(meta.mapped, entity));
275
+ }
276
+ else if (value === 'STOP') {
277
+ await entity.command('genLevelCtrl', 'stop', {}, utils.getOptions(meta.mapped, entity));
278
+ }
279
+ },
280
+ },
281
+ ],
282
+ exposes: [
283
+ ...endpointNames.map((endpointName) => e.enum('state', ea.SET, ['OPEN', 'CLOSE', 'STOP']).withDescription('State of the curtain').withEndpoint(endpointName)),
284
+ ...endpointNames.map((endpointName) => e
285
+ .numeric('position', ea.ALL)
286
+ .withValueMin(0)
287
+ .withValueMax(100)
288
+ .withUnit('%')
289
+ .withDescription('Position of the curtain')
290
+ .withEndpoint(endpointName)),
291
+ ...endpointNames.map((endpointName) => e
292
+ .numeric('transition', ea.ALL)
293
+ .withValueMin(0)
294
+ .withValueMax(300)
295
+ .withUnit('s')
296
+ .withDescription('Transition time in seconds')
297
+ .withEndpoint(endpointName)),
298
+ ],
299
+ };
300
+ },
301
+ visaKeyEventNotification: (key) => {
302
+ return {
303
+ isModernExtend: true,
304
+ fromZigbee: [
305
+ {
306
+ cluster: 'visaConfiguration',
307
+ type: ['attributeReport'],
308
+ convert: (model, msg, publish, options, meta) => {
309
+ return {
310
+ [`key${key}_event_notification`]: msg.data[`key${key}EventNotification`],
311
+ };
312
+ },
313
+ },
314
+ ],
315
+ };
316
+ },
317
+ dimmingMode: () => {
318
+ const extend = (0, modernExtend_1.enumLookup)({
319
+ name: 'dimmer_mode',
320
+ lookup: {
321
+ Auto: 0,
322
+ 'RL-LED': 3,
323
+ },
324
+ cluster: 'lightingBallastCfg',
325
+ attribute: 'wiserControlMode',
326
+ description: 'Auto detects the correct mode for the ballast. RL-LED may have improved dimming quality for LEDs.',
327
+ entityCategory: 'config',
328
+ });
329
+ extend.configure.push((0, modernExtend_1.setupConfigureForReading)('lightingBallastCfg', ['wiserControlMode']));
330
+ return extend;
331
+ },
332
+ addOccupancyConfigurationCluster: () => (0, modernExtend_1.deviceAddCustomCluster)('occupancyConfiguration', {
333
+ ID: 0xff19,
334
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SCHNEIDER_ELECTRIC,
335
+ attributes: {
336
+ ambienceLightThreshold: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
337
+ occupancyActions: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
338
+ unoccupiedLevelDflt: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
339
+ unoccupiedLevel: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
340
+ },
341
+ commands: {},
342
+ commandsResponse: {},
343
+ }),
344
+ occupancyConfiguration: () => {
345
+ const extend = (0, modernExtend_1.enumLookup)({
346
+ name: 'occupancy_sensitivity',
347
+ lookup: {
348
+ Low: 50,
349
+ Medium: 75,
350
+ High: 100,
351
+ },
352
+ cluster: 'msOccupancySensing',
353
+ attribute: { ID: 0xe003, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
354
+ zigbeeCommandOptions: {
355
+ manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SCHNEIDER_ELECTRIC,
356
+ },
357
+ description: 'Sensitivity of the occupancy sensor',
358
+ entityCategory: 'config',
359
+ });
360
+ const luxScale = (value, type) => {
361
+ if (type === 'from') {
362
+ return Math.round(Math.pow(10, (value - 1) / 10000));
363
+ }
364
+ else {
365
+ return Math.round(10000 * Math.log10(value) + 1);
366
+ }
367
+ };
368
+ const luxThresholdExtend = (0, modernExtend_1.numeric)({
369
+ name: 'ambience_light_threshold',
370
+ cluster: 'occupancyConfiguration',
371
+ attribute: 'ambienceLightThreshold',
372
+ reporting: { min: '10_SECONDS', max: '1_HOUR', change: 5 },
373
+ description: 'Threshold above which occupancy will not trigger the light switch.',
374
+ unit: 'lx',
375
+ scale: luxScale,
376
+ entityCategory: 'config',
377
+ valueMin: 1,
378
+ valueMax: 2000,
379
+ });
380
+ extend.fromZigbee.push(...luxThresholdExtend.fromZigbee);
381
+ extend.toZigbee.push(...luxThresholdExtend.toZigbee);
382
+ extend.exposes.push(...luxThresholdExtend.exposes);
383
+ extend.configure.push((0, modernExtend_1.setupConfigureForReading)('occupancyConfiguration', ['ambienceLightThreshold']));
384
+ return extend;
385
+ },
386
+ };
387
+ const tzLocal = {
388
+ lift_duration: {
389
+ key: ['lift_duration'],
390
+ convertSet: async (entity, key, value, meta) => {
391
+ await entity.write(0x0102, { 0xe000: { value, type: 0x21 } }, { manufacturerCode: zigbee_herdsman_1.Zcl.ManufacturerCode.SCHNEIDER_ELECTRIC });
392
+ return { state: { lift_duration: value } };
393
+ },
394
+ },
395
+ fan_mode: {
396
+ ...toZigbee_1.default.fan_mode,
397
+ convertSet: async (entity, key, value, meta) => {
398
+ utils.assertString(value);
399
+ if (value.toLowerCase() === 'on')
400
+ value = 'low';
401
+ return await toZigbee_1.default.fan_mode.convertSet(entity, key, value, meta);
402
+ },
403
+ },
404
+ };
405
+ const fzLocal = {
406
+ schneider_powertag: {
407
+ cluster: 'greenPower',
408
+ type: ['commandNotification', 'commandCommissioningNotification'],
409
+ convert: async (model, msg, publish, options, meta) => {
410
+ if (msg.type !== 'commandNotification') {
411
+ return;
412
+ }
413
+ const commandID = msg.data.commandID;
414
+ if (utils.hasAlreadyProcessedMessage(msg, model, msg.data.frameCounter, `${msg.device.ieeeAddr}_${commandID}`))
415
+ return;
416
+ const rxAfterTx = msg.data.options & (1 << 11);
417
+ const ret = {};
418
+ switch (commandID) {
419
+ case 0xa1: {
420
+ const attr = msg.data.commandFrame.attributes;
421
+ const clusterID = msg.data.commandFrame.clusterID;
422
+ switch (clusterID) {
423
+ case 2820: {
424
+ // haElectricalMeasurement
425
+ const acCurrentDivisor = attr['acCurrentDivisor'];
426
+ const acVoltageDivisor = attr['acVoltageDivisor'];
427
+ const acFrequencyDivisor = attr['acFrequencyDivisor'];
428
+ const powerDivisor = attr['powerDivisor'];
429
+ if (attr.rmsVoltage !== undefined) {
430
+ ret['voltage_phase_a'] = attr['rmsVoltage'] / acVoltageDivisor;
431
+ }
432
+ if (attr.rmsVoltagePhB !== undefined) {
433
+ ret['voltage_phase_b'] = attr['rmsVoltagePhB'] / acVoltageDivisor;
434
+ }
435
+ if (attr.rmsVoltagePhC !== undefined) {
436
+ ret['voltage_phase_c'] = attr['rmsVoltagePhC'] / acVoltageDivisor;
437
+ }
438
+ if (attr['19200'] !== undefined) {
439
+ ret['voltage_phase_ab'] = attr['19200'] / acVoltageDivisor;
440
+ }
441
+ if (attr['19456'] !== undefined) {
442
+ ret['voltage_phase_bc'] = attr['19456'] / acVoltageDivisor;
443
+ }
444
+ if (attr['19712'] !== undefined) {
445
+ ret['voltage_phase_ca'] = attr['19712'] / acVoltageDivisor;
446
+ }
447
+ if (attr.rmsCurrent !== undefined) {
448
+ ret['current_phase_a'] = attr['rmsCurrent'] / acCurrentDivisor;
449
+ }
450
+ if (attr.rmsCurrentPhB !== undefined) {
451
+ ret['current_phase_b'] = attr['rmsCurrentPhB'] / acCurrentDivisor;
452
+ }
453
+ if (attr.rmsCurrentPhC !== undefined) {
454
+ ret['current_phase_c'] = attr['rmsCurrentPhC'] / acCurrentDivisor;
455
+ }
456
+ if (attr.totalActivePower !== undefined) {
457
+ ret['power'] = (attr['totalActivePower'] * 1000) / powerDivisor;
458
+ }
459
+ if (attr.totalApparentPower !== undefined) {
460
+ ret['power_apparent'] = (attr['totalApparentPower'] * 1000) / powerDivisor;
461
+ }
462
+ if (attr.acFrequency !== undefined) {
463
+ ret['ac_frequency'] = attr['acFrequency'] / acFrequencyDivisor;
464
+ }
465
+ if (attr.activePower !== undefined) {
466
+ ret['power_phase_a'] = (attr['activePower'] * 1000) / powerDivisor;
467
+ }
468
+ if (attr.activePowerPhB !== undefined) {
469
+ ret['power_phase_b'] = (attr['activePowerPhB'] * 1000) / powerDivisor;
470
+ }
471
+ if (attr.activePowerPhC !== undefined) {
472
+ ret['power_phase_c'] = (attr['activePowerPhC'] * 1000) / powerDivisor;
473
+ }
474
+ break;
475
+ }
476
+ case 1794: {
477
+ // seMetering
478
+ const divisor = attr['divisor'];
479
+ if (attr.currentSummDelivered !== undefined) {
480
+ const val = attr['currentSummDelivered'];
481
+ ret['energy'] = val / divisor;
482
+ }
483
+ if (attr['16652'] !== undefined) {
484
+ const val = attr['16652'];
485
+ ret['energy_phase_a'] = val / divisor;
486
+ }
487
+ if (attr['16908'] !== undefined) {
488
+ const val = attr['16908'];
489
+ ret['energy_phase_b'] = val / divisor;
490
+ }
491
+ if (attr['17164'] !== undefined) {
492
+ const val = attr['17164'];
493
+ ret['energy_phase_c'] = val / divisor;
494
+ }
495
+ if (attr.powerFactor !== undefined) {
496
+ ret['power_factor'] = attr['powerFactor'];
497
+ }
498
+ break;
499
+ }
500
+ }
501
+ break;
502
+ }
503
+ case 0xa3:
504
+ // Should handle this cluster as well
505
+ break;
506
+ }
507
+ if (rxAfterTx) {
508
+ // Send Schneider specific ACK to make PowerTag happy
509
+ // @ts-expect-error ignore
510
+ const networkParameters = await msg.device.constructor.adapter.getNetworkParameters();
511
+ const payload = {
512
+ options: 0b000,
513
+ tempMaster: msg.data.gppNwkAddr,
514
+ tempMasterTx: networkParameters.channel - 11,
515
+ srcID: msg.data.srcID,
516
+ gpdCmd: 0xfe,
517
+ gpdPayload: {
518
+ commandID: 0xfe,
519
+ buffer: Buffer.alloc(1), // I hope it's zero initialised
520
+ },
521
+ };
522
+ await msg.endpoint.commandResponse('greenPower', 'response', payload, {
523
+ srcEndpoint: 242,
524
+ disableDefaultResponse: true,
525
+ });
526
+ }
527
+ return ret;
528
+ },
529
+ },
530
+ };
531
+ const definitions = [
532
+ {
533
+ zigbeeModel: ['PUCK/SHUTTER/1'],
534
+ model: 'CCT5015-0001',
535
+ vendor: 'Schneider Electric',
536
+ description: 'Roller shutter module',
537
+ fromZigbee: [fromZigbee_1.default.cover_position_tilt],
538
+ toZigbee: [toZigbee_1.default.cover_position_tilt, toZigbee_1.default.cover_state, tzLocal.lift_duration],
539
+ exposes: [
540
+ e.cover_position(),
541
+ e.numeric('lift_duration', ea.STATE_SET).withUnit('s').withValueMin(0).withValueMax(300).withDescription('Duration of lift'),
542
+ ],
543
+ meta: { coverInverted: true },
544
+ configure: async (device, coordinatorEndpoint) => {
545
+ const endpoint = device.getEndpoint(5);
546
+ await reporting.bind(endpoint, coordinatorEndpoint, ['closuresWindowCovering']);
547
+ await reporting.currentPositionLiftPercentage(endpoint);
548
+ },
549
+ },
550
+ {
551
+ zigbeeModel: ['NHPB/SHUTTER/1'],
552
+ model: 'S520567',
553
+ vendor: 'Schneider Electric',
554
+ description: 'Roller shutter',
555
+ fromZigbee: [fromZigbee_1.default.cover_position_tilt],
556
+ toZigbee: [toZigbee_1.default.cover_position_tilt, toZigbee_1.default.cover_state, tzLocal.lift_duration],
557
+ exposes: [
558
+ e.cover_position(),
559
+ e.numeric('lift_duration', ea.STATE_SET).withUnit('s').withValueMin(0).withValueMax(300).withDescription('Duration of lift'),
560
+ ],
561
+ meta: { coverInverted: true },
562
+ configure: async (device, coordinatorEndpoint) => {
563
+ const endpoint = device.getEndpoint(5);
564
+ await reporting.bind(endpoint, coordinatorEndpoint, ['closuresWindowCovering']);
565
+ await reporting.currentPositionLiftPercentage(endpoint);
566
+ },
567
+ },
568
+ {
569
+ zigbeeModel: ['iTRV'],
570
+ model: 'WV704R0A0902',
571
+ vendor: 'Schneider Electric',
572
+ description: 'Wiser radiator thermostat',
573
+ fromZigbee: [
574
+ fromZigbee_1.default.ignore_basic_report,
575
+ fromZigbee_1.default.ignore_haDiagnostic,
576
+ fromZigbee_1.default.ignore_genOta,
577
+ fromZigbee_1.default.ignore_zclversion_read,
578
+ fromZigbee_1.default.thermostat,
579
+ fromZigbee_1.default.battery,
580
+ fromZigbee_1.default.hvac_user_interface,
581
+ fromZigbee_1.default.wiser_device_info,
582
+ ],
583
+ toZigbee: [toZigbee_1.default.thermostat_occupied_heating_setpoint, toZigbee_1.default.thermostat_keypad_lockout],
584
+ meta: { battery: { voltageToPercentage: { min: 2500, max: 3200 } } },
585
+ exposes: [
586
+ e
587
+ .climate()
588
+ .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5)
589
+ .withLocalTemperature(ea.STATE)
590
+ .withRunningState(['idle', 'heat'], ea.STATE)
591
+ .withPiHeatingDemand(),
592
+ e.battery(),
593
+ e.battery_voltage(),
594
+ e.keypad_lockout().withAccess(ea.ALL),
595
+ ],
596
+ configure: async (device, coordinatorEndpoint) => {
597
+ const endpoint = device.getEndpoint(1);
598
+ const binds = ['genBasic', 'genPowerCfg', 'hvacThermostat', 'haDiagnostic'];
599
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
600
+ await reporting.batteryVoltage(endpoint);
601
+ await reporting.thermostatTemperature(endpoint);
602
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
603
+ await reporting.thermostatPIHeatingDemand(endpoint);
604
+ // bind of hvacUserInterfaceCfg fails with 'Table Full', does this have any effect?
605
+ await endpoint.configureReporting('hvacUserInterfaceCfg', [
606
+ {
607
+ attribute: 'keypadLockout',
608
+ reportableChange: 1,
609
+ minimumReportInterval: constants.repInterval.MINUTE,
610
+ maximumReportInterval: constants.repInterval.HOUR,
611
+ },
612
+ ]);
613
+ },
614
+ },
615
+ {
616
+ zigbeeModel: ['U202DST600ZB'],
617
+ model: 'U202DST600ZB',
618
+ vendor: 'Schneider Electric',
619
+ description: 'EZinstall3 2 gang 2x300W dimmer module',
620
+ extend: [(0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11 } }), (0, modernExtend_1.light)({ endpointNames: ['l1', 'l2'], configureReporting: true })],
621
+ },
622
+ {
623
+ zigbeeModel: ['PUCK/DIMMER/1'],
624
+ model: 'CCT5010-0001',
625
+ vendor: 'Schneider Electric',
626
+ description: 'Micro module dimmer',
627
+ ota: true,
628
+ extend: [(0, modernExtend_1.light)({ configureReporting: true, levelConfig: {} })],
629
+ fromZigbee: [fromZigbee_1.default.wiser_lighting_ballast_configuration],
630
+ toZigbee: [toZigbee_1.default.ballast_config, toZigbee_1.default.wiser_dimmer_mode],
631
+ exposes: [
632
+ e
633
+ .numeric('ballast_minimum_level', ea.ALL)
634
+ .withValueMin(1)
635
+ .withValueMax(254)
636
+ .withDescription('Specifies the minimum light output of the ballast'),
637
+ e
638
+ .numeric('ballast_maximum_level', ea.ALL)
639
+ .withValueMin(1)
640
+ .withValueMax(254)
641
+ .withDescription('Specifies the maximum light output of the ballast'),
642
+ e
643
+ .enum('dimmer_mode', ea.ALL, ['auto', 'rc', 'rl', 'rl_led'])
644
+ .withDescription('Sets dimming mode to autodetect or fixed RC/RL/RL_LED mode (max load is reduced in RL_LED)'),
645
+ ],
646
+ whiteLabel: [{ vendor: 'Elko', model: 'EKO07090' }],
647
+ },
648
+ {
649
+ zigbeeModel: ['PUCK/SWITCH/1'],
650
+ model: 'CCT5011-0001/CCT5011-0002/MEG5011-0001',
651
+ vendor: 'Schneider Electric',
652
+ description: 'Micro module switch',
653
+ ota: true,
654
+ extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: false })],
655
+ whiteLabel: [{ vendor: 'Elko', model: 'EKO07144' }],
656
+ },
657
+ {
658
+ zigbeeModel: ['PUCK/UNIDIM/1'],
659
+ model: 'CCT5010-0003',
660
+ vendor: 'Schneider Electric',
661
+ description: 'Micro module dimmer with neutral lead',
662
+ ota: true,
663
+ extend: [(0, modernExtend_1.light)({ configureReporting: true, levelConfig: {} })],
664
+ fromZigbee: [fromZigbee_1.default.wiser_lighting_ballast_configuration],
665
+ toZigbee: [toZigbee_1.default.ballast_config, toZigbee_1.default.wiser_dimmer_mode],
666
+ exposes: [
667
+ e
668
+ .numeric('ballast_minimum_level', ea.ALL)
669
+ .withValueMin(1)
670
+ .withValueMax(254)
671
+ .withDescription('Specifies the minimum light output of the ballast'),
672
+ e
673
+ .numeric('ballast_maximum_level', ea.ALL)
674
+ .withValueMin(1)
675
+ .withValueMax(254)
676
+ .withDescription('Specifies the maximum light output of the ballast'),
677
+ e
678
+ .enum('dimmer_mode', ea.ALL, ['auto', 'rc', 'rl', 'rl_led'])
679
+ .withDescription('Sets dimming mode to autodetect or fixed RC/RL/RL_LED mode (max load is reduced in RL_LED)'),
680
+ ],
681
+ },
682
+ {
683
+ zigbeeModel: ['CCTFR6730'],
684
+ model: 'CCTFR6730',
685
+ vendor: 'Schneider Electric',
686
+ description: 'Wiser power micromodule',
687
+ whiteLabel: [{ vendor: 'Elko', model: 'EKO20004' }],
688
+ extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: true }), (0, modernExtend_1.electricityMeter)({ cluster: 'metering' }), (0, modernExtend_1.identify)()],
689
+ },
690
+ {
691
+ zigbeeModel: ['NHROTARY/DIMMER/1'],
692
+ model: 'WDE002334',
693
+ vendor: 'Schneider Electric',
694
+ description: 'Rotary dimmer',
695
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.brightness, fromZigbee_1.default.level_config, fromZigbee_1.default.wiser_lighting_ballast_configuration],
696
+ toZigbee: [toZigbee_1.default.light_onoff_brightness, toZigbee_1.default.level_config, toZigbee_1.default.ballast_config, toZigbee_1.default.wiser_dimmer_mode],
697
+ exposes: [
698
+ e.light_brightness().withLevelConfig(),
699
+ e
700
+ .numeric('ballast_minimum_level', ea.ALL)
701
+ .withValueMin(1)
702
+ .withValueMax(254)
703
+ .withDescription('Specifies the minimum light output of the ballast'),
704
+ e
705
+ .numeric('ballast_maximum_level', ea.ALL)
706
+ .withValueMin(1)
707
+ .withValueMax(254)
708
+ .withDescription('Specifies the maximum light output of the ballast'),
709
+ e
710
+ .enum('dimmer_mode', ea.ALL, ['auto', 'rc', 'rl', 'rl_led'])
711
+ .withDescription('Sets dimming mode to autodetect or fixed RC/RL/RL_LED mode (max load is reduced in RL_LED)'),
712
+ ],
713
+ configure: async (device, coordinatorEndpoint) => {
714
+ const endpoint = device.getEndpoint(3);
715
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'lightingBallastCfg']);
716
+ await reporting.onOff(endpoint);
717
+ await reporting.brightness(endpoint);
718
+ },
719
+ },
720
+ {
721
+ zigbeeModel: ['NHROTARY/UNIDIM/1'],
722
+ model: 'NH3516A',
723
+ vendor: 'Schneider Electric',
724
+ description: 'Rotary dimmer',
725
+ extend: [
726
+ (0, modernExtend_1.light)({
727
+ effect: false,
728
+ powerOnBehavior: false,
729
+ color: false,
730
+ configureReporting: true,
731
+ levelConfig: {
732
+ disabledFeatures: ['on_transition_time', 'off_transition_time', 'on_off_transition_time', 'execute_if_off'],
733
+ },
734
+ }),
735
+ (0, modernExtend_1.lightingBallast)(),
736
+ schneiderElectricExtend.dimmingMode(),
737
+ ],
738
+ whiteLabel: [
739
+ { vendor: 'Elko', model: 'EKO07278' },
740
+ { vendor: 'Elko', model: 'EKO07279' },
741
+ { vendor: 'Elko', model: 'EKO07280' },
742
+ { vendor: 'Elko', model: 'EKO07281' },
743
+ { vendor: 'Elko', model: 'EKO30198' },
744
+ { vendor: 'Schneider', model: 'WDE002961' },
745
+ { vendor: 'Schneider', model: 'WDE003961' },
746
+ { vendor: 'Schneider', model: 'WDE004961' },
747
+ ],
748
+ },
749
+ {
750
+ zigbeeModel: ['NHPB/UNIDIM/1'],
751
+ model: 'WDE002960',
752
+ vendor: 'Schneider Electric',
753
+ description: 'Push button dimmer',
754
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.brightness, fromZigbee_1.default.level_config, fromZigbee_1.default.wiser_lighting_ballast_configuration],
755
+ toZigbee: [toZigbee_1.default.light_onoff_brightness, toZigbee_1.default.level_config, toZigbee_1.default.ballast_config, toZigbee_1.default.wiser_dimmer_mode],
756
+ exposes: [
757
+ e.light_brightness().withLevelConfig(),
758
+ e
759
+ .numeric('ballast_minimum_level', ea.ALL)
760
+ .withValueMin(1)
761
+ .withValueMax(254)
762
+ .withDescription('Specifies the minimum light output of the ballast'),
763
+ e
764
+ .numeric('ballast_maximum_level', ea.ALL)
765
+ .withValueMin(1)
766
+ .withValueMax(254)
767
+ .withDescription('Specifies the maximum light output of the ballast'),
768
+ e
769
+ .enum('dimmer_mode', ea.ALL, ['auto', 'rc', 'rl', 'rl_led'])
770
+ .withDescription('Sets dimming mode to autodetect or fixed RC/RL/RL_LED mode (max load is reduced in RL_LED)'),
771
+ ],
772
+ configure: async (device, coordinatorEndpoint) => {
773
+ const endpoint = device.getEndpoint(3);
774
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'lightingBallastCfg']);
775
+ await reporting.onOff(endpoint);
776
+ await reporting.brightness(endpoint);
777
+ },
778
+ },
779
+ {
780
+ zigbeeModel: ['CCT593011_AS'],
781
+ model: '550B1024',
782
+ vendor: 'Schneider Electric',
783
+ description: 'Temperature & humidity sensor',
784
+ fromZigbee: [fromZigbee_1.default.humidity, fromZigbee_1.default.temperature, fromZigbee_1.default.battery],
785
+ toZigbee: [],
786
+ exposes: [e.battery(), e.temperature(), e.humidity()],
787
+ configure: async (device, coordinatorEndpoint) => {
788
+ const endpoint = device.getEndpoint(1);
789
+ const binds = ['msTemperatureMeasurement', 'genPowerCfg', 'msRelativeHumidity'];
790
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
791
+ await reporting.batteryPercentageRemaining(endpoint);
792
+ await reporting.temperature(endpoint);
793
+ await reporting.humidity(endpoint);
794
+ },
795
+ },
796
+ {
797
+ zigbeeModel: ['NHPB/DIMMER/1'],
798
+ model: 'WDE002386',
799
+ vendor: 'Schneider Electric',
800
+ description: 'Push button dimmer',
801
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.brightness, fromZigbee_1.default.level_config, fromZigbee_1.default.lighting_ballast_configuration],
802
+ toZigbee: [toZigbee_1.default.light_onoff_brightness, toZigbee_1.default.level_config, toZigbee_1.default.ballast_config],
803
+ exposes: [
804
+ e.light_brightness().withLevelConfig(),
805
+ e
806
+ .numeric('ballast_minimum_level', ea.ALL)
807
+ .withValueMin(1)
808
+ .withValueMax(254)
809
+ .withDescription('Specifies the minimum light output of the ballast'),
810
+ e
811
+ .numeric('ballast_maximum_level', ea.ALL)
812
+ .withValueMin(1)
813
+ .withValueMax(254)
814
+ .withDescription('Specifies the maximum light output of the ballast'),
815
+ ],
816
+ configure: async (device, coordinatorEndpoint) => {
817
+ const endpoint = device.getEndpoint(3);
818
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'lightingBallastCfg']);
819
+ await reporting.onOff(endpoint);
820
+ await reporting.brightness(endpoint);
821
+ },
822
+ },
823
+ {
824
+ zigbeeModel: ['CH/DIMMER/1'],
825
+ model: '41EPBDWCLMZ/354PBDMBTZ',
826
+ vendor: 'Schneider Electric',
827
+ description: 'Wiser 40/300-Series Module Dimmer',
828
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.brightness, fromZigbee_1.default.level_config, fromZigbee_1.default.lighting_ballast_configuration],
829
+ toZigbee: [toZigbee_1.default.light_onoff_brightness, toZigbee_1.default.level_config, toZigbee_1.default.ballast_config],
830
+ exposes: [
831
+ e.light_brightness(),
832
+ e
833
+ .numeric('ballast_minimum_level', ea.ALL)
834
+ .withValueMin(1)
835
+ .withValueMax(254)
836
+ .withDescription('Specifies the minimum light output of the ballast'),
837
+ e
838
+ .numeric('ballast_maximum_level', ea.ALL)
839
+ .withValueMin(1)
840
+ .withValueMax(254)
841
+ .withDescription('Specifies the maximum light output of the ballast'),
842
+ ],
843
+ ota: true,
844
+ extend: [indicatorMode('smart')],
845
+ meta: { multiEndpoint: true },
846
+ configure: async (device, coordinatorEndpoint) => {
847
+ const endpoint = device.getEndpoint(3);
848
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'lightingBallastCfg']);
849
+ await reporting.onOff(endpoint);
850
+ await reporting.brightness(endpoint);
851
+ },
852
+ endpoint: (device) => {
853
+ return { smart: 21 };
854
+ },
855
+ },
856
+ {
857
+ zigbeeModel: ['CH2AX/SWITCH/1'],
858
+ model: '41E2PBSWMZ/356PB2MBTZ',
859
+ vendor: 'Schneider Electric',
860
+ description: 'Wiser 40/300-Series module switch 2AX',
861
+ ota: true,
862
+ extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: false }), indicatorMode('smart')],
863
+ meta: { multiEndpoint: true },
864
+ configure: async (device, coordinatorEndpoint) => {
865
+ const endpoint = device.getEndpoint(1);
866
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
867
+ await reporting.onOff(endpoint);
868
+ },
869
+ endpoint: (device) => {
870
+ return { smart: 21 };
871
+ },
872
+ },
873
+ {
874
+ zigbeeModel: ['CH10AX/SWITCH/1'],
875
+ model: '41E10PBSWMZ-VW',
876
+ vendor: 'Schneider Electric',
877
+ description: 'Wiser 40/300-Series module switch 10AX with ControlLink',
878
+ ota: true,
879
+ extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: false }), indicatorMode('smart')],
880
+ meta: { multiEndpoint: true },
881
+ configure: async (device, coordinatorEndpoint) => {
882
+ const endpoint = device.getEndpoint(1);
883
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
884
+ await reporting.onOff(endpoint);
885
+ },
886
+ endpoint: (device) => {
887
+ return { smart: 21 };
888
+ },
889
+ },
890
+ {
891
+ zigbeeModel: ['CHFAN/SWITCH/1'],
892
+ model: '41ECSFWMZ-VW',
893
+ vendor: 'Schneider Electric',
894
+ description: 'Wiser 40/300-Series Module AC Fan Controller',
895
+ fromZigbee: [fromZigbee_1.default.fan],
896
+ toZigbee: [tzLocal.fan_mode],
897
+ exposes: [e.fan().withModes(['off', 'low', 'medium', 'high', 'on'])],
898
+ ota: true,
899
+ extend: [fanIndicatorMode(), fanIndicatorOrientation()],
900
+ configure: async (device, coordinatorEndpoint) => {
901
+ const endpoint = device.getEndpoint(7);
902
+ await reporting.bind(endpoint, coordinatorEndpoint, ['hvacFanCtrl']);
903
+ await reporting.fanMode(endpoint);
904
+ },
905
+ },
906
+ {
907
+ zigbeeModel: ['SMARTPLUG/1'],
908
+ model: 'CCT711119',
909
+ vendor: 'Schneider Electric',
910
+ description: 'Wiser smart plug',
911
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.electrical_measurement, fromZigbee_1.default.metering, fromZigbee_1.default.power_on_behavior],
912
+ toZigbee: [toZigbee_1.default.on_off, toZigbee_1.default.power_on_behavior, toZigbee_1.default.electrical_measurement_power],
913
+ exposes: [
914
+ e.switch(),
915
+ e.power().withAccess(ea.STATE_GET),
916
+ e.energy(),
917
+ e.enum('power_on_behavior', ea.ALL, ['off', 'previous', 'on']).withDescription('Controls the behaviour when the device is powered on'),
918
+ ],
919
+ configure: async (device, coordinatorEndpoint) => {
920
+ const endpoint = device.getEndpoint(1);
921
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
922
+ await reporting.onOff(endpoint);
923
+ // only activePower seems to be support, although compliance document states otherwise
924
+ await endpoint.read('haElectricalMeasurement', ['acPowerMultiplier', 'acPowerDivisor']);
925
+ await reporting.activePower(endpoint);
926
+ await reporting.readMeteringMultiplierDivisor(endpoint);
927
+ await reporting.currentSummDelivered(endpoint, { min: 60, change: 1 });
928
+ },
929
+ },
930
+ {
931
+ zigbeeModel: ['U201DST600ZB'],
932
+ model: 'U201DST600ZB',
933
+ vendor: 'Schneider Electric',
934
+ description: 'EZinstall3 1 gang 550W dimmer module',
935
+ extend: [(0, modernExtend_1.light)({ configureReporting: true })],
936
+ },
937
+ {
938
+ zigbeeModel: ['U201SRY2KWZB'],
939
+ model: 'U201SRY2KWZB',
940
+ vendor: 'Schneider Electric',
941
+ description: 'Ulti 240V 9.1 A 1 gang relay switch impress switch module, amber LED',
942
+ extend: [(0, modernExtend_1.onOff)()],
943
+ },
944
+ {
945
+ zigbeeModel: ['CCTFR6100'],
946
+ model: 'CCTFR6100Z3',
947
+ vendor: 'Schneider Electric',
948
+ description: 'Wiser radiator thermostat',
949
+ fromZigbee: [
950
+ fromZigbee_1.default.ignore_basic_report,
951
+ fromZigbee_1.default.ignore_haDiagnostic,
952
+ fromZigbee_1.default.ignore_genOta,
953
+ fromZigbee_1.default.ignore_zclversion_read,
954
+ fromZigbee_1.default.thermostat,
955
+ fromZigbee_1.default.battery,
956
+ fromZigbee_1.default.hvac_user_interface,
957
+ fromZigbee_1.default.wiser_device_info,
958
+ ],
959
+ toZigbee: [toZigbee_1.default.thermostat_occupied_heating_setpoint, toZigbee_1.default.thermostat_keypad_lockout],
960
+ exposes: [
961
+ e
962
+ .climate()
963
+ .withSetpoint('occupied_heating_setpoint', 7, 30, 1)
964
+ .withLocalTemperature(ea.STATE)
965
+ .withRunningState(['idle', 'heat'], ea.STATE)
966
+ .withPiHeatingDemand(),
967
+ ],
968
+ configure: async (device, coordinatorEndpoint) => {
969
+ const endpoint = device.getEndpoint(1);
970
+ const binds = ['genBasic', 'genPowerCfg', 'hvacThermostat', 'haDiagnostic'];
971
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
972
+ await reporting.batteryVoltage(endpoint);
973
+ await reporting.thermostatTemperature(endpoint);
974
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
975
+ await reporting.thermostatPIHeatingDemand(endpoint);
976
+ // bind of hvacUserInterfaceCfg fails with 'Table Full', does this have any effect?
977
+ await endpoint.configureReporting('hvacUserInterfaceCfg', [
978
+ {
979
+ attribute: 'keypadLockout',
980
+ reportableChange: 1,
981
+ minimumReportInterval: constants.repInterval.MINUTE,
982
+ maximumReportInterval: constants.repInterval.HOUR,
983
+ },
984
+ ]);
985
+ },
986
+ },
987
+ {
988
+ zigbeeModel: ['NHPB/SWITCH/1'],
989
+ model: 'S520530W',
990
+ vendor: 'Schneider Electric',
991
+ description: 'Odace connectable relay switch 10A',
992
+ extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: false })],
993
+ },
994
+ {
995
+ zigbeeModel: ['U202SRY2KWZB'],
996
+ model: 'U202SRY2KWZB',
997
+ vendor: 'Schneider Electric',
998
+ description: 'Ulti 240V 9.1 A 2 gangs relay switch impress switch module, amber LED',
999
+ extend: [(0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11 } }), (0, modernExtend_1.onOff)({ endpointNames: ['l1', 'l2'] })],
1000
+ },
1001
+ {
1002
+ zigbeeModel: ['1GANG/SHUTTER/1'],
1003
+ model: 'MEG5113-0300/MEG5165-0000',
1004
+ vendor: 'Schneider Electric',
1005
+ description: 'Merten MEG5165 PlusLink Shutter insert with Merten Wiser System M Push Button (1fold)',
1006
+ fromZigbee: [fromZigbee_1.default.cover_position_tilt, fromZigbee_1.default.command_cover_close, fromZigbee_1.default.command_cover_open, fromZigbee_1.default.command_cover_stop],
1007
+ toZigbee: [toZigbee_1.default.cover_position_tilt, toZigbee_1.default.cover_state, tzLocal.lift_duration],
1008
+ exposes: [
1009
+ e.cover_position(),
1010
+ e.numeric('lift_duration', ea.STATE_SET).withUnit('s').withValueMin(0).withValueMax(300).withDescription('Duration of lift'),
1011
+ ],
1012
+ meta: { coverInverted: true },
1013
+ configure: async (device, coordinatorEndpoint) => {
1014
+ const endpoint = device.getEndpoint(1) || device.getEndpoint(5);
1015
+ await reporting.bind(endpoint, coordinatorEndpoint, ['closuresWindowCovering']);
1016
+ await reporting.currentPositionLiftPercentage(endpoint);
1017
+ },
1018
+ },
1019
+ {
1020
+ zigbeeModel: ['1GANG/DIMMER/1'],
1021
+ model: 'MEG5116-0300/MEG5171-0000',
1022
+ vendor: 'Schneider Electric',
1023
+ description: 'Merten MEG5171 PlusLink Dimmer insert with Merten Wiser System M Push Button (1fold)',
1024
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.brightness, fromZigbee_1.default.level_config, fromZigbee_1.default.wiser_lighting_ballast_configuration],
1025
+ toZigbee: [toZigbee_1.default.light_onoff_brightness, toZigbee_1.default.level_config, toZigbee_1.default.ballast_config, toZigbee_1.default.wiser_dimmer_mode],
1026
+ exposes: [
1027
+ e.light_brightness().withLevelConfig(),
1028
+ e
1029
+ .numeric('ballast_minimum_level', ea.ALL)
1030
+ .withValueMin(1)
1031
+ .withValueMax(254)
1032
+ .withDescription('Specifies the minimum light output of the ballast'),
1033
+ e
1034
+ .numeric('ballast_maximum_level', ea.ALL)
1035
+ .withValueMin(1)
1036
+ .withValueMax(254)
1037
+ .withDescription('Specifies the maximum light output of the ballast'),
1038
+ e
1039
+ .enum('dimmer_mode', ea.ALL, ['auto', 'rc', 'rl', 'rl_led'])
1040
+ .withDescription('Sets dimming mode to autodetect or fixed RC/RL/RL_LED mode (max load is reduced in RL_LED)'),
1041
+ ],
1042
+ extend: [indicatorMode(), switchActions()],
1043
+ configure: async (device, coordinatorEndpoint) => {
1044
+ const endpoint = device.getEndpoint(3);
1045
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'lightingBallastCfg']);
1046
+ await reporting.onOff(endpoint);
1047
+ await reporting.brightness(endpoint);
1048
+ },
1049
+ },
1050
+ {
1051
+ zigbeeModel: ['2GANG/DIMMER/1'],
1052
+ model: 'MEG5126-0300/MEG5171-0000',
1053
+ vendor: 'Schneider Electric',
1054
+ description: 'Merten MEG5171 PlusLink Dimmer insert with Merten Wiser System M Push Button (2fold)',
1055
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.brightness, fromZigbee_1.default.level_config, fromZigbee_1.default.wiser_lighting_ballast_configuration],
1056
+ toZigbee: [toZigbee_1.default.light_onoff_brightness, toZigbee_1.default.level_config, toZigbee_1.default.ballast_config, toZigbee_1.default.wiser_dimmer_mode],
1057
+ exposes: [
1058
+ e.light_brightness().withLevelConfig(),
1059
+ e
1060
+ .numeric('ballast_minimum_level', ea.ALL)
1061
+ .withValueMin(1)
1062
+ .withValueMax(254)
1063
+ .withDescription('Specifies the minimum light output of the ballast'),
1064
+ e
1065
+ .numeric('ballast_maximum_level', ea.ALL)
1066
+ .withValueMin(1)
1067
+ .withValueMax(254)
1068
+ .withDescription('Specifies the maximum light output of the ballast'),
1069
+ e
1070
+ .enum('dimmer_mode', ea.ALL, ['auto', 'rc', 'rl', 'rl_led'])
1071
+ .withDescription('Sets dimming mode to autodetect or fixed RC/RL/RL_LED mode (max load is reduced in RL_LED)'),
1072
+ ],
1073
+ extend: [indicatorMode('right'), indicatorMode('left'), switchActions('right'), switchActions('left')],
1074
+ meta: { multiEndpoint: true },
1075
+ configure: async (device, coordinatorEndpoint) => {
1076
+ const endpoint = device.getEndpoint(3);
1077
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'lightingBallastCfg']);
1078
+ await reporting.onOff(endpoint);
1079
+ await reporting.brightness(endpoint);
1080
+ },
1081
+ endpoint: (device) => {
1082
+ return { right: 21, left: 22 };
1083
+ },
1084
+ },
1085
+ {
1086
+ zigbeeModel: ['2GANG/DIMMER/2'],
1087
+ model: 'MEG5126-0300/MEG5172-0000',
1088
+ vendor: 'Schneider Electric',
1089
+ description: 'Merten MEG5172 PlusLink Dimmer insert with Merten Wiser System M Push Button (2fold)',
1090
+ fromZigbee: [fromZigbee_1.default.wiser_lighting_ballast_configuration],
1091
+ toZigbee: [toZigbee_1.default.ballast_config, toZigbee_1.default.wiser_dimmer_mode],
1092
+ exposes: [
1093
+ e
1094
+ .numeric('ballast_minimum_level', ea.ALL)
1095
+ .withValueMin(1)
1096
+ .withValueMax(254)
1097
+ .withDescription('Specifies the minimum light output of the ballast'),
1098
+ e
1099
+ .numeric('ballast_maximum_level', ea.ALL)
1100
+ .withValueMin(1)
1101
+ .withValueMax(254)
1102
+ .withDescription('Specifies the maximum light output of the ballast'),
1103
+ e
1104
+ .enum('dimmer_mode', ea.ALL, ['auto', 'rc', 'rl', 'rl_led'])
1105
+ .withDescription('Sets dimming mode to autodetect or fixed RC/RL/RL_LED mode (max load is reduced in RL_LED)'),
1106
+ ],
1107
+ extend: [
1108
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { left: 4, right: 3, left_btn: 22, right_btn: 21 } }),
1109
+ (0, modernExtend_1.light)({ endpointNames: ['left', 'right'], configureReporting: true }),
1110
+ switchActions('left_btn'),
1111
+ switchActions('right_btn'),
1112
+ indicatorMode('left_btn'),
1113
+ ],
1114
+ },
1115
+ {
1116
+ zigbeeModel: ['1GANG/SWITCH/1'],
1117
+ model: 'MEG5161-0000',
1118
+ vendor: 'Schneider Electric',
1119
+ description: 'Merten PlusLink relay insert with Merten Wiser system M push button (1fold)',
1120
+ extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: false })],
1121
+ },
1122
+ {
1123
+ zigbeeModel: ['LK Switch'],
1124
+ model: '545D6514',
1125
+ vendor: 'Schneider Electric',
1126
+ description: 'LK FUGA wiser wireless double relay',
1127
+ meta: { multiEndpoint: true },
1128
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.command_on, fromZigbee_1.default.command_off],
1129
+ toZigbee: [toZigbee_1.default.on_off],
1130
+ endpoint: (device) => {
1131
+ return { l1: 1, l2: 2, s1: 21, s2: 22, s3: 23, s4: 24 };
1132
+ },
1133
+ exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2'), e.action(['on_s*', 'off_s*'])],
1134
+ configure: async (device, coordinatorEndpoint) => {
1135
+ device.endpoints.forEach(async (ep) => {
1136
+ if (ep.outputClusters.includes(6) || ep.ID <= 2) {
1137
+ await reporting.bind(ep, coordinatorEndpoint, ['genOnOff']);
1138
+ if (ep.ID <= 2) {
1139
+ await reporting.onOff(ep);
1140
+ }
1141
+ }
1142
+ });
1143
+ },
1144
+ },
1145
+ {
1146
+ zigbeeModel: ['LK Dimmer'],
1147
+ model: '545D6102',
1148
+ vendor: 'Schneider Electric',
1149
+ description: 'LK FUGA wiser wireless dimmer',
1150
+ fromZigbee: [fromZigbee_1.default.schneider_lighting_ballast_configuration, fromZigbee_1.default.command_recall, fromZigbee_1.default.command_on, fromZigbee_1.default.command_off, fromZigbee_1.default.command_move, fromZigbee_1.default.command_stop],
1151
+ toZigbee: [toZigbee_1.default.ballast_config, toZigbee_1.default.schneider_dimmer_mode],
1152
+ endpoint: (device) => {
1153
+ return { l1: 3, s1: 21, s2: 22, s3: 23, s4: 24 };
1154
+ },
1155
+ meta: { multiEndpoint: true },
1156
+ extend: [(0, modernExtend_1.light)({ endpointNames: ['l1'], configureReporting: true, levelConfig: {} })],
1157
+ exposes: [
1158
+ e
1159
+ .numeric('ballast_minimum_level', ea.ALL)
1160
+ .withValueMin(1)
1161
+ .withValueMax(254)
1162
+ .withDescription('Specifies the minimum light output of the ballast')
1163
+ .withEndpoint('l1'),
1164
+ e
1165
+ .numeric('ballast_maximum_level', ea.ALL)
1166
+ .withValueMin(1)
1167
+ .withValueMax(254)
1168
+ .withDescription('Specifies the maximum light output of the ballast')
1169
+ .withEndpoint('l1'),
1170
+ e.enum('dimmer_mode', ea.ALL, ['RC', 'RL']).withDescription('Controls Capacitive or Inductive Dimming Mode').withEndpoint('l1'),
1171
+ e.action(['on', 'off', 'brightness_move_up', 'brightness_move_down', 'brightness_stop', 'recall_*']),
1172
+ ],
1173
+ configure: async (device, coordinatorEndpoint) => {
1174
+ // Configure the dimmer actuator endpoint
1175
+ const endpoint = device.getEndpoint(3);
1176
+ await reporting.bind(endpoint, coordinatorEndpoint, ['lightingBallastCfg']);
1177
+ // Configure the four front switches
1178
+ device.endpoints.forEach(async (ep) => {
1179
+ if (21 <= ep.ID && ep.ID <= 22) {
1180
+ await reporting.bind(ep, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
1181
+ }
1182
+ else if (23 <= ep.ID && ep.ID <= 24) {
1183
+ await reporting.bind(ep, coordinatorEndpoint, ['genScenes']);
1184
+ }
1185
+ });
1186
+ },
1187
+ onEvent: async (type, data, device) => {
1188
+ // Record the factory default bindings for easy removal/change after deviceInterview
1189
+ if (type === 'deviceInterview') {
1190
+ const dimmer = device.getEndpoint(3);
1191
+ device.endpoints.forEach(async (ep) => {
1192
+ if (21 <= ep.ID && ep.ID <= 22) {
1193
+ ep.addBinding('genOnOff', dimmer);
1194
+ ep.addBinding('genLevelCtrl', dimmer);
1195
+ }
1196
+ if (23 <= ep.ID && ep.ID <= 24) {
1197
+ ep.addBinding('genScenes', dimmer);
1198
+ }
1199
+ });
1200
+ }
1201
+ },
1202
+ },
1203
+ {
1204
+ zigbeeModel: ['FLS/AIRLINK/4'],
1205
+ model: '550D6001',
1206
+ vendor: 'Schneider Electric',
1207
+ description: 'LK FUGA wiser wireless battery 4 button switch',
1208
+ fromZigbee: [fromZigbee_1.default.command_on, fromZigbee_1.default.command_off, fromZigbee_1.default.command_move, fromZigbee_1.default.command_stop, fromZigbee_1.default.battery],
1209
+ toZigbee: [],
1210
+ endpoint: (device) => {
1211
+ return { top: 21, bottom: 22 };
1212
+ },
1213
+ whiteLabel: [{ vendor: 'Elko', model: 'EKO07117' }],
1214
+ meta: { multiEndpoint: true },
1215
+ exposes: [
1216
+ e.action([
1217
+ 'on_top',
1218
+ 'off_top',
1219
+ 'on_bottom',
1220
+ 'off_bottom',
1221
+ 'brightness_move_up_top',
1222
+ 'brightness_stop_top',
1223
+ 'brightness_move_down_top',
1224
+ 'brightness_stop_top',
1225
+ 'brightness_move_up_bottom',
1226
+ 'brightness_stop_bottom',
1227
+ 'brightness_move_down_bottom',
1228
+ 'brightness_stop_bottom',
1229
+ ]),
1230
+ e.battery(),
1231
+ ],
1232
+ configure: async (device, coordinatorEndpoint) => {
1233
+ // When in 2-gang operation mode, unit operates out of endpoints 21 and 22, otherwise just 21
1234
+ const topButtonsEndpoint = device.getEndpoint(21);
1235
+ await reporting.bind(topButtonsEndpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl', 'genPowerCfg']);
1236
+ await reporting.batteryPercentageRemaining(topButtonsEndpoint);
1237
+ const bottomButtonsEndpoint = device.getEndpoint(22);
1238
+ await reporting.bind(bottomButtonsEndpoint, coordinatorEndpoint, ['genOnOff', 'genLevelCtrl']);
1239
+ },
1240
+ },
1241
+ {
1242
+ fingerprint: [{ modelID: 'CCTFR6700', manufacturerName: 'Schneider Electric' }],
1243
+ model: 'CCTFR6700',
1244
+ vendor: 'Schneider Electric',
1245
+ description: 'Heating thermostat',
1246
+ fromZigbee: [fromZigbee_1.default.thermostat, fromZigbee_1.default.metering, fromZigbee_1.default.schneider_pilot_mode],
1247
+ toZigbee: [
1248
+ toZigbee_1.default.schneider_temperature_measured_value,
1249
+ toZigbee_1.default.thermostat_system_mode,
1250
+ toZigbee_1.default.thermostat_running_state,
1251
+ toZigbee_1.default.thermostat_local_temperature,
1252
+ toZigbee_1.default.thermostat_occupied_heating_setpoint,
1253
+ toZigbee_1.default.thermostat_control_sequence_of_operation,
1254
+ toZigbee_1.default.schneider_pilot_mode,
1255
+ toZigbee_1.default.schneider_temperature_measured_value,
1256
+ ],
1257
+ exposes: [
1258
+ e.power(),
1259
+ e.energy(),
1260
+ e.enum('schneider_pilot_mode', ea.ALL, ['contactor', 'pilot']).withDescription('Controls piloting mode'),
1261
+ e
1262
+ .climate()
1263
+ .withSetpoint('occupied_heating_setpoint', 4, 30, 0.5)
1264
+ .withLocalTemperature()
1265
+ .withSystemMode(['off', 'auto', 'heat'])
1266
+ .withPiHeatingDemand(),
1267
+ ],
1268
+ configure: async (device, coordinatorEndpoint) => {
1269
+ const endpoint1 = device.getEndpoint(1);
1270
+ const endpoint2 = device.getEndpoint(2);
1271
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['hvacThermostat']);
1272
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint1);
1273
+ await reporting.thermostatPIHeatingDemand(endpoint1);
1274
+ await reporting.bind(endpoint2, coordinatorEndpoint, ['seMetering']);
1275
+ await reporting.instantaneousDemand(endpoint2, { min: 0, max: 60, change: 1 });
1276
+ await reporting.currentSummDelivered(endpoint2, { min: 0, max: 60, change: 1 });
1277
+ },
1278
+ },
1279
+ {
1280
+ fingerprint: [{ modelID: 'Thermostat', manufacturerName: 'Schneider Electric' }],
1281
+ model: 'CCTFR6400',
1282
+ vendor: 'Schneider Electric',
1283
+ description: 'Temperature/Humidity measurement with thermostat interface',
1284
+ fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.schneider_temperature, fromZigbee_1.default.humidity, fromZigbee_1.default.thermostat, fromZigbee_1.default.schneider_ui_action],
1285
+ toZigbee: [
1286
+ toZigbee_1.default.schneider_thermostat_system_mode,
1287
+ toZigbee_1.default.schneider_thermostat_occupied_heating_setpoint,
1288
+ toZigbee_1.default.schneider_thermostat_control_sequence_of_operation,
1289
+ toZigbee_1.default.schneider_thermostat_pi_heating_demand,
1290
+ toZigbee_1.default.schneider_thermostat_keypad_lockout,
1291
+ ],
1292
+ exposes: [
1293
+ e.keypad_lockout().withAccess(ea.STATE_SET),
1294
+ e.humidity(),
1295
+ e.battery(),
1296
+ e.battery_voltage(),
1297
+ e.action(['screen_sleep', 'screen_wake', 'button_press_plus_down', 'button_press_center_down', 'button_press_minus_down']),
1298
+ e.climate().withSetpoint('occupied_heating_setpoint', 4, 30, 0.5, ea.SET).withLocalTemperature(ea.STATE).withPiHeatingDemand(ea.SET),
1299
+ ],
1300
+ meta: { battery: { dontDividePercentage: true } },
1301
+ configure: async (device, coordinatorEndpoint) => {
1302
+ const endpoint1 = device.getEndpoint(1);
1303
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['genPowerCfg', 'hvacThermostat', 'msTemperatureMeasurement', 'msRelativeHumidity']);
1304
+ await reporting.temperature(endpoint1);
1305
+ await reporting.humidity(endpoint1);
1306
+ await reporting.batteryPercentageRemaining(endpoint1);
1307
+ endpoint1.saveClusterAttributeKeyValue('genBasic', { zclVersion: 3 });
1308
+ endpoint1.saveClusterAttributeKeyValue('hvacThermostat', { schneiderWiserSpecific: 1, systemMode: 4, ctrlSeqeOfOper: 2 });
1309
+ endpoint1.saveClusterAttributeKeyValue('hvacUserInterfaceCfg', { keypadLockout: 0 });
1310
+ },
1311
+ },
1312
+ {
1313
+ zigbeeModel: ['EH-ZB-SPD-V2'],
1314
+ model: 'EER40030',
1315
+ vendor: 'Schneider Electric',
1316
+ description: 'Zigbee smart plug with power meter',
1317
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.metering],
1318
+ toZigbee: [toZigbee_1.default.on_off],
1319
+ exposes: [e.switch(), e.power(), e.energy()],
1320
+ configure: async (device, coordinatorEndpoint) => {
1321
+ const endpoint = device.getEndpoint(11);
1322
+ const options = { disableDefaultResponse: true };
1323
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'seMetering']);
1324
+ await reporting.onOff(endpoint);
1325
+ await reporting.readMeteringMultiplierDivisor(endpoint);
1326
+ await reporting.instantaneousDemand(endpoint);
1327
+ await endpoint.write('genBasic', { 0xe050: { value: 1, type: 0x10 } }, options);
1328
+ },
1329
+ },
1330
+ {
1331
+ zigbeeModel: ['EH-ZB-LMACT'],
1332
+ model: 'EER42000',
1333
+ vendor: 'Schneider Electric',
1334
+ description: 'Zigbee load actuator with power meter',
1335
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.metering],
1336
+ toZigbee: [toZigbee_1.default.on_off],
1337
+ exposes: [e.switch(), e.power(), e.energy()],
1338
+ configure: async (device, coordinatorEndpoint) => {
1339
+ const endpoint = device.getEndpoint(11);
1340
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'seMetering']);
1341
+ await reporting.onOff(endpoint);
1342
+ await reporting.readMeteringMultiplierDivisor(endpoint);
1343
+ await reporting.instantaneousDemand(endpoint);
1344
+ },
1345
+ },
1346
+ {
1347
+ zigbeeModel: ['2GANG/SWITCH/2', '2GANG/SWITCH/1'],
1348
+ model: 'MEG5126-0300',
1349
+ vendor: 'Schneider Electric',
1350
+ description: 'Merten MEG5165 PlusLink relais insert with Merten Wiser System M push button (2fold)',
1351
+ extend: [(0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 1, l2: 2 } }), (0, modernExtend_1.onOff)({ endpointNames: ['l1', 'l2'] })],
1352
+ },
1353
+ {
1354
+ zigbeeModel: ['EH-ZB-VACT'],
1355
+ model: 'EER53000',
1356
+ vendor: 'Schneider Electric',
1357
+ description: 'Wiser radiator thermostat (VACT)',
1358
+ fromZigbee: [
1359
+ fromZigbee_1.default.ignore_basic_report,
1360
+ fromZigbee_1.default.ignore_genOta,
1361
+ fromZigbee_1.default.ignore_zclversion_read,
1362
+ fromZigbee_1.default.battery,
1363
+ fromZigbee_1.default.hvac_user_interface,
1364
+ fromZigbee_1.default.wiser_smart_thermostat,
1365
+ fromZigbee_1.default.wiser_smart_thermostat_client,
1366
+ fromZigbee_1.default.wiser_smart_setpoint_command_client,
1367
+ ],
1368
+ toZigbee: [
1369
+ toZigbee_1.default.wiser_sed_thermostat_local_temperature_calibration,
1370
+ toZigbee_1.default.wiser_sed_occupied_heating_setpoint,
1371
+ toZigbee_1.default.wiser_sed_thermostat_keypad_lockout,
1372
+ toZigbee_1.default.wiser_vact_calibrate_valve,
1373
+ toZigbee_1.default.wiser_sed_zone_mode,
1374
+ ],
1375
+ exposes: [
1376
+ e.battery(),
1377
+ e.binary('keypad_lockout', ea.STATE_SET, 'lock1', 'unlock').withDescription('Enables/disables physical input on the device'),
1378
+ e.binary('calibrate_valve', ea.STATE_SET, 'calibrate', 'idle').withDescription('Calibrates valve on next wakeup'),
1379
+ e.enum('valve_calibration_status', ea.STATE, ['ongoing', 'successful', 'uncalibrated', 'failed_e1', 'failed_e2', 'failed_e3']),
1380
+ e.enum('zone_mode', ea.STATE_SET, ['manual', 'schedule', 'energy_saver', 'holiday']).withDescription('Icon shown on device displays'),
1381
+ e
1382
+ .climate()
1383
+ .withSetpoint('occupied_heating_setpoint', 7, 30, 0.5, ea.STATE_SET)
1384
+ .withLocalTemperature(ea.STATE)
1385
+ .withLocalTemperatureCalibration(-12.8, 12.7, 0.1, ea.STATE_SET)
1386
+ .withPiHeatingDemand(),
1387
+ ],
1388
+ meta: { battery: { voltageToPercentage: { min: 2500, max: 3000 } } },
1389
+ configure: async (device, coordinatorEndpoint) => {
1390
+ const endpoint = device.getEndpoint(11);
1391
+ // Insert default values for client requested attributes
1392
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { minHeatSetpointLimit: 7 * 100 });
1393
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { maxHeatSetpointLimit: 30 * 100 });
1394
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { occupiedHeatingSetpoint: 20 * 100 });
1395
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { systemMode: 4 });
1396
+ // VACT needs binding to endpoint 11 due to some hardcoding in the device
1397
+ const coordinatorEndpointB = coordinatorEndpoint.getDevice().getEndpoint(11);
1398
+ const binds = ['genBasic', 'genPowerCfg', 'hvacThermostat'];
1399
+ await reporting.bind(endpoint, coordinatorEndpointB, binds);
1400
+ await reporting.batteryVoltage(endpoint);
1401
+ await reporting.thermostatTemperature(endpoint);
1402
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
1403
+ await endpoint.configureReporting('hvacUserInterfaceCfg', [
1404
+ {
1405
+ attribute: 'keypadLockout',
1406
+ minimumReportInterval: constants.repInterval.MINUTE,
1407
+ maximumReportInterval: constants.repInterval.HOUR,
1408
+ reportableChange: 1,
1409
+ },
1410
+ ]);
1411
+ },
1412
+ },
1413
+ {
1414
+ zigbeeModel: ['EH-ZB-RTS'],
1415
+ model: 'EER51000',
1416
+ vendor: 'Schneider Electric',
1417
+ description: 'Wiser thermostat (RTS)',
1418
+ fromZigbee: [
1419
+ fromZigbee_1.default.ignore_basic_report,
1420
+ fromZigbee_1.default.ignore_genOta,
1421
+ fromZigbee_1.default.ignore_zclversion_read,
1422
+ fromZigbee_1.default.battery,
1423
+ fromZigbee_1.default.hvac_user_interface,
1424
+ fromZigbee_1.default.wiser_smart_thermostat_client,
1425
+ fromZigbee_1.default.wiser_smart_setpoint_command_client,
1426
+ fromZigbee_1.default.schneider_temperature,
1427
+ ],
1428
+ toZigbee: [toZigbee_1.default.wiser_sed_zone_mode, toZigbee_1.default.wiser_sed_occupied_heating_setpoint],
1429
+ exposes: [
1430
+ e.battery(),
1431
+ e.climate().withSetpoint('occupied_heating_setpoint', 7, 30, 0.5, ea.STATE_SET).withLocalTemperature(ea.STATE),
1432
+ e.enum('zone_mode', ea.STATE_SET, ['manual', 'schedule', 'energy_saver', 'holiday']).withDescription('Icon shown on device displays'),
1433
+ ],
1434
+ meta: { battery: { voltageToPercentage: { min: 3000, max: 4200 } } },
1435
+ configure: async (device, coordinatorEndpoint) => {
1436
+ const endpoint = device.getEndpoint(11);
1437
+ // Insert default values for client requested attributes
1438
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { minHeatSetpointLimit: 7 * 100 });
1439
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { maxHeatSetpointLimit: 30 * 100 });
1440
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { occupiedHeatingSetpoint: 20 * 100 });
1441
+ endpoint.saveClusterAttributeKeyValue('hvacThermostat', { systemMode: 4 });
1442
+ // RTS needs binding to endpoint 11 due to some hardcoding in the device
1443
+ const coordinatorEndpointB = coordinatorEndpoint.getDevice().getEndpoint(11);
1444
+ const binds = [
1445
+ 'genBasic',
1446
+ 'genPowerCfg',
1447
+ 'genIdentify',
1448
+ 'genAlarms',
1449
+ 'genOta',
1450
+ 'hvacThermostat',
1451
+ 'hvacUserInterfaceCfg',
1452
+ 'msTemperatureMeasurement',
1453
+ ];
1454
+ await reporting.bind(endpoint, coordinatorEndpointB, binds);
1455
+ // Battery reports without config once a day, do the first read manually
1456
+ await endpoint.read('genPowerCfg', ['batteryVoltage']);
1457
+ await endpoint.configureReporting('msTemperatureMeasurement', [
1458
+ {
1459
+ attribute: 'measuredValue',
1460
+ minimumReportInterval: constants.repInterval.MINUTE,
1461
+ maximumReportInterval: constants.repInterval.MINUTES_10,
1462
+ reportableChange: 50,
1463
+ },
1464
+ ]);
1465
+ },
1466
+ },
1467
+ {
1468
+ zigbeeModel: ['EH-ZB-HACT'],
1469
+ model: 'EER50000',
1470
+ vendor: 'Schneider Electric',
1471
+ description: 'Wiser H-Relay (HACT)',
1472
+ fromZigbee: [fromZigbee_1.default.ignore_basic_report, fromZigbee_1.default.ignore_genOta, fromZigbee_1.default.ignore_zclversion_read, fromZigbee_1.default.wiser_smart_thermostat, fromZigbee_1.default.metering, fromZigbee_1.default.identify],
1473
+ toZigbee: [
1474
+ toZigbee_1.default.thermostat_local_temperature,
1475
+ toZigbee_1.default.thermostat_occupied_heating_setpoint,
1476
+ toZigbee_1.default.wiser_fip_setting,
1477
+ toZigbee_1.default.wiser_hact_config,
1478
+ toZigbee_1.default.wiser_zone_mode,
1479
+ toZigbee_1.default.identify,
1480
+ ],
1481
+ exposes: [
1482
+ e.climate().withSetpoint('occupied_heating_setpoint', 7, 30, 0.5).withLocalTemperature(),
1483
+ e.power(),
1484
+ e.energy(),
1485
+ e.enum('identify', ea.SET, ['0', '30', '60', '600', '900']).withDescription('Flash green tag for x seconds'),
1486
+ e.enum('zone_mode', ea.ALL, ['manual', 'schedule', 'energy_saver', 'holiday']),
1487
+ e
1488
+ .enum('hact_config', ea.ALL, ['unconfigured', 'setpoint_switch', 'setpoint_fip', 'fip_fip'])
1489
+ .withDescription('Input (command) and output (control) behavior of actuator'),
1490
+ e
1491
+ .enum('fip_setting', ea.ALL, ['comfort', 'comfort_-1', 'comfort_-2', 'energy_saving', 'frost_protection', 'off'])
1492
+ .withDescription('Output signal when operating in fil pilote mode (fip_fip)'),
1493
+ ],
1494
+ configure: async (device, coordinatorEndpoint) => {
1495
+ const endpoint = device.getEndpoint(11);
1496
+ const binds = ['genBasic', 'genPowerCfg', 'hvacThermostat', 'msTemperatureMeasurement', 'seMetering'];
1497
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
1498
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
1499
+ await reporting.readMeteringMultiplierDivisor(endpoint);
1500
+ await reporting.instantaneousDemand(endpoint);
1501
+ },
1502
+ },
1503
+ {
1504
+ zigbeeModel: ['FLS/SYSTEM-M/4'],
1505
+ model: 'WDE002906/MEG5001-0300',
1506
+ vendor: 'Schneider Electric',
1507
+ description: 'Wiser wireless switch 1-gang or 2-gang',
1508
+ extend: [
1509
+ (0, modernExtend_1.battery)(),
1510
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { right: 21, left: 22 } }),
1511
+ switchActions('right'),
1512
+ switchActions('left'),
1513
+ (0, modernExtend_1.commandsOnOff)({ endpointNames: ['right', 'left'] }),
1514
+ (0, modernExtend_1.commandsLevelCtrl)({ endpointNames: ['right', 'left'] }),
1515
+ ],
1516
+ },
1517
+ {
1518
+ zigbeeModel: ['SOCKET/OUTLET/2'],
1519
+ model: 'EKO09738',
1520
+ vendor: 'Schneider Electric',
1521
+ description: 'Zigbee smart socket with power meter',
1522
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.electrical_measurement, fromZigbee_1.default.EKO09738_metering, fromZigbee_1.default.power_on_behavior],
1523
+ toZigbee: [toZigbee_1.default.on_off, toZigbee_1.default.power_on_behavior],
1524
+ exposes: [
1525
+ e.switch(),
1526
+ e.power(),
1527
+ e.energy(),
1528
+ e.enum('power_on_behavior', ea.ALL, ['off', 'previous', 'on']).withDescription('Controls the behaviour when the device is powered on'),
1529
+ e.current(),
1530
+ e.voltage(),
1531
+ ],
1532
+ whiteLabel: [{ vendor: 'Elko', model: 'EKO09738', description: 'SmartStikk' }],
1533
+ configure: async (device, coordinatorEndpoint) => {
1534
+ const endpoint = device.getEndpoint(6);
1535
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
1536
+ await reporting.onOff(endpoint);
1537
+ // Unit supports acVoltage and acCurrent, but only acCurrent divisor/multiplier can be read
1538
+ await endpoint.read('haElectricalMeasurement', ['acCurrentDivisor', 'acCurrentMultiplier']);
1539
+ await reporting.readMeteringMultiplierDivisor(endpoint);
1540
+ },
1541
+ },
1542
+ {
1543
+ zigbeeModel: ['SOCKET/OUTLET/1'],
1544
+ model: 'EKO09716',
1545
+ vendor: 'Schneider Electric',
1546
+ description: 'Zigbee smart socket with power meter',
1547
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.electrical_measurement, fromZigbee_1.default.EKO09738_metering, fromZigbee_1.default.power_on_behavior],
1548
+ toZigbee: [toZigbee_1.default.on_off, toZigbee_1.default.power_on_behavior],
1549
+ exposes: [
1550
+ e.switch(),
1551
+ e.power(),
1552
+ e.energy(),
1553
+ e.enum('power_on_behavior', ea.ALL, ['off', 'previous', 'on']).withDescription('Controls the behaviour when the device is powered on'),
1554
+ e.current(),
1555
+ e.voltage(),
1556
+ ],
1557
+ extend: [socketIndicatorMode()],
1558
+ configure: async (device, coordinatorEndpoint) => {
1559
+ const endpoint = device.getEndpoint(6);
1560
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
1561
+ await reporting.onOff(endpoint);
1562
+ // Unit supports acVoltage and acCurrent, but only acCurrent divisor/multiplier can be read
1563
+ await endpoint.read('haElectricalMeasurement', ['acCurrentDivisor', 'acCurrentMultiplier']);
1564
+ await reporting.readMeteringMultiplierDivisor(endpoint);
1565
+ },
1566
+ },
1567
+ {
1568
+ zigbeeModel: ['LK/OUTLET/1'],
1569
+ model: '545D6115',
1570
+ vendor: 'Schneider Electric',
1571
+ description: 'LK FUGA wiser wireless socket outlet',
1572
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.electrical_measurement, fromZigbee_1.default.EKO09738_metering, fromZigbee_1.default.power_on_behavior],
1573
+ toZigbee: [toZigbee_1.default.on_off, toZigbee_1.default.power_on_behavior],
1574
+ exposes: [
1575
+ e.switch(),
1576
+ e.power(),
1577
+ e.energy(),
1578
+ e.current(),
1579
+ e.voltage(),
1580
+ e.enum('power_on_behavior', ea.ALL, ['off', 'previous', 'on']).withDescription('Controls the behaviour when the device is powered on'),
1581
+ ],
1582
+ configure: async (device, coordinatorEndpoint) => {
1583
+ const endpoint = device.getEndpoint(6);
1584
+ await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'seMetering']);
1585
+ await reporting.onOff(endpoint);
1586
+ // Unit supports acVoltage and acCurrent, but only acCurrent divisor/multiplier can be read
1587
+ await endpoint.read('haElectricalMeasurement', ['acCurrentDivisor', 'acCurrentMultiplier']);
1588
+ await reporting.readMeteringMultiplierDivisor(endpoint);
1589
+ await reporting.currentSummDelivered(endpoint, { min: 60, change: 1 });
1590
+ },
1591
+ },
1592
+ {
1593
+ zigbeeModel: ['EVSCKT/OUTLET/1'],
1594
+ model: 'MUR36014',
1595
+ vendor: 'Schneider Electric',
1596
+ description: 'Mureva EVlink Smart socket outlet',
1597
+ extend: [(0, modernExtend_1.onOff)({ powerOnBehavior: true }), (0, modernExtend_1.electricityMeter)()],
1598
+ },
1599
+ {
1600
+ zigbeeModel: ['NHMOTION/SWITCH/1'],
1601
+ model: 'NH3526',
1602
+ vendor: 'Schneider Electric',
1603
+ description: 'Motion sensor with switch',
1604
+ extend: [
1605
+ (0, modernExtend_1.onOff)({
1606
+ powerOnBehavior: false,
1607
+ configureReporting: true,
1608
+ }),
1609
+ (0, modernExtend_1.illuminance)(),
1610
+ (0, modernExtend_1.occupancy)({
1611
+ pirConfig: ['otu_delay'],
1612
+ }),
1613
+ schneiderElectricExtend.addOccupancyConfigurationCluster(),
1614
+ schneiderElectricExtend.occupancyConfiguration(),
1615
+ ],
1616
+ whiteLabel: [
1617
+ { vendor: 'Elko', model: 'EKO06988' },
1618
+ { vendor: 'Elko', model: 'EKO06989' },
1619
+ { vendor: 'Elko', model: 'EKO06990' },
1620
+ { vendor: 'Elko', model: 'EKO06991' },
1621
+ { vendor: 'LK', model: '545D6306' },
1622
+ ],
1623
+ },
1624
+ {
1625
+ zigbeeModel: ['CCT595011_AS'],
1626
+ model: 'CCT595011',
1627
+ vendor: 'Schneider Electric',
1628
+ description: 'Wiser motion sensor',
1629
+ fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.ias_enroll, fromZigbee_1.default.ias_occupancy_only_alarm_2, fromZigbee_1.default.illuminance],
1630
+ toZigbee: [],
1631
+ configure: async (device, coordinatorEndpoint) => {
1632
+ const endpoint = device.getEndpoint(1);
1633
+ const binds = ['genPowerCfg', 'msIlluminanceMeasurement'];
1634
+ await reporting.bind(endpoint, coordinatorEndpoint, binds);
1635
+ await reporting.batteryPercentageRemaining(endpoint);
1636
+ await reporting.illuminance(endpoint, { min: 15, max: constants.repInterval.HOUR, change: 500 });
1637
+ },
1638
+ exposes: [e.battery(), e.illuminance(), e.occupancy()],
1639
+ },
1640
+ {
1641
+ zigbeeModel: ['CH/Socket/2'],
1642
+ model: '3025CSGZ',
1643
+ vendor: 'Schneider Electric',
1644
+ description: 'Dual connected smart socket',
1645
+ ota: true,
1646
+ extend: [(0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 1, l2: 2 } }), (0, modernExtend_1.onOff)({ endpointNames: ['l1', 'l2'] })],
1647
+ },
1648
+ {
1649
+ zigbeeModel: ['CCT592011_AS'],
1650
+ model: 'CCT592011',
1651
+ vendor: 'Schneider Electric',
1652
+ description: 'Wiser water leakage sensor',
1653
+ fromZigbee: [fromZigbee_1.default.ias_water_leak_alarm_1],
1654
+ toZigbee: [],
1655
+ exposes: [e.battery_low(), e.water_leak(), e.tamper()],
1656
+ },
1657
+ {
1658
+ fingerprint: [{ modelID: 'GreenPower_254', ieeeAddr: /^0x00000000e.......$/ }],
1659
+ model: 'A9MEM1570',
1660
+ vendor: 'Schneider Electric',
1661
+ description: 'PowerTag power sensor',
1662
+ fromZigbee: [fzLocal.schneider_powertag],
1663
+ toZigbee: [],
1664
+ exposes: [
1665
+ e.power(),
1666
+ e.power_apparent(),
1667
+ e.numeric('power_phase_a', ea.STATE).withUnit('W').withDescription('Instantaneous measured power on phase A'),
1668
+ e.numeric('power_phase_b', ea.STATE).withUnit('W').withDescription('Instantaneous measured power on phase B'),
1669
+ e.numeric('power_phase_c', ea.STATE).withUnit('W').withDescription('Instantaneous measured power on phase C'),
1670
+ e.power_factor(),
1671
+ e.energy(),
1672
+ e.numeric('energy_phase_a', ea.STATE).withUnit('kWh').withDescription('Sum of consumed energy on phase A'),
1673
+ e.numeric('energy_phase_b', ea.STATE).withUnit('kWh').withDescription('Sum of consumed energy on phase B'),
1674
+ e.numeric('energy_phase_c', ea.STATE).withUnit('kWh').withDescription('Sum of consumed energy on phase C'),
1675
+ e.ac_frequency(),
1676
+ e.numeric('voltage_phase_a', ea.STATE).withUnit('V').withDescription('Measured electrical potential value on phase A'),
1677
+ e.numeric('voltage_phase_b', ea.STATE).withUnit('V').withDescription('Measured electrical potential value on phase B'),
1678
+ e.numeric('voltage_phase_c', ea.STATE).withUnit('V').withDescription('Measured electrical potential value on phase C'),
1679
+ e.numeric('voltage_phase_ab', ea.STATE).withUnit('V').withDescription('Measured electrical potential value between phase A and B'),
1680
+ e.numeric('voltage_phase_bc', ea.STATE).withUnit('V').withDescription('Measured electrical potential value between phase B and C'),
1681
+ e.numeric('voltage_phase_ca', ea.STATE).withUnit('V').withDescription('Measured electrical potential value between phase C and A'),
1682
+ e.numeric('current_phase_a', ea.STATE).withUnit('A').withDescription('Instantaneous measured electrical current on phase A'),
1683
+ e.numeric('current_phase_b', ea.STATE).withUnit('A').withDescription('Instantaneous measured electrical current on phase B'),
1684
+ e.numeric('current_phase_c', ea.STATE).withUnit('A').withDescription('Instantaneous measured electrical current on phase C'),
1685
+ ],
1686
+ },
1687
+ {
1688
+ zigbeeModel: ['W599001', 'W599501', '755WSA'],
1689
+ model: 'W599001',
1690
+ vendor: 'Schneider Electric',
1691
+ description: 'Wiser smoke alarm',
1692
+ extend: [
1693
+ (0, modernExtend_1.battery)({ voltage: true, voltageReporting: true }),
1694
+ (0, modernExtend_1.temperature)(),
1695
+ (0, modernExtend_1.iasZoneAlarm)({
1696
+ zoneType: 'smoke',
1697
+ zoneAttributes: ['alarm_1', 'tamper', 'battery_low', 'test'],
1698
+ zoneStatusReporting: true,
1699
+ manufacturerZoneAttributes: [
1700
+ {
1701
+ bit: 1,
1702
+ name: 'heat',
1703
+ valueOn: true,
1704
+ valueOff: false,
1705
+ description: 'Indicates whether the device has detected high temperature',
1706
+ },
1707
+ {
1708
+ bit: 11,
1709
+ name: 'hush',
1710
+ valueOn: true,
1711
+ valueOff: false,
1712
+ description: 'Indicates whether the device is in hush mode',
1713
+ entityCategory: 'diagnostic',
1714
+ },
1715
+ ],
1716
+ }),
1717
+ ],
1718
+ whiteLabel: [
1719
+ { vendor: 'Schneider Electric', model: 'W599501', description: 'Wiser smoke alarm', fingerprint: [{ modelID: 'W599501' }] },
1720
+ { vendor: 'Schneider Electric', model: '755WSA', description: 'Clipsal Wiser smoke alarm', fingerprint: [{ modelID: '755WSA' }] },
1721
+ ],
1722
+ },
1723
+ {
1724
+ zigbeeModel: ['CCT591011_AS'],
1725
+ model: 'CCT591011_AS',
1726
+ vendor: 'Schneider Electric',
1727
+ description: 'Wiser window/door sensor',
1728
+ fromZigbee: [fromZigbee_1.default.ias_contact_alarm_1, fromZigbee_1.default.ias_contact_alarm_1_report],
1729
+ toZigbee: [],
1730
+ exposes: [e.battery_low(), e.contact(), e.tamper()],
1731
+ },
1732
+ {
1733
+ zigbeeModel: ['EKO07259'],
1734
+ model: 'EKO07259',
1735
+ vendor: 'Schneider Electric',
1736
+ description: 'Smart thermostat',
1737
+ fromZigbee: [fromZigbee_1.default.stelpro_thermostat, fromZigbee_1.default.metering, fromZigbee_1.default.schneider_pilot_mode, fromZigbee_1.default.wiser_device_info, fromZigbee_1.default.hvac_user_interface],
1738
+ toZigbee: [
1739
+ toZigbee_1.default.thermostat_occupied_heating_setpoint,
1740
+ toZigbee_1.default.thermostat_system_mode,
1741
+ toZigbee_1.default.thermostat_running_state,
1742
+ toZigbee_1.default.thermostat_local_temperature,
1743
+ toZigbee_1.default.thermostat_control_sequence_of_operation,
1744
+ toZigbee_1.default.schneider_pilot_mode,
1745
+ toZigbee_1.default.schneider_thermostat_keypad_lockout,
1746
+ toZigbee_1.default.thermostat_temperature_display_mode,
1747
+ ],
1748
+ exposes: [
1749
+ e.binary('keypad_lockout', ea.STATE_SET, 'lock1', 'unlock').withDescription('Enables/disables physical input on the device'),
1750
+ e.enum('schneider_pilot_mode', ea.ALL, ['contactor', 'pilot']).withDescription('Controls piloting mode'),
1751
+ e
1752
+ .enum('temperature_display_mode', ea.ALL, ['celsius', 'fahrenheit'])
1753
+ .withDescription('The temperature format displayed on the thermostat screen'),
1754
+ e
1755
+ .climate()
1756
+ .withSetpoint('occupied_heating_setpoint', 4, 30, 0.5)
1757
+ .withLocalTemperature()
1758
+ .withSystemMode(['off', 'heat'])
1759
+ .withRunningState(['idle', 'heat'])
1760
+ .withPiHeatingDemand(),
1761
+ ],
1762
+ configure: async (device, coordinatorEndpoint) => {
1763
+ const endpoint1 = device.getEndpoint(1);
1764
+ const endpoint2 = device.getEndpoint(2);
1765
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['hvacThermostat']);
1766
+ await reporting.thermostatPIHeatingDemand(endpoint1);
1767
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint1);
1768
+ await reporting.bind(endpoint2, coordinatorEndpoint, ['seMetering']);
1769
+ await endpoint1.read('hvacUserInterfaceCfg', ['keypadLockout', 'tempDisplayMode']);
1770
+ },
1771
+ },
1772
+ {
1773
+ zigbeeModel: ['WDE002497'],
1774
+ model: 'WDE002497',
1775
+ vendor: 'Schneider Electric',
1776
+ description: 'Smart thermostat',
1777
+ fromZigbee: [fromZigbee_1.default.stelpro_thermostat, fromZigbee_1.default.metering, fromZigbee_1.default.schneider_pilot_mode, fromZigbee_1.default.wiser_device_info, fromZigbee_1.default.hvac_user_interface, fromZigbee_1.default.temperature],
1778
+ toZigbee: [
1779
+ toZigbee_1.default.thermostat_occupied_heating_setpoint,
1780
+ toZigbee_1.default.thermostat_system_mode,
1781
+ toZigbee_1.default.thermostat_running_state,
1782
+ toZigbee_1.default.thermostat_local_temperature,
1783
+ toZigbee_1.default.thermostat_control_sequence_of_operation,
1784
+ toZigbee_1.default.schneider_pilot_mode,
1785
+ toZigbee_1.default.schneider_thermostat_keypad_lockout,
1786
+ toZigbee_1.default.thermostat_temperature_display_mode,
1787
+ ],
1788
+ exposes: [
1789
+ e.binary('keypad_lockout', ea.STATE_SET, 'lock1', 'unlock').withDescription('Enables/disables physical input on the device'),
1790
+ e.enum('schneider_pilot_mode', ea.ALL, ['contactor', 'pilot']).withDescription('Controls piloting mode'),
1791
+ e
1792
+ .enum('temperature_display_mode', ea.ALL, ['celsius', 'fahrenheit'])
1793
+ .withDescription('The temperature format displayed on the thermostat screen'),
1794
+ e
1795
+ .climate()
1796
+ .withSetpoint('occupied_heating_setpoint', 4, 30, 0.5)
1797
+ .withLocalTemperature()
1798
+ .withSystemMode(['off', 'heat'])
1799
+ .withRunningState(['idle', 'heat'])
1800
+ .withPiHeatingDemand(),
1801
+ e.temperature(),
1802
+ ],
1803
+ configure: async (device, coordinatorEndpoint) => {
1804
+ const endpoint1 = device.getEndpoint(1);
1805
+ const endpoint2 = device.getEndpoint(2);
1806
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['hvacThermostat']);
1807
+ await reporting.thermostatPIHeatingDemand(endpoint1);
1808
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint1);
1809
+ await reporting.bind(endpoint2, coordinatorEndpoint, ['msTemperatureMeasurement']);
1810
+ await reporting.temperature(endpoint2);
1811
+ await endpoint1.read('hvacUserInterfaceCfg', ['keypadLockout', 'tempDisplayMode']);
1812
+ },
1813
+ },
1814
+ {
1815
+ zigbeeModel: ['WDE011680'],
1816
+ model: 'WDE011680',
1817
+ vendor: 'Schneider Electric',
1818
+ description: 'Smart thermostat',
1819
+ fromZigbee: [fromZigbee_1.default.stelpro_thermostat, fromZigbee_1.default.metering, fromZigbee_1.default.schneider_pilot_mode, fromZigbee_1.default.wiser_device_info, fromZigbee_1.default.hvac_user_interface, fromZigbee_1.default.temperature],
1820
+ toZigbee: [
1821
+ toZigbee_1.default.thermostat_occupied_heating_setpoint,
1822
+ toZigbee_1.default.thermostat_system_mode,
1823
+ toZigbee_1.default.thermostat_running_state,
1824
+ toZigbee_1.default.thermostat_local_temperature,
1825
+ toZigbee_1.default.thermostat_control_sequence_of_operation,
1826
+ toZigbee_1.default.schneider_pilot_mode,
1827
+ toZigbee_1.default.schneider_thermostat_keypad_lockout,
1828
+ toZigbee_1.default.thermostat_temperature_display_mode,
1829
+ ],
1830
+ exposes: [
1831
+ e.binary('keypad_lockout', ea.STATE_SET, 'lock1', 'unlock').withDescription('Enables/disables physical input on the device'),
1832
+ e.enum('schneider_pilot_mode', ea.ALL, ['contactor', 'pilot']).withDescription('Controls piloting mode'),
1833
+ e
1834
+ .enum('temperature_display_mode', ea.ALL, ['celsius', 'fahrenheit'])
1835
+ .withDescription('The temperature format displayed on the thermostat screen'),
1836
+ e
1837
+ .climate()
1838
+ .withSetpoint('occupied_heating_setpoint', 4, 30, 0.5)
1839
+ .withLocalTemperature()
1840
+ .withSystemMode(['off', 'heat'])
1841
+ .withRunningState(['idle', 'heat'])
1842
+ .withPiHeatingDemand(),
1843
+ e.temperature(),
1844
+ ],
1845
+ configure: async (device, coordinatorEndpoint) => {
1846
+ const endpoint1 = device.getEndpoint(1);
1847
+ const endpoint2 = device.getEndpoint(2);
1848
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['hvacThermostat']);
1849
+ await reporting.thermostatPIHeatingDemand(endpoint1);
1850
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint1);
1851
+ await reporting.bind(endpoint2, coordinatorEndpoint, ['msTemperatureMeasurement']);
1852
+ await reporting.temperature(endpoint2);
1853
+ await endpoint1.read('hvacUserInterfaceCfg', ['keypadLockout', 'tempDisplayMode']);
1854
+ },
1855
+ },
1856
+ {
1857
+ zigbeeModel: ['2GANG/ESWITCH/2'],
1858
+ model: 'MEG5126-0300_MEG5152-0000',
1859
+ vendor: 'Schneider Electric',
1860
+ description: 'Merten MEG5152 switch insert (2fold) with Merten System M push button (2fold)',
1861
+ extend: [
1862
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { left: 1, right: 2, left_sw: 21, right_sw: 22 } }),
1863
+ (0, modernExtend_1.identify)(),
1864
+ (0, modernExtend_1.onOff)({ powerOnBehavior: false, endpointNames: ['left', 'right'] }),
1865
+ (0, modernExtend_1.commandsOnOff)({ endpointNames: ['left_sw', 'right_sw'] }),
1866
+ ],
1867
+ },
1868
+ {
1869
+ zigbeeModel: ['1GANG/SWITCH/2'],
1870
+ model: 'MEG5116-0300_MEG5162-0000',
1871
+ vendor: 'Schneider Electric',
1872
+ description: 'Merten MEG5162 switch insert (2fold) with Merten System M push button (1fold)',
1873
+ extend: [
1874
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { left: 1, right: 2, left_sw: 21 } }),
1875
+ (0, modernExtend_1.identify)(),
1876
+ (0, modernExtend_1.onOff)({ powerOnBehavior: false, endpointNames: ['left', 'right'] }),
1877
+ (0, modernExtend_1.commandsOnOff)({ endpointNames: ['left_sw'] }),
1878
+ ],
1879
+ },
1880
+ {
1881
+ zigbeeModel: ['1GANG/ESWITCH/1'],
1882
+ model: 'MEG5116-0300_MEG5151-0000',
1883
+ vendor: 'Schneider Electric',
1884
+ description: 'Merten MEG5151 switch insert with Merten System M push button (1fold)',
1885
+ extend: [
1886
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { switch: 1, switch_sw: 21 } }),
1887
+ (0, modernExtend_1.identify)(),
1888
+ (0, modernExtend_1.onOff)({ powerOnBehavior: false }),
1889
+ (0, modernExtend_1.commandsOnOff)({ endpointNames: ['switch_sw'] }),
1890
+ ],
1891
+ },
1892
+ {
1893
+ zigbeeModel: ['E8331DST300ZB'],
1894
+ model: 'E8331DST300ZB',
1895
+ vendor: 'Schneider Electric',
1896
+ description: 'Wiser AvatarOn 1G dimmer switch',
1897
+ extend: [
1898
+ (0, modernExtend_1.light)({
1899
+ effect: false,
1900
+ color: false,
1901
+ powerOnBehavior: false,
1902
+ levelConfig: {
1903
+ disabledFeatures: [
1904
+ 'on_off_transition_time',
1905
+ 'on_transition_time',
1906
+ 'off_transition_time',
1907
+ 'execute_if_off',
1908
+ 'on_level',
1909
+ 'current_level_startup',
1910
+ ],
1911
+ },
1912
+ configureReporting: true,
1913
+ }),
1914
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
1915
+ schneiderElectricExtend.visaConfigIndicatorLuminanceLevel(),
1916
+ schneiderElectricExtend.visaConfigIndicatorColor(),
1917
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
1918
+ ],
1919
+ },
1920
+ {
1921
+ zigbeeModel: ['E8332DST350ZB'],
1922
+ model: 'E8332DST350ZB',
1923
+ vendor: 'Schneider Electric',
1924
+ description: 'Wiser AvatarOn 2G dimmer switch',
1925
+ extend: [
1926
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11 } }),
1927
+ (0, modernExtend_1.light)({
1928
+ endpointNames: ['l1', 'l2'],
1929
+ effect: false,
1930
+ color: false,
1931
+ powerOnBehavior: false,
1932
+ levelConfig: {
1933
+ disabledFeatures: [
1934
+ 'on_off_transition_time',
1935
+ 'on_transition_time',
1936
+ 'off_transition_time',
1937
+ 'execute_if_off',
1938
+ 'on_level',
1939
+ 'current_level_startup',
1940
+ ],
1941
+ },
1942
+ configureReporting: true,
1943
+ }),
1944
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.ENUM8),
1945
+ schneiderElectricExtend.visaConfigIndicatorLuminanceLevel(),
1946
+ schneiderElectricExtend.visaConfigIndicatorColor(),
1947
+ schneiderElectricExtend.visaIndicatorMode([2, 0, 3, 1]),
1948
+ ],
1949
+ },
1950
+ {
1951
+ zigbeeModel: ['E8331SRY800ZB'],
1952
+ model: 'E8331SRY800ZB',
1953
+ vendor: 'Schneider Electric',
1954
+ description: 'Wiser AvatarOn 1G onoff switch',
1955
+ extend: [
1956
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10 } }),
1957
+ (0, modernExtend_1.onOff)({ endpointNames: ['l1'], powerOnBehavior: false }),
1958
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
1959
+ schneiderElectricExtend.visaConfigIndicatorLuminanceLevel(),
1960
+ schneiderElectricExtend.visaConfigIndicatorColor(),
1961
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
1962
+ ],
1963
+ },
1964
+ {
1965
+ zigbeeModel: ['A3N31SR800ZB_xx_C1'],
1966
+ model: 'E8331SRY800ZB_NEW',
1967
+ vendor: 'Schneider Electric',
1968
+ description: 'Wiser AvatarOn 1G onoff switch',
1969
+ extend: [
1970
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10 } }),
1971
+ (0, modernExtend_1.onOff)({ endpointNames: ['l1'], powerOnBehavior: false }),
1972
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
1973
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
1974
+ ],
1975
+ },
1976
+ {
1977
+ zigbeeModel: ['E8332SRY800ZB'],
1978
+ model: 'E8332SRY800ZB',
1979
+ vendor: 'Schneider Electric',
1980
+ description: 'Wiser AvatarOn 2G onoff switch',
1981
+ extend: [
1982
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11 } }),
1983
+ (0, modernExtend_1.onOff)({ endpointNames: ['l1', 'l2'], powerOnBehavior: false }),
1984
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
1985
+ schneiderElectricExtend.visaConfigIndicatorLuminanceLevel(),
1986
+ schneiderElectricExtend.visaConfigIndicatorColor(),
1987
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
1988
+ ],
1989
+ },
1990
+ {
1991
+ zigbeeModel: ['A3N32SR800ZB_xx_C1'],
1992
+ model: 'E8332SRY800ZB_NEW',
1993
+ vendor: 'Schneider Electric',
1994
+ description: 'Wiser AvatarOn 2G onoff switch',
1995
+ extend: [
1996
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11 } }),
1997
+ (0, modernExtend_1.onOff)({ endpointNames: ['l1', 'l2'], powerOnBehavior: false }),
1998
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
1999
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
2000
+ ],
2001
+ },
2002
+ {
2003
+ zigbeeModel: ['E8333SRY800ZB'],
2004
+ model: 'E8333SRY800ZB',
2005
+ vendor: 'Schneider Electric',
2006
+ description: 'Wiser AvatarOn 3G onoff switch',
2007
+ extend: [
2008
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11, l3: 12 } }),
2009
+ (0, modernExtend_1.onOff)({ endpointNames: ['l1', 'l2', 'l3'], powerOnBehavior: false }),
2010
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
2011
+ schneiderElectricExtend.visaConfigIndicatorLuminanceLevel(),
2012
+ schneiderElectricExtend.visaConfigIndicatorColor(),
2013
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
2014
+ ],
2015
+ },
2016
+ {
2017
+ zigbeeModel: ['A3N33SR800ZB_xx_C1'],
2018
+ model: 'E8333SRY800ZB_NEW',
2019
+ vendor: 'Schneider Electric',
2020
+ description: 'Wiser AvatarOn 3G onoff switch',
2021
+ extend: [
2022
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11, l3: 12 } }),
2023
+ (0, modernExtend_1.onOff)({ endpointNames: ['l1', 'l2', 'l3'], powerOnBehavior: false }),
2024
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
2025
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
2026
+ ],
2027
+ },
2028
+ {
2029
+ zigbeeModel: ['E8332SCN300ZB'],
2030
+ model: 'E8332SCN300ZB',
2031
+ vendor: 'Schneider Electric',
2032
+ description: 'Wiser AvatarOn 2G curtain switch',
2033
+ extend: [
2034
+ (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 10, l2: 11 } }),
2035
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
2036
+ schneiderElectricExtend.visaConfigIndicatorLuminanceLevel(),
2037
+ schneiderElectricExtend.visaConfigIndicatorColor(),
2038
+ schneiderElectricExtend.visaIndicatorMode([0, 1, 2, 3]),
2039
+ schneiderElectricExtend.visaWiserCurtain(['l1', 'l2']),
2040
+ schneiderElectricExtend.visaConfigMotorType(1),
2041
+ schneiderElectricExtend.visaConfigMotorType(2),
2042
+ schneiderElectricExtend.visaConfigCurtainStatus(1),
2043
+ schneiderElectricExtend.visaConfigCurtainStatus(2),
2044
+ ],
2045
+ },
2046
+ {
2047
+ zigbeeModel: ['E8334RWMZB'],
2048
+ model: 'E8334RWMZB',
2049
+ vendor: 'Schneider Electric',
2050
+ description: 'Wiser AvatarOn 4K Freelocate',
2051
+ extend: [
2052
+ schneiderElectricExtend.addVisaConfigurationCluster(zigbee_herdsman_1.Zcl.DataType.UINT8),
2053
+ schneiderElectricExtend.visaConfigIndicatorLuminanceLevel(),
2054
+ schneiderElectricExtend.visaConfigIndicatorColor(),
2055
+ schneiderElectricExtend.visaKeyEventNotification('1'),
2056
+ schneiderElectricExtend.visaKeyEventNotification('2'),
2057
+ schneiderElectricExtend.visaKeyEventNotification('3'),
2058
+ schneiderElectricExtend.visaKeyEventNotification('4'),
2059
+ ],
2060
+ },
2061
+ {
2062
+ zigbeeModel: ['NHMOTION/DIMMER/1'],
2063
+ model: 'NH3527A',
2064
+ vendor: 'Schneider Electric',
2065
+ description: 'Motion sensor with dimmer',
2066
+ extend: [
2067
+ (0, modernExtend_1.light)({
2068
+ effect: false,
2069
+ powerOnBehavior: false,
2070
+ color: false,
2071
+ configureReporting: true,
2072
+ levelConfig: {
2073
+ disabledFeatures: ['on_transition_time', 'off_transition_time', 'on_off_transition_time', 'execute_if_off'],
2074
+ },
2075
+ }),
2076
+ (0, modernExtend_1.lightingBallast)(),
2077
+ (0, modernExtend_1.illuminance)(),
2078
+ (0, modernExtend_1.occupancy)({
2079
+ pirConfig: ['otu_delay'],
2080
+ }),
2081
+ schneiderElectricExtend.addOccupancyConfigurationCluster(),
2082
+ schneiderElectricExtend.occupancyConfiguration(),
2083
+ schneiderElectricExtend.dimmingMode(),
2084
+ ],
2085
+ whiteLabel: [
2086
+ { vendor: 'Elko', model: 'EKO07250' },
2087
+ { vendor: 'Elko', model: 'EKO07251' },
2088
+ { vendor: 'Elko', model: 'EKO07252' },
2089
+ { vendor: 'Elko', model: 'EKO07253' },
2090
+ { vendor: 'Elko', model: 'EKO30199' },
2091
+ { vendor: 'Exxact', model: 'WDE002962' },
2092
+ { vendor: 'Exxact', model: 'WDE003962' },
2093
+ ],
2094
+ },
2095
+ {
2096
+ zigbeeModel: ['NHMOTION/UNIDIM/1'],
2097
+ model: 'NHMOTION/UNIDIM/1',
2098
+ vendor: 'Schneider Electric',
2099
+ description: 'Motion sensor with dimmer',
2100
+ extend: [
2101
+ (0, modernExtend_1.light)({
2102
+ effect: false,
2103
+ powerOnBehavior: false,
2104
+ color: false,
2105
+ configureReporting: true,
2106
+ levelConfig: {
2107
+ disabledFeatures: ['on_off_transition_time', 'on_transition_time', 'off_transition_time', 'execute_if_off'],
2108
+ },
2109
+ }),
2110
+ (0, modernExtend_1.lightingBallast)(),
2111
+ (0, modernExtend_1.illuminance)(),
2112
+ (0, modernExtend_1.occupancy)({
2113
+ pirConfig: ['otu_delay'],
2114
+ }),
2115
+ schneiderElectricExtend.addOccupancyConfigurationCluster(),
2116
+ schneiderElectricExtend.occupancyConfiguration(),
2117
+ schneiderElectricExtend.dimmingMode(),
2118
+ ],
2119
+ whiteLabel: [
2120
+ { vendor: 'ELKO', model: 'EKO06984', description: 'SmartPir with push dimmer' },
2121
+ { vendor: 'ELKO', model: 'EKO06985', description: 'SmartPir with push dimmer' },
2122
+ { vendor: 'ELKO', model: 'EKO06986', description: 'SmartPir with push dimmer' },
2123
+ ],
2124
+ },
2125
+ {
2126
+ zigbeeModel: ['S520619'],
2127
+ model: 'S520619',
2128
+ vendor: 'Schneider Electric',
2129
+ description: 'Wiser Odace Smart thermostat',
2130
+ fromZigbee: [
2131
+ fromZigbee_1.default.stelpro_thermostat,
2132
+ fromZigbee_1.default.metering,
2133
+ fromZigbee_1.default.schneider_pilot_mode,
2134
+ fromZigbee_1.default.wiser_device_info,
2135
+ fromZigbee_1.default.hvac_user_interface,
2136
+ fromZigbee_1.default.temperature,
2137
+ fromZigbee_1.default.occupancy,
2138
+ ],
2139
+ toZigbee: [
2140
+ toZigbee_1.default.thermostat_occupied_heating_setpoint,
2141
+ toZigbee_1.default.thermostat_system_mode,
2142
+ toZigbee_1.default.thermostat_local_temperature,
2143
+ toZigbee_1.default.thermostat_control_sequence_of_operation,
2144
+ toZigbee_1.default.schneider_pilot_mode,
2145
+ toZigbee_1.default.schneider_thermostat_keypad_lockout,
2146
+ toZigbee_1.default.thermostat_temperature_display_mode,
2147
+ ],
2148
+ exposes: [
2149
+ e.binary('keypad_lockout', ea.STATE_SET, 'lock1', 'unlock').withDescription('Enables/disables physical input on the device'),
2150
+ e.enum('schneider_pilot_mode', ea.ALL, ['contactor', 'pilot']).withDescription('Controls piloting mode'),
2151
+ e
2152
+ .enum('temperature_display_mode', ea.ALL, ['celsius', 'fahrenheit'])
2153
+ .withDescription('The temperature format displayed on the thermostat screen'),
2154
+ e
2155
+ .climate()
2156
+ .withSetpoint('occupied_heating_setpoint', 4, 30, 0.5)
2157
+ .withLocalTemperature()
2158
+ .withSystemMode(['off', 'heat', 'cool'])
2159
+ .withPiHeatingDemand(),
2160
+ e.temperature(),
2161
+ e.occupancy(),
2162
+ ],
2163
+ configure: async (device, coordinatorEndpoint) => {
2164
+ const endpoint1 = device.getEndpoint(1);
2165
+ const endpoint2 = device.getEndpoint(2);
2166
+ const endpoint4 = device.getEndpoint(4);
2167
+ await reporting.bind(endpoint1, coordinatorEndpoint, ['hvacThermostat']);
2168
+ await reporting.thermostatPIHeatingDemand(endpoint1);
2169
+ await reporting.thermostatOccupiedHeatingSetpoint(endpoint1);
2170
+ await reporting.temperature(endpoint2);
2171
+ await endpoint1.read('hvacUserInterfaceCfg', ['keypadLockout', 'tempDisplayMode']);
2172
+ await reporting.bind(endpoint4, coordinatorEndpoint, ['msOccupancySensing']);
2173
+ await reporting.thermostatOccupancy(endpoint4);
2174
+ },
2175
+ options: [exposes.options.measurement_poll_interval()],
2176
+ onEvent: async (type, data, device, options) => {
2177
+ const endpoint = device.getEndpoint(1);
2178
+ const poll = async () => {
2179
+ await endpoint.read('hvacThermostat', ['occupiedHeatingSetpoint']);
2180
+ };
2181
+ utils.onEventPoll(type, data, device, options, 'measurement', 20, poll);
2182
+ },
2183
+ },
2184
+ ];
2185
+ exports.default = definitions;
2186
+ module.exports = definitions;
2187
+ //# sourceMappingURL=schneider_electric.js.map