zigbee-herdsman-converters 21.0.0-pre.1 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/CHANGELOG.md +257 -0
  2. package/README.md +11 -11
  3. package/converters/fromZigbee.d.ts +2 -1
  4. package/converters/fromZigbee.d.ts.map +1 -1
  5. package/converters/fromZigbee.js +72 -9
  6. package/converters/fromZigbee.js.map +1 -1
  7. package/converters/toZigbee.js +17 -7
  8. package/converters/toZigbee.js.map +1 -1
  9. package/devices/ITCommander.js +17 -7
  10. package/devices/ITCommander.js.map +1 -1
  11. package/devices/acova.js +17 -7
  12. package/devices/acova.js.map +1 -1
  13. package/devices/adeo.d.ts.map +1 -1
  14. package/devices/adeo.js +24 -7
  15. package/devices/adeo.js.map +1 -1
  16. package/devices/adurosmart.js +17 -7
  17. package/devices/adurosmart.js.map +1 -1
  18. package/devices/airam.js +17 -7
  19. package/devices/airam.js.map +1 -1
  20. package/devices/airzone_aidoo.js +17 -7
  21. package/devices/airzone_aidoo.js.map +1 -1
  22. package/devices/ajax_online.js +17 -7
  23. package/devices/ajax_online.js.map +1 -1
  24. package/devices/akuvox.js +17 -7
  25. package/devices/akuvox.js.map +1 -1
  26. package/devices/aldi.js +17 -7
  27. package/devices/aldi.js.map +1 -1
  28. package/devices/alecto.js +17 -7
  29. package/devices/alecto.js.map +1 -1
  30. package/devices/amina.js +17 -7
  31. package/devices/amina.js.map +1 -1
  32. package/devices/atlantic.js +17 -7
  33. package/devices/atlantic.js.map +1 -1
  34. package/devices/aubess.js +17 -7
  35. package/devices/aubess.js.map +1 -1
  36. package/devices/aurora_lighting.js +17 -7
  37. package/devices/aurora_lighting.js.map +1 -1
  38. package/devices/automaton.js +17 -7
  39. package/devices/automaton.js.map +1 -1
  40. package/devices/avatto.js +17 -7
  41. package/devices/avatto.js.map +1 -1
  42. package/devices/awox.js +17 -7
  43. package/devices/awox.js.map +1 -1
  44. package/devices/axis.js +17 -7
  45. package/devices/axis.js.map +1 -1
  46. package/devices/bitron.js +17 -7
  47. package/devices/bitron.js.map +1 -1
  48. package/devices/bituo_technik.js +17 -7
  49. package/devices/bituo_technik.js.map +1 -1
  50. package/devices/blaupunkt.js +17 -7
  51. package/devices/blaupunkt.js.map +1 -1
  52. package/devices/blitzwolf.js +17 -7
  53. package/devices/blitzwolf.js.map +1 -1
  54. package/devices/bosch.js +19 -9
  55. package/devices/bosch.js.map +1 -1
  56. package/devices/brimate.js +17 -7
  57. package/devices/brimate.js.map +1 -1
  58. package/devices/bseed.js +17 -7
  59. package/devices/bseed.js.map +1 -1
  60. package/devices/bticino.js +17 -7
  61. package/devices/bticino.js.map +1 -1
  62. package/devices/busch_jaeger.d.ts.map +1 -1
  63. package/devices/busch_jaeger.js +37 -31
  64. package/devices/busch_jaeger.js.map +1 -1
  65. package/devices/byun.js +17 -7
  66. package/devices/byun.js.map +1 -1
  67. package/devices/calex.js +17 -7
  68. package/devices/calex.js.map +1 -1
  69. package/devices/candeo.d.ts.map +1 -1
  70. package/devices/candeo.js +15 -72
  71. package/devices/candeo.js.map +1 -1
  72. package/devices/casaia.js +17 -7
  73. package/devices/casaia.js.map +1 -1
  74. package/devices/centralite.js +17 -7
  75. package/devices/centralite.js.map +1 -1
  76. package/devices/cleverio.d.ts.map +1 -1
  77. package/devices/cleverio.js +17 -18
  78. package/devices/cleverio.js.map +1 -1
  79. package/devices/climax.js +17 -7
  80. package/devices/climax.js.map +1 -1
  81. package/devices/ctm.js +17 -7
  82. package/devices/ctm.js.map +1 -1
  83. package/devices/current_products_corp.js +17 -7
  84. package/devices/current_products_corp.js.map +1 -1
  85. package/devices/custom_devices_diy.d.ts.map +1 -1
  86. package/devices/custom_devices_diy.js +25 -8
  87. package/devices/custom_devices_diy.js.map +1 -1
  88. package/devices/danalock.js +17 -7
  89. package/devices/danalock.js.map +1 -1
  90. package/devices/danfoss.js +17 -7
  91. package/devices/danfoss.js.map +1 -1
  92. package/devices/databyte.js +17 -7
  93. package/devices/databyte.js.map +1 -1
  94. package/devices/datek.js +17 -7
  95. package/devices/datek.js.map +1 -1
  96. package/devices/dawon_dns.js +17 -7
  97. package/devices/dawon_dns.js.map +1 -1
  98. package/devices/develco.js +17 -7
  99. package/devices/develco.js.map +1 -1
  100. package/devices/diyruz.js +17 -7
  101. package/devices/diyruz.js.map +1 -1
  102. package/devices/dlink.js +17 -7
  103. package/devices/dlink.js.map +1 -1
  104. package/devices/easyaccess.js +17 -7
  105. package/devices/easyaccess.js.map +1 -1
  106. package/devices/easyiot.js +17 -7
  107. package/devices/easyiot.js.map +1 -1
  108. package/devices/echostar.js +17 -7
  109. package/devices/echostar.js.map +1 -1
  110. package/devices/ecodim.js +19 -9
  111. package/devices/ecodim.js.map +1 -1
  112. package/devices/ecolink.js +17 -7
  113. package/devices/ecolink.js.map +1 -1
  114. package/devices/ecozy.js +17 -7
  115. package/devices/ecozy.js.map +1 -1
  116. package/devices/edp.js +17 -7
  117. package/devices/edp.js.map +1 -1
  118. package/devices/eglo.js +17 -7
  119. package/devices/eglo.js.map +1 -1
  120. package/devices/elko.js +20 -10
  121. package/devices/elko.js.map +1 -1
  122. package/devices/enocean.js +17 -7
  123. package/devices/enocean.js.map +1 -1
  124. package/devices/envilar.js +17 -7
  125. package/devices/envilar.js.map +1 -1
  126. package/devices/essentialb.js +17 -7
  127. package/devices/essentialb.js.map +1 -1
  128. package/devices/eurotronic.js +17 -7
  129. package/devices/eurotronic.js.map +1 -1
  130. package/devices/evanell.js +17 -7
  131. package/devices/evanell.js.map +1 -1
  132. package/devices/evn.js +17 -7
  133. package/devices/evn.js.map +1 -1
  134. package/devices/evology.js +17 -7
  135. package/devices/evology.js.map +1 -1
  136. package/devices/ewelink.d.ts.map +1 -1
  137. package/devices/ewelink.js +24 -7
  138. package/devices/ewelink.js.map +1 -1
  139. package/devices/fantem.js +17 -7
  140. package/devices/fantem.js.map +1 -1
  141. package/devices/feibit.js +17 -7
  142. package/devices/feibit.js.map +1 -1
  143. package/devices/fireangel.js +17 -7
  144. package/devices/fireangel.js.map +1 -1
  145. package/devices/frankever.js +17 -7
  146. package/devices/frankever.js.map +1 -1
  147. package/devices/futurehome.js +17 -7
  148. package/devices/futurehome.js.map +1 -1
  149. package/devices/ge.js +17 -7
  150. package/devices/ge.js.map +1 -1
  151. package/devices/gewiss.js +17 -7
  152. package/devices/gewiss.js.map +1 -1
  153. package/devices/giex.js +17 -7
  154. package/devices/giex.js.map +1 -1
  155. package/devices/girier.js +17 -7
  156. package/devices/girier.js.map +1 -1
  157. package/devices/gledopto.d.ts.map +1 -1
  158. package/devices/gledopto.js +52 -11
  159. package/devices/gledopto.js.map +1 -1
  160. package/devices/gmmts.js +17 -7
  161. package/devices/gmmts.js.map +1 -1
  162. package/devices/halemeier.js +17 -7
  163. package/devices/halemeier.js.map +1 -1
  164. package/devices/hampton_bay.js +17 -7
  165. package/devices/hampton_bay.js.map +1 -1
  166. package/devices/heiman.js +17 -7
  167. package/devices/heiman.js.map +1 -1
  168. package/devices/heimgard_technologies.js +17 -7
  169. package/devices/heimgard_technologies.js.map +1 -1
  170. package/devices/hive.js +17 -7
  171. package/devices/hive.js.map +1 -1
  172. package/devices/hommyn.js +17 -7
  173. package/devices/hommyn.js.map +1 -1
  174. package/devices/honyar.js +17 -7
  175. package/devices/honyar.js.map +1 -1
  176. package/devices/hzc_electric.js +17 -7
  177. package/devices/hzc_electric.js.map +1 -1
  178. package/devices/icasa.js +17 -7
  179. package/devices/icasa.js.map +1 -1
  180. package/devices/ihorn.js +17 -7
  181. package/devices/ihorn.js.map +1 -1
  182. package/devices/ikea.d.ts.map +1 -1
  183. package/devices/ikea.js +21 -7
  184. package/devices/ikea.js.map +1 -1
  185. package/devices/iluminize.js +17 -7
  186. package/devices/iluminize.js.map +1 -1
  187. package/devices/imhotepcreation.js +17 -7
  188. package/devices/imhotepcreation.js.map +1 -1
  189. package/devices/immax.js +17 -7
  190. package/devices/immax.js.map +1 -1
  191. package/devices/index.d.ts.map +1 -1
  192. package/devices/index.js +6 -0
  193. package/devices/index.js.map +1 -1
  194. package/devices/innr.d.ts.map +1 -1
  195. package/devices/innr.js +18 -7
  196. package/devices/innr.js.map +1 -1
  197. package/devices/inovelli.js +17 -7
  198. package/devices/inovelli.js.map +1 -1
  199. package/devices/insta.js +17 -7
  200. package/devices/insta.js.map +1 -1
  201. package/devices/iotperfect.js +17 -7
  202. package/devices/iotperfect.js.map +1 -1
  203. package/devices/iris.js +17 -7
  204. package/devices/iris.js.map +1 -1
  205. package/devices/javis.js +17 -7
  206. package/devices/javis.js.map +1 -1
  207. package/devices/jethome.js +17 -7
  208. package/devices/jethome.js.map +1 -1
  209. package/devices/jxuan.js +17 -7
  210. package/devices/jxuan.js.map +1 -1
  211. package/devices/kami.js +17 -7
  212. package/devices/kami.js.map +1 -1
  213. package/devices/keen_home.js +17 -7
  214. package/devices/keen_home.js.map +1 -1
  215. package/devices/kmpcil.js +17 -7
  216. package/devices/kmpcil.js.map +1 -1
  217. package/devices/konke.js +17 -7
  218. package/devices/konke.js.map +1 -1
  219. package/devices/kwikset.js +17 -7
  220. package/devices/kwikset.js.map +1 -1
  221. package/devices/led_trading.js +17 -7
  222. package/devices/led_trading.js.map +1 -1
  223. package/devices/leedarson.js +17 -7
  224. package/devices/leedarson.js.map +1 -1
  225. package/devices/legrand.js +17 -7
  226. package/devices/legrand.js.map +1 -1
  227. package/devices/lellki.js +17 -7
  228. package/devices/lellki.js.map +1 -1
  229. package/devices/letv.js +17 -7
  230. package/devices/letv.js.map +1 -1
  231. package/devices/leviton.js +17 -7
  232. package/devices/leviton.js.map +1 -1
  233. package/devices/lidl.js +17 -7
  234. package/devices/lidl.js.map +1 -1
  235. package/devices/lifecontrol.js +17 -7
  236. package/devices/lifecontrol.js.map +1 -1
  237. package/devices/linkind.js +17 -7
  238. package/devices/linkind.js.map +1 -1
  239. package/devices/linptech.js +17 -7
  240. package/devices/linptech.js.map +1 -1
  241. package/devices/livingwise.js +17 -7
  242. package/devices/livingwise.js.map +1 -1
  243. package/devices/livolo.js +17 -7
  244. package/devices/livolo.js.map +1 -1
  245. package/devices/lixee.js +17 -7
  246. package/devices/lixee.js.map +1 -1
  247. package/devices/lonsonho.js +17 -7
  248. package/devices/lonsonho.js.map +1 -1
  249. package/devices/ls.js +17 -7
  250. package/devices/ls.js.map +1 -1
  251. package/devices/lumi.d.ts.map +1 -1
  252. package/devices/lumi.js +24 -7
  253. package/devices/lumi.js.map +1 -1
  254. package/devices/lupus.js +17 -7
  255. package/devices/lupus.js.map +1 -1
  256. package/devices/lutron.js +17 -7
  257. package/devices/lutron.js.map +1 -1
  258. package/devices/lux.js +17 -7
  259. package/devices/lux.js.map +1 -1
  260. package/devices/lytko.js +17 -7
  261. package/devices/lytko.js.map +1 -1
  262. package/devices/makegood.js +17 -7
  263. package/devices/makegood.js.map +1 -1
  264. package/devices/meazon.js +17 -7
  265. package/devices/meazon.js.map +1 -1
  266. package/devices/mercator.js +17 -7
  267. package/devices/mercator.js.map +1 -1
  268. package/devices/miboxer.js +17 -7
  269. package/devices/miboxer.js.map +1 -1
  270. package/devices/moes.js +17 -7
  271. package/devices/moes.js.map +1 -1
  272. package/devices/muller_licht.js +17 -7
  273. package/devices/muller_licht.js.map +1 -1
  274. package/devices/multiterm.js +17 -7
  275. package/devices/multiterm.js.map +1 -1
  276. package/devices/namron.js +17 -7
  277. package/devices/namron.js.map +1 -1
  278. package/devices/neo.js +17 -7
  279. package/devices/neo.js.map +1 -1
  280. package/devices/net2grid.js +17 -7
  281. package/devices/net2grid.js.map +1 -1
  282. package/devices/netvox.js +17 -7
  283. package/devices/netvox.js.map +1 -1
  284. package/devices/niko.js +17 -7
  285. package/devices/niko.js.map +1 -1
  286. package/devices/ninja_blocks.js +17 -7
  287. package/devices/ninja_blocks.js.map +1 -1
  288. package/devices/nodon.js +17 -7
  289. package/devices/nodon.js.map +1 -1
  290. package/devices/nous.js +18 -8
  291. package/devices/nous.js.map +1 -1
  292. package/devices/novo.js +17 -7
  293. package/devices/novo.js.map +1 -1
  294. package/devices/nue_3a.js +17 -7
  295. package/devices/nue_3a.js.map +1 -1
  296. package/devices/nyce.js +17 -7
  297. package/devices/nyce.js.map +1 -1
  298. package/devices/onenuo.js +17 -7
  299. package/devices/onenuo.js.map +1 -1
  300. package/devices/onesti.js +17 -7
  301. package/devices/onesti.js.map +1 -1
  302. package/devices/openlumi.js +17 -7
  303. package/devices/openlumi.js.map +1 -1
  304. package/devices/orvibo.js +17 -7
  305. package/devices/orvibo.js.map +1 -1
  306. package/devices/osram.js +17 -7
  307. package/devices/osram.js.map +1 -1
  308. package/devices/oujiabao.js +17 -7
  309. package/devices/oujiabao.js.map +1 -1
  310. package/devices/owon.js +17 -7
  311. package/devices/owon.js.map +1 -1
  312. package/devices/ozsmartthings.js +17 -7
  313. package/devices/ozsmartthings.js.map +1 -1
  314. package/devices/paul_neuhaus.js +17 -7
  315. package/devices/paul_neuhaus.js.map +1 -1
  316. package/devices/paulmann.js +17 -7
  317. package/devices/paulmann.js.map +1 -1
  318. package/devices/peq.js +17 -7
  319. package/devices/peq.js.map +1 -1
  320. package/devices/perenio.js +17 -7
  321. package/devices/perenio.js.map +1 -1
  322. package/devices/philips.d.ts.map +1 -1
  323. package/devices/philips.js +27 -18
  324. package/devices/philips.js.map +1 -1
  325. package/devices/plaid.js +17 -7
  326. package/devices/plaid.js.map +1 -1
  327. package/devices/plugwise.js +17 -7
  328. package/devices/plugwise.js.map +1 -1
  329. package/devices/profalux.js +17 -7
  330. package/devices/profalux.js.map +1 -1
  331. package/devices/prolight.js +17 -7
  332. package/devices/prolight.js.map +1 -1
  333. package/devices/pushok.js +1 -1
  334. package/devices/pushok.js.map +1 -1
  335. package/devices/qa.js +17 -7
  336. package/devices/qa.js.map +1 -1
  337. package/devices/qmotion.js +17 -7
  338. package/devices/qmotion.js.map +1 -1
  339. package/devices/qoto.js +17 -7
  340. package/devices/qoto.js.map +1 -1
  341. package/devices/rgb_genie.js +17 -7
  342. package/devices/rgb_genie.js.map +1 -1
  343. package/devices/robb.js +18 -8
  344. package/devices/robb.js.map +1 -1
  345. package/devices/roome.js +17 -7
  346. package/devices/roome.js.map +1 -1
  347. package/devices/rtx.js +17 -7
  348. package/devices/rtx.js.map +1 -1
  349. package/devices/salus_controls.js +17 -7
  350. package/devices/salus_controls.js.map +1 -1
  351. package/devices/saswell.js +17 -7
  352. package/devices/saswell.js.map +1 -1
  353. package/devices/schlage.js +17 -7
  354. package/devices/schlage.js.map +1 -1
  355. package/devices/schneider_electric.d.ts.map +1 -1
  356. package/devices/schneider_electric.js +164 -64
  357. package/devices/schneider_electric.js.map +1 -1
  358. package/devices/schwaiger.d.ts.map +1 -1
  359. package/devices/schwaiger.js +24 -7
  360. package/devices/schwaiger.js.map +1 -1
  361. package/devices/securifi.js +17 -7
  362. package/devices/securifi.js.map +1 -1
  363. package/devices/sercomm.js +17 -7
  364. package/devices/sercomm.js.map +1 -1
  365. package/devices/shade_control.js +17 -7
  366. package/devices/shade_control.js.map +1 -1
  367. package/devices/shinasystem.js +17 -7
  368. package/devices/shinasystem.js.map +1 -1
  369. package/devices/shyugj.d.ts +4 -0
  370. package/devices/shyugj.d.ts.map +1 -0
  371. package/devices/shyugj.js +21 -0
  372. package/devices/shyugj.js.map +1 -0
  373. package/devices/siglis.js +17 -7
  374. package/devices/siglis.js.map +1 -1
  375. package/devices/sikom.js +17 -7
  376. package/devices/sikom.js.map +1 -1
  377. package/devices/sinope.js +17 -7
  378. package/devices/sinope.js.map +1 -1
  379. package/devices/siterwell.d.ts.map +1 -1
  380. package/devices/siterwell.js +20 -8
  381. package/devices/siterwell.js.map +1 -1
  382. package/devices/skydance.js +17 -7
  383. package/devices/skydance.js.map +1 -1
  384. package/devices/smart9.js +17 -7
  385. package/devices/smart9.js.map +1 -1
  386. package/devices/smartenit.js +17 -7
  387. package/devices/smartenit.js.map +1 -1
  388. package/devices/smartthings.d.ts.map +1 -1
  389. package/devices/smartthings.js +19 -7
  390. package/devices/smartthings.js.map +1 -1
  391. package/devices/smartwings.js +17 -7
  392. package/devices/smartwings.js.map +1 -1
  393. package/devices/somfy.d.ts.map +1 -1
  394. package/devices/somfy.js +19 -16
  395. package/devices/somfy.js.map +1 -1
  396. package/devices/somgoms.js +17 -7
  397. package/devices/somgoms.js.map +1 -1
  398. package/devices/sonoff.d.ts.map +1 -1
  399. package/devices/sonoff.js +293 -13
  400. package/devices/sonoff.js.map +1 -1
  401. package/devices/stelpro.js +17 -7
  402. package/devices/stelpro.js.map +1 -1
  403. package/devices/sunricher.d.ts.map +1 -1
  404. package/devices/sunricher.js +146 -7
  405. package/devices/sunricher.js.map +1 -1
  406. package/devices/swann.js +17 -7
  407. package/devices/swann.js.map +1 -1
  408. package/devices/sylvania.js +17 -7
  409. package/devices/sylvania.js.map +1 -1
  410. package/devices/tapestry.js +17 -7
  411. package/devices/tapestry.js.map +1 -1
  412. package/devices/tech.d.ts +4 -0
  413. package/devices/tech.d.ts.map +1 -0
  414. package/devices/tech.js +128 -0
  415. package/devices/tech.js.map +1 -0
  416. package/devices/technicolor.js +17 -7
  417. package/devices/technicolor.js.map +1 -1
  418. package/devices/terncy.js +17 -7
  419. package/devices/terncy.js.map +1 -1
  420. package/devices/the_light_group.js +17 -7
  421. package/devices/the_light_group.js.map +1 -1
  422. package/devices/third_reality.js +17 -7
  423. package/devices/third_reality.js.map +1 -1
  424. package/devices/titan_products.js +17 -7
  425. package/devices/titan_products.js.map +1 -1
  426. package/devices/tplink.js +17 -7
  427. package/devices/tplink.js.map +1 -1
  428. package/devices/trust.js +17 -7
  429. package/devices/trust.js.map +1 -1
  430. package/devices/tubeszb.js +17 -7
  431. package/devices/tubeszb.js.map +1 -1
  432. package/devices/tuya.d.ts.map +1 -1
  433. package/devices/tuya.js +314 -31
  434. package/devices/tuya.js.map +1 -1
  435. package/devices/ubisys.js +17 -7
  436. package/devices/ubisys.js.map +1 -1
  437. package/devices/uhome.js +17 -7
  438. package/devices/uhome.js.map +1 -1
  439. package/devices/universal_electronics_inc.js +17 -7
  440. package/devices/universal_electronics_inc.js.map +1 -1
  441. package/devices/vesternet.js +17 -7
  442. package/devices/vesternet.js.map +1 -1
  443. package/devices/viessmann.js +17 -7
  444. package/devices/viessmann.js.map +1 -1
  445. package/devices/vimar.js +17 -7
  446. package/devices/vimar.js.map +1 -1
  447. package/devices/visonic.js +17 -7
  448. package/devices/visonic.js.map +1 -1
  449. package/devices/wally.js +17 -7
  450. package/devices/wally.js.map +1 -1
  451. package/devices/waxman.js +17 -7
  452. package/devices/waxman.js.map +1 -1
  453. package/devices/weiser.js +17 -7
  454. package/devices/weiser.js.map +1 -1
  455. package/devices/weten.js +17 -7
  456. package/devices/weten.js.map +1 -1
  457. package/devices/wirenboard.js +17 -7
  458. package/devices/wirenboard.js.map +1 -1
  459. package/devices/woolley.js +17 -7
  460. package/devices/woolley.js.map +1 -1
  461. package/devices/woox.js +17 -7
  462. package/devices/woox.js.map +1 -1
  463. package/devices/wyze.js +17 -7
  464. package/devices/wyze.js.map +1 -1
  465. package/devices/xyzroe.js +17 -7
  466. package/devices/xyzroe.js.map +1 -1
  467. package/devices/yale.js +17 -7
  468. package/devices/yale.js.map +1 -1
  469. package/devices/yandex.d.ts +4 -0
  470. package/devices/yandex.d.ts.map +1 -0
  471. package/devices/yandex.js +410 -0
  472. package/devices/yandex.js.map +1 -0
  473. package/devices/ynoa.js +17 -7
  474. package/devices/ynoa.js.map +1 -1
  475. package/devices/yookee.js +17 -7
  476. package/devices/yookee.js.map +1 -1
  477. package/devices/ysrsai.js +17 -7
  478. package/devices/ysrsai.js.map +1 -1
  479. package/devices/zemismart.js +17 -7
  480. package/devices/zemismart.js.map +1 -1
  481. package/devices/zen.js +17 -7
  482. package/devices/zen.js.map +1 -1
  483. package/index.d.ts +6 -5
  484. package/index.d.ts.map +1 -1
  485. package/index.js +108 -53
  486. package/index.js.map +1 -1
  487. package/lib/exposes.d.ts +1 -0
  488. package/lib/exposes.d.ts.map +1 -1
  489. package/lib/exposes.js +9 -6
  490. package/lib/exposes.js.map +1 -1
  491. package/lib/generateDefinition.js +17 -7
  492. package/lib/generateDefinition.js.map +1 -1
  493. package/lib/ikea.js +17 -7
  494. package/lib/ikea.js.map +1 -1
  495. package/lib/ledvance.js +17 -7
  496. package/lib/ledvance.js.map +1 -1
  497. package/lib/legacy.js +17 -7
  498. package/lib/legacy.js.map +1 -1
  499. package/lib/legrand.js +17 -7
  500. package/lib/legrand.js.map +1 -1
  501. package/lib/light.js +17 -7
  502. package/lib/light.js.map +1 -1
  503. package/lib/lumi.js +17 -7
  504. package/lib/lumi.js.map +1 -1
  505. package/lib/modernExtend.d.ts +1 -0
  506. package/lib/modernExtend.d.ts.map +1 -1
  507. package/lib/modernExtend.js +43 -9
  508. package/lib/modernExtend.js.map +1 -1
  509. package/lib/ota.d.ts +1 -1
  510. package/lib/ota.d.ts.map +1 -1
  511. package/lib/philips.js +19 -9
  512. package/lib/philips.js.map +1 -1
  513. package/lib/tuya.d.ts.map +1 -1
  514. package/lib/tuya.js +21 -10
  515. package/lib/tuya.js.map +1 -1
  516. package/lib/types.d.ts +18 -19
  517. package/lib/types.d.ts.map +1 -1
  518. package/lib/utils.d.ts +1 -1
  519. package/lib/utils.d.ts.map +1 -1
  520. package/lib/utils.js +17 -7
  521. package/lib/utils.js.map +1 -1
  522. package/lib/zosung.js +17 -7
  523. package/lib/zosung.js.map +1 -1
  524. package/package.json +10 -10
package/devices/tuya.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
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
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -995,6 +1005,7 @@ const definitions = [
995
1005
  { modelID: 'TS0601', manufacturerName: '_TZE200_vs0skpuc' },
996
1006
  { modelID: 'TS0601', manufacturerName: '_TZE200_44af8vyi' },
997
1007
  { modelID: 'TS0601', manufacturerName: '_TZE200_zl1kmjqx' },
1008
+ { modelID: 'TS0601', manufacturerName: '_TZE204_qyflbnbj' },
998
1009
  ],
999
1010
  model: 'TS0601_temperature_humidity_sensor_1',
1000
1011
  vendor: 'Tuya',
@@ -1003,7 +1014,7 @@ const definitions = [
1003
1014
  toZigbee: [],
1004
1015
  exposes: (device, options) => {
1005
1016
  const exps = [e.temperature(), e.humidity(), e.battery()];
1006
- if (!device || device.manufacturerName === '_TZE200_qyflbnbj') {
1017
+ if (!device || device.manufacturerName === '_TZE200_qyflbnbj' || device.manufacturerName === '_TZE204_qyflbnbj') {
1007
1018
  exps.push(e.battery_low());
1008
1019
  exps.push(e.enum('battery_level', ea.STATE, ['low', 'middle', 'high']).withDescription('Battery level state'));
1009
1020
  }
@@ -1316,13 +1327,22 @@ const definitions = [
1316
1327
  },
1317
1328
  {
1318
1329
  fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ogkdpgy2', '_TZE200_3ejwxpmu']),
1319
- model: 'TS0601_co2_sensor',
1330
+ model: 'TS0601_temperature_humidity_co2_sensor',
1320
1331
  vendor: 'Tuya',
1321
1332
  description: 'NDIR co2 sensor',
1322
1333
  fromZigbee: [legacy.fromZigbee.tuya_air_quality],
1323
1334
  toZigbee: [],
1324
1335
  exposes: [e.temperature(), e.humidity(), e.co2()],
1325
1336
  },
1337
+ {
1338
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_ogkdpgy2']),
1339
+ model: 'TS0601_co2_sensor',
1340
+ vendor: 'Tuya',
1341
+ description: 'NDIR co2 sensor',
1342
+ fromZigbee: [legacy.fromZigbee.tuya_air_quality],
1343
+ toZigbee: [],
1344
+ exposes: [e.co2()],
1345
+ },
1326
1346
  {
1327
1347
  fingerprint: [{ modelID: 'TS0601', manufacturerName: '_TZE200_7bztmfm1' }],
1328
1348
  model: 'TS0601_smart_CO_air_box',
@@ -1583,10 +1603,11 @@ const definitions = [
1583
1603
  tuya.whitelabel('Tuya', 'HG08007', 'Livarno Home outdoor LED band', ['_TZ3210_zbabx9wh']),
1584
1604
  tuya.whitelabel('Lidl', '14158704L', 'Livarno Home LED floor lamp, RGBW', ['_TZ3210_z1vlyufu']),
1585
1605
  tuya.whitelabel('Lidl', '14158804L', 'Livarno Home LED desk lamp RGBW', ['_TZ3210_hxtfthp5']),
1586
- tuya.whitelabel('Lidl', 'HG07834A/HG09155A', 'Livarno Lux GU10 spot RGB', ['_TZ3000_quqaeew6']),
1587
- tuya.whitelabel('Lidl', 'HG07834B', 'Livarno Lux E14 candle RGB', ['_TZ3000_th6zqqy6', '_TZ3000_wr6g6olr']),
1606
+ tuya.whitelabel('Lidl', 'HG07834A/HG09155A/HG08131A', 'Livarno Home GU10 spot RGB+CCT', ['_TZ3000_quqaeew6']),
1607
+ tuya.whitelabel('Lidl', 'HG07834B/HG08131B', 'Livarno Home E14 candle RGB+CCT', ['_TZ3000_th6zqqy6']),
1608
+ tuya.whitelabel('Lidl', 'HG07834B', 'Livarno Home E14 candle RGB+CCT', ['_TZ3000_wr6g6olr']),
1588
1609
  tuya.whitelabel('Lidl', 'HG08131C', 'Livarno Home outdoor E27 bulb in set with flare', ['_TZ3000_q50zhdsc']),
1589
- tuya.whitelabel('Lidl', 'HG07834C', 'Livarno Lux E27 bulb RGB', ['_TZ3000_qd7hej8u']),
1610
+ tuya.whitelabel('Lidl', 'HG07834C/HG08131C', 'Livarno Home E27 bulb RGB+CCT', ['_TZ3000_qd7hej8u']),
1590
1611
  tuya.whitelabel('MiBoxer', 'FUT037Z+', 'RGB led controller', ['_TZB210_417ikxay', '_TZB210_wxazcmsh']),
1591
1612
  tuya.whitelabel('Lidl', 'HG08383B', 'Livarno outdoor LED light chain', ['_TZ3000_bwlvyjwk']),
1592
1613
  tuya.whitelabel('Lidl', 'HG08383A', 'Livarno outdoor LED light chain', ['_TZ3000_taspddvq']),
@@ -1645,6 +1666,19 @@ const definitions = [
1645
1666
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', { colorCapabilities: 29 });
1646
1667
  },
1647
1668
  },
1669
+ {
1670
+ fingerprint: tuya.fingerprint('TS0505B', ['_TZ3210_bfwvfyx1']),
1671
+ model: 'TS0505B_4',
1672
+ vendor: 'Tuya',
1673
+ description: 'Zigbee RGB+CCT light',
1674
+ whiteLabel: [tuya.whitelabel('Tuya', 'TS0505B_4_1', 'Zigbee 3.0 15W led light bulb E27 RGBCW', ['_TZ3210_bfwvfyx1'])],
1675
+ toZigbee: [toZigbee_1.default.on_off, tzLocal.led_control, tuya.tz.do_not_disturb],
1676
+ fromZigbee: [fromZigbee_1.default.on_off, fromZigbee_1.default.tuya_led_controller, fromZigbee_1.default.brightness, fromZigbee_1.default.ignore_basic_report],
1677
+ exposes: [e.light_brightness_colortemp_colorhs([50, 1000]).removeFeature('color_temp_startup'), tuya.exposes.doNotDisturb()],
1678
+ configure: async (device, coordinatorEndpoint) => {
1679
+ device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', { colorCapabilities: 29 });
1680
+ },
1681
+ },
1648
1682
  {
1649
1683
  zigbeeModel: ['TS0503B'],
1650
1684
  model: 'TS0503B',
@@ -1896,8 +1930,11 @@ const definitions = [
1896
1930
  whiteLabel: [
1897
1931
  { vendor: 'CR Smart Home', model: 'TS0207' },
1898
1932
  tuya.whitelabel('Meian', 'SW02', 'Water leak sensor', ['_TZ3000_kyb656no']),
1899
- tuya.whitelabel('Aubess', 'IH-K665', 'Water leak sensor', ['_TZ3000_k4ej3ww2', '_TZ3000_kstbkt6a', '_TZ3000_upgcbody']),
1900
- tuya.whitelabel('Tuya', 'TS0207_water_leak_detector_1', 'Zigbee water flood sensor + 1m probe cable', ['_TZ3000_ocjlo4ea']),
1933
+ tuya.whitelabel('Aubess', 'IH-K665', 'Water leak sensor', ['_TZ3000_k4ej3ww2', '_TZ3000_kstbkt6a']),
1934
+ tuya.whitelabel('Tuya', 'TS0207_water_leak_detector_1', 'Zigbee water flood sensor + 1m probe cable', [
1935
+ '_TZ3000_ocjlo4ea',
1936
+ '_TZ3000_upgcbody',
1937
+ ]),
1901
1938
  tuya.whitelabel('Tuya', 'TS0207_water_leak_detector_3', 'Zigbee water leak sensor', ['_TYZB01_sqmd19i1']),
1902
1939
  tuya.whitelabel('Tuya', '899WZ', 'Water leak detector with 80DB Alarm', ['_TZ3000_mugyhz0q']),
1903
1940
  tuya.whitelabel('Niceboy', 'ORBIS Water Sensor', 'Water leak sensor', ['_TZ3000_awvmkayh']),
@@ -2413,6 +2450,10 @@ const definitions = [
2413
2450
  modelID: 'TS0601',
2414
2451
  manufacturerName: '_TZE204_o9gyszw2',
2415
2452
  },
2453
+ {
2454
+ modelID: 'TS0601',
2455
+ manufacturerName: '_TZE204_jtbgusdc',
2456
+ },
2416
2457
  ],
2417
2458
  model: 'ZDMS16-2',
2418
2459
  vendor: 'Avatto',
@@ -2732,7 +2773,7 @@ const definitions = [
2732
2773
  },
2733
2774
  },
2734
2775
  {
2735
- fingerprint: tuya.fingerprint('TS0601', ['_TZE200_mwvfvw8g', '_TZE200_wnp4d4va', '_TZE200_cduqh1l0', '_TZE200_emxxanvi']),
2776
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE200_mwvfvw8g', '_TZE200_wnp4d4va', '_TZE200_cduqh1l0', '_TZE200_emxxanvi', '_TZE204_g4au0afs']),
2736
2777
  model: 'TS0601_switch_6_gang',
2737
2778
  vendor: 'Tuya',
2738
2779
  description: '6 gang switch',
@@ -2770,7 +2811,7 @@ const definitions = [
2770
2811
  },
2771
2812
  },
2772
2813
  {
2773
- fingerprint: tuya.fingerprint('TS0601', ['_TZE204_ojtqawav', '_TZE204_gbagoilo']),
2814
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_ojtqawav', '_TZE204_gbagoilo', '_TZE200_ojtqawav']),
2774
2815
  model: 'TS0601_switch_1_gang',
2775
2816
  vendor: 'Tuya',
2776
2817
  description: '1 gang switch',
@@ -2910,6 +2951,7 @@ const definitions = [
2910
2951
  '_TZ3000_0dumfk2z',
2911
2952
  '_TZ3000_ssp0maqm',
2912
2953
  '_TZ3000_p3fph1go',
2954
+ '_TZ3000_9r5jaajv',
2913
2955
  ]),
2914
2956
  model: 'TS0215A_sos',
2915
2957
  vendor: 'Tuya',
@@ -3055,6 +3097,7 @@ const definitions = [
3055
3097
  toZigbee: [],
3056
3098
  exposes: [e.battery(), e.temperature(), e.humidity(), e.battery_voltage()],
3057
3099
  configure: tuya.configureMagicPacket,
3100
+ ota: true,
3058
3101
  whiteLabel: [
3059
3102
  { vendor: 'BlitzWolf', model: 'BW-IS4' },
3060
3103
  tuya.whitelabel('Tuya', 'TS0201_1', 'Zigbee 3.0 temperature humidity sensor with display', ['_TZ3210_alxkwn0h']),
@@ -3093,7 +3136,10 @@ const definitions = [
3093
3136
  },
3094
3137
  },
3095
3138
  {
3096
- fingerprint: [...tuya.fingerprint('TS0201', ['_TZ3000_dowj6gyi', '_TZ3000_8ybe88nf']), { manufacturerName: '_TZ3000_zl1kmjqx' }],
3139
+ fingerprint: [
3140
+ ...tuya.fingerprint('TS0201', ['_TZ3000_dowj6gyi', '_TZ3000_8ybe88nf', '_TZ3000_akqdg6g7']),
3141
+ { manufacturerName: '_TZ3000_zl1kmjqx' },
3142
+ ],
3097
3143
  model: 'IH-K009',
3098
3144
  vendor: 'Tuya',
3099
3145
  description: 'Temperature & humidity sensor',
@@ -3168,6 +3214,26 @@ const definitions = [
3168
3214
  * Initially wrapped in a try catch: https://github.com/Koenkk/zigbee2mqtt/issues/6313
3169
3215
  */
3170
3216
  },
3217
+ {
3218
+ zigbeeModel: ['TS0041A'],
3219
+ model: 'TS0041A',
3220
+ vendor: 'Tuya',
3221
+ description: 'Wireless switch with 1 button',
3222
+ whiteLabel: [
3223
+ tuya.whitelabel('Cleverio', 'SB100', 'Wireless switch with 1 button', ['_TYZB01_4qw4rl1u']),
3224
+ tuya.whitelabel('Marmitek', 'Push_ME', 'Wireless switch with 1 button', ['_TYZB01_1xktopx6']),
3225
+ ],
3226
+ exposes: [e.battery(), e.battery_voltage(), e.action(['single', 'double', 'hold'])],
3227
+ fromZigbee: [tuya.fz.on_off_action, fromZigbee_1.default.battery],
3228
+ toZigbee: [],
3229
+ configure: tuya.configureMagicPacket,
3230
+ /*
3231
+ * reporting.batteryPercentageRemaining removed as it was causing devices to fall of the network
3232
+ * every 1 hour, with light flashing when it happened, extremely short battery life, 2 presses for
3233
+ * action to register: https://github.com/Koenkk/zigbee2mqtt/issues/8072
3234
+ * Initially wrapped in a try catch: https://github.com/Koenkk/zigbee2mqtt/issues/6313
3235
+ */
3236
+ },
3171
3237
  {
3172
3238
  zigbeeModel: ['TS0042'],
3173
3239
  model: 'TS0042',
@@ -3220,6 +3286,7 @@ const definitions = [
3220
3286
  { vendor: 'Haozee', model: 'ESW-OZAA-EU' },
3221
3287
  { vendor: 'LoraTap', model: 'SS6400ZB' },
3222
3288
  { vendor: 'Moes', model: 'ZT-SY-EU-G-4S-WH-MS' },
3289
+ { vendor: 'Nedis', model: 'ZBWS40WT' },
3223
3290
  tuya.whitelabel('Moes', 'ZT-SR-EU4', 'Star Ring 4 Gang Scene Switch', ['_TZ3000_a4xycprs']),
3224
3291
  tuya.whitelabel('Tuya', 'TS0044_1', 'Zigbee 4 button remote - 12 scene', ['_TZ3000_dziaict4', '_TZ3000_mh9px7cq', '_TZ3000_j61x9rxn']),
3225
3292
  tuya.whitelabel('Tuya', 'TM-YKQ004', 'Zigbee 4 button remote - 12 scene', ['_TZ3000_u3nv1jwk']),
@@ -4194,6 +4261,7 @@ const definitions = [
4194
4261
  { modelID: 'TS0601', manufacturerName: '_TZE200_lpwgshtl' },
4195
4262
  { modelID: 'TS0601', manufacturerName: '_TZE200_rk1wojce' }, // Emos P5630S
4196
4263
  { modelID: 'TS0601', manufacturerName: '_TZE200_rndg81sf' },
4264
+ { modelID: 'TS0601', manufacturerName: '_TZE200_qjp4ynvi' },
4197
4265
  ],
4198
4266
  model: 'TS0601_thermostat',
4199
4267
  vendor: 'Tuya',
@@ -4640,11 +4708,16 @@ const definitions = [
4640
4708
  fingerprint: tuya.fingerprint('TS0601', [
4641
4709
  '_TZE200_bvu2wnxz' /* model: 'ME167', vendor: 'AVATTO' */,
4642
4710
  '_TZE200_6rdj8dzm' /* model: 'ME167', vendor: 'AVATTO' */,
4711
+ '_TZE200_9xfjixap' /* model: 'ME167', vendor: 'AVATTO' */,
4643
4712
  '_TZE200_p3dbf6qs' /* model: 'ME168', vendor: 'AVATTO' */,
4644
4713
  '_TZE200_rxntag7i' /* model: 'ME168', vendor: 'AVATTO' */,
4645
4714
  '_TZE200_yqgbrdyo',
4715
+ '_TZE284_p3dbf6qs',
4646
4716
  '_TZE200_rxq4iti9',
4647
4717
  '_TZE200_hvaxb2tc' /* model: 'TRV06', vendor: 'AVATTO' */,
4718
+ '_TZE284_o3x45p96' /* model: 'TRV06', vendor: 'AVATTO' */,
4719
+ '_TZE284_c6wv4xyo' /* model: 'AVATTO_TRV06', vendor: 'AVATTO_TRV06' */,
4720
+ '_TZE204_o3x45p96' /* model: 'AVATTO_TRV06', vendor: 'AVATTO_TRV06' */,
4648
4721
  ]),
4649
4722
  model: 'TS0601_thermostat_3',
4650
4723
  vendor: 'Tuya',
@@ -4652,10 +4725,11 @@ const definitions = [
4652
4725
  fromZigbee: [tuya.fz.datapoints],
4653
4726
  toZigbee: [tuya.tz.datapoints],
4654
4727
  whiteLabel: [
4655
- tuya.whitelabel('AVATTO', 'ME167', 'Thermostatic radiator valve', ['_TZE200_bvu2wnxz', '_TZE200_6rdj8dzm']),
4728
+ tuya.whitelabel('AVATTO', 'ME167', 'Thermostatic radiator valve', ['_TZE200_bvu2wnxz', '_TZE200_6rdj8dzm', '_TZE200_9xfjixap']),
4656
4729
  tuya.whitelabel('AVATTO', 'ME168', 'Thermostatic radiator valve', ['_TZE200_p3dbf6qs', '_TZE200_rxntag7i']),
4657
- tuya.whitelabel('AVATTO', 'TRV06_1', 'Thermostatic radiator valve', ['_TZE200_hvaxb2tc']),
4730
+ tuya.whitelabel('AVATTO', 'TRV06_1', 'Thermostatic radiator valve', ['_TZE200_hvaxb2tc', '_TZE284_o3x45p96']),
4658
4731
  tuya.whitelabel('EARU', 'TRV06', 'Smart thermostat module', ['_TZE200_yqgbrdyo', '_TZE200_rxq4iti9']),
4732
+ tuya.whitelabel('AVATTO', 'AVATTO_TRV06', 'Thermostatic radiator valve', ['_TZE284_c6wv4xyo', '_TZE204_o3x45p96']),
4659
4733
  ],
4660
4734
  onEvent: tuya.onEventSetTime,
4661
4735
  configure: tuya.configureMagicPacket,
@@ -4883,7 +4957,7 @@ const definitions = [
4883
4957
  e.min_temperature(),
4884
4958
  e.position(),
4885
4959
  e.window_detection(),
4886
- e.binary('window', ea.STATE, 'CLOSED', 'OPEN').withDescription('Window status closed or open '),
4960
+ e.binary('window', ea.STATE, 'CLOSE', 'OPEN').withDescription('Window status closed or open '),
4887
4961
  e.binary('alarm_switch', ea.STATE, 'ON', 'OFF').withDescription('Thermostat in error state'),
4888
4962
  e
4889
4963
  .climate()
@@ -6794,7 +6868,7 @@ const definitions = [
6794
6868
  tuya.valueConverterBasic.lookup((_, device) => {
6795
6869
  // https://github.com/Koenkk/zigbee2mqtt/issues/21353#issuecomment-1938328429
6796
6870
  if (device.manufacturerName === '_TZE200_viy9ihs7') {
6797
- return { auto: tuya.enum(1), manual: tuya.enum(0), temporary_manual: tuya.enum(2) };
6871
+ return { auto: tuya.enum(0), manual: tuya.enum(1), temporary_manual: tuya.enum(2) };
6798
6872
  }
6799
6873
  else {
6800
6874
  return { auto: tuya.enum(0), manual: tuya.enum(1), temporary_manual: tuya.enum(2) };
@@ -6925,13 +6999,14 @@ const definitions = [
6925
6999
  whiteLabel: [tuya.whitelabel('Tuya', 'QT-07S', 'Soil sensor', ['_TZE204_myd45weu'])],
6926
7000
  },
6927
7001
  {
6928
- fingerprint: tuya.fingerprint('TS0222', ['_TZ3000_8uxxzz4b', '_TZ3000_hy6ncvmw']),
7002
+ fingerprint: tuya.fingerprint('TS0222', ['_TZ3000_8uxxzz4b', '_TZ3000_hy6ncvmw', '_TZ3000_9kbbfeho']),
6929
7003
  model: 'TS0222_light',
6930
7004
  vendor: 'Tuya',
6931
7005
  description: 'Light sensor',
6932
7006
  fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.illuminance],
6933
7007
  toZigbee: [],
6934
7008
  configure: tuya.configureMagicPacket,
7009
+ whiteLabel: [tuya.whitelabel('Moes', 'ZSS-QT-LS-C', 'Light sensor', ['_TZ3000_9kbbfeho'])],
6935
7010
  exposes: [e.battery(), e.illuminance()],
6936
7011
  },
6937
7012
  {
@@ -8551,6 +8626,7 @@ const definitions = [
8551
8626
  e.light_brightness().withMinBrightness().withMaxBrightness(),
8552
8627
  tuya.exposes.lightType().withAccess(ea.ALL),
8553
8628
  e.power_on_behavior().withAccess(ea.ALL),
8629
+ tuya.exposes.switchType(),
8554
8630
  ],
8555
8631
  configure: async (device, coordinatorEndpoint) => {
8556
8632
  await tuya.configureMagicPacket(device, coordinatorEndpoint);
@@ -8608,6 +8684,8 @@ const definitions = [
8608
8684
  e.light_brightness().withMinBrightness().withMaxBrightness().withEndpoint('l1'),
8609
8685
  e.light_brightness().withMinBrightness().withMaxBrightness().withEndpoint('l2'),
8610
8686
  e.power_on_behavior().withAccess(ea.ALL),
8687
+ tuya.exposes.switchType().withEndpoint('l1'),
8688
+ tuya.exposes.switchType().withEndpoint('l2'),
8611
8689
  ],
8612
8690
  configure: async (device, coordinatorEndpoint) => {
8613
8691
  await tuya.configureMagicPacket(device, coordinatorEndpoint);
@@ -8663,7 +8741,7 @@ const definitions = [
8663
8741
  [111, 'energy_b', tuya.valueConverter.divideBy1000],
8664
8742
  [121, 'energy_c', tuya.valueConverter.divideBy1000],
8665
8743
  [131, 'current', tuya.valueConverter.divideBy1000],
8666
- [9, 'power', tuya.valueConverter.raw],
8744
+ [9, 'power', tuya.valueConverter.power],
8667
8745
  [102, 'power_factor_a', tuya.valueConverter.raw],
8668
8746
  [112, 'power_factor_b', tuya.valueConverter.raw],
8669
8747
  [122, 'power_factor_c', tuya.valueConverter.raw],
@@ -10492,7 +10570,7 @@ const definitions = [
10492
10570
  tuyaDatapoints: [
10493
10571
  [112, 'presence', tuya.valueConverter.trueFalse1],
10494
10572
  [106, 'motion_sensitivity', tuya.valueConverter.divideBy10FromOnly],
10495
- [111, 'occupancy_sensitivity', tuya.valueConverter.divideBy10FromOnly],
10573
+ [111, 'presence_sensitivity', tuya.valueConverter.divideBy10FromOnly],
10496
10574
  [107, 'max_range', tuya.valueConverter.divideBy100],
10497
10575
  [109, 'distance', tuya.valueConverter.divideBy100],
10498
10576
  [110, 'presence_timeout', tuya.valueConverter.raw],
@@ -10555,7 +10633,7 @@ const definitions = [
10555
10633
  },
10556
10634
  },
10557
10635
  {
10558
- fingerprint: tuya.fingerprint('TS0601', ['_TZE204_ya4ft0w4']),
10636
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_ya4ft0w4', '_TZE200_ya4ft0w4']),
10559
10637
  model: 'ZY-M100-24GV3',
10560
10638
  vendor: 'Tuya',
10561
10639
  description: '24G MmWave radar human presence motion sensor(added distance switch)',
@@ -11404,17 +11482,163 @@ const definitions = [
11404
11482
  ],
11405
11483
  },
11406
11484
  {
11407
- fingerprint: tuya.fingerprint('TS0601', ['_TZE204_l6llgoxq', '_TZE204_kobbcyum']),
11485
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_kobbcyum']),
11486
+ model: 'TOWSMR1',
11487
+ vendor: 'Tongou',
11488
+ description: 'Single-phase multifunction RCBO (DIN Module)',
11489
+ fromZigbee: [tuya.fz.datapoints, tuya.fz.gateway_connection_status],
11490
+ toZigbee: [tuya.tz.datapoints],
11491
+ configure: async (device, coordinatorEndpoint) => {
11492
+ await tuya.configureMagicPacket(device, coordinatorEndpoint);
11493
+ // Required to get the device to start reporting
11494
+ await device.getEndpoint(1).command('manuSpecificTuya', 'dataQuery', {});
11495
+ },
11496
+ exposes: [
11497
+ tuya.exposes.switch(),
11498
+ e.temperature(),
11499
+ e.current(),
11500
+ e.power(),
11501
+ e.voltage(),
11502
+ e.energy(),
11503
+ e.numeric('leakage_current', ea.STATE).withUnit('mA').withDescription('Current leakage'),
11504
+ e
11505
+ .enum('event', ea.STATE, [
11506
+ 'normal',
11507
+ 'over_current_trip',
11508
+ 'over_power_trip',
11509
+ 'high_temp_trip',
11510
+ 'over_voltage_trip',
11511
+ 'under_voltage_trip',
11512
+ 'over_current_alarm',
11513
+ 'over_power_alarm',
11514
+ 'high_temp_alarm',
11515
+ 'over_voltage_alarm',
11516
+ 'under_voltage_alarm',
11517
+ 'remote_on',
11518
+ 'remote_off',
11519
+ 'manual_on',
11520
+ 'manual_off',
11521
+ 'leakage_trip',
11522
+ 'leakage_alarm',
11523
+ 'restore_default',
11524
+ 'automatic_closing',
11525
+ 'electricity_shortage',
11526
+ 'electricity_shortage_alarm',
11527
+ 'timing_switch_On',
11528
+ 'timing_switch_off',
11529
+ ])
11530
+ .withDescription('Last event of the device'),
11531
+ e.enum('over_current_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Over current setting'),
11532
+ e
11533
+ .numeric('over_current_threshold', ea.STATE_SET)
11534
+ .withUnit('A')
11535
+ .withDescription('Setup the value on the device')
11536
+ .withValueMin(1)
11537
+ .withValueMax(40),
11538
+ e.enum('over_voltage_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Over voltage setting'),
11539
+ e
11540
+ .numeric('over_voltage_threshold', ea.STATE_SET)
11541
+ .withUnit('V')
11542
+ .withDescription('Setup value on the device')
11543
+ .withValueMin(240)
11544
+ .withValueMax(295),
11545
+ e.enum('under_voltage_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Under voltage setting'),
11546
+ e
11547
+ .numeric('under_voltage_threshold', ea.STATE_SET)
11548
+ .withUnit('V')
11549
+ .withDescription('Setup value on the device')
11550
+ .withValueMin(145)
11551
+ .withValueMax(220),
11552
+ e.enum('leakage_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Leakage setting'),
11553
+ e
11554
+ .numeric('leakage_threshold', ea.STATE_SET)
11555
+ .withUnit('mA')
11556
+ .withDescription('Setup value on the device')
11557
+ .withValueMin(30)
11558
+ .withValueMax(100),
11559
+ e.enum('temperature_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Temperature setting'),
11560
+ e
11561
+ .numeric('temperature_threshold', ea.STATE_SET)
11562
+ .withUnit('°C')
11563
+ .withDescription('Setup value on the device')
11564
+ .withValueMin(-25)
11565
+ .withValueMax(100),
11566
+ e.enum('over_power_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Over power setting'),
11567
+ e
11568
+ .numeric('over_power_threshold', ea.STATE_SET)
11569
+ .withUnit('W')
11570
+ .withDescription('Setup value on the device')
11571
+ .withValueMin(1)
11572
+ .withValueMax(25000),
11573
+ e
11574
+ .binary('auto_reclosing', ea.STATE_SET, 'ON', 'OFF')
11575
+ .withLabel('Auto reclosing')
11576
+ .withDescription('When the circuit breaker trips due to voltage protection, it will automatically close when the circuit voltage returns to normal'),
11577
+ e.binary('restore_default', ea.STATE_SET, 'ON', 'OFF').withDescription('Turn ON to restore default settings'),
11578
+ ],
11579
+ meta: {
11580
+ tuyaDatapoints: [
11581
+ [1, 'energy', tuya.valueConverter.divideBy100],
11582
+ [6, null, tuya.valueConverter.phaseVariant2], // voltage and current
11583
+ [15, 'leakage_current', tuya.valueConverter.raw],
11584
+ [16, 'state', tuya.valueConverter.onOff],
11585
+ [
11586
+ 110,
11587
+ 'event',
11588
+ tuya.valueConverterBasic.lookup({
11589
+ normal: 0,
11590
+ over_current_trip: 1,
11591
+ over_power_trip: 2,
11592
+ high_temp_trip: 3,
11593
+ over_voltage_trip: 4,
11594
+ under_voltage_trip: 5,
11595
+ over_current_alarm: 6,
11596
+ over_power_alarm: 7,
11597
+ high_temp_alarm: 8,
11598
+ over_voltage_alarm: 9,
11599
+ under_voltage_alarm: 10,
11600
+ remote_on: 11,
11601
+ remote_off: 12,
11602
+ manual_on: 13,
11603
+ manual_off: 14,
11604
+ leakage_trip: 15,
11605
+ leakage_alarm: 16,
11606
+ restore_default: 17,
11607
+ automatic_closing: 18,
11608
+ electricity_shortage: 19,
11609
+ electricity_shortage_alarm: 20,
11610
+ timing_switch_on: 21,
11611
+ timing_switch_off: 22,
11612
+ }),
11613
+ ],
11614
+ [102, 'over_voltage_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11615
+ [103, 'under_voltage_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11616
+ [104, 'over_current_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11617
+ [105, 'over_power_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11618
+ [107, 'temperature_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11619
+ [108, 'leakage_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11620
+ [112, 'auto_reclosing', tuya.valueConverter.onOff],
11621
+ [113, 'restore_default', tuya.valueConverter.onOff],
11622
+ [114, 'over_current_threshold', tuya.valueConverter.raw],
11623
+ [115, 'over_voltage_threshold', tuya.valueConverter.raw],
11624
+ [116, 'under_voltage_threshold', tuya.valueConverter.raw],
11625
+ [117, 'leakage_threshold', tuya.valueConverter.raw],
11626
+ [118, 'temperature_threshold', tuya.valueConverter.divideBy10],
11627
+ [119, 'over_power_threshold', tuya.valueConverter.raw],
11628
+ [131, 'temperature', tuya.valueConverter.divideBy10],
11629
+ ],
11630
+ },
11631
+ onEvent: tuya.onEvent({ respondToMcuVersionResponse: false, queryIntervalSeconds: 10 }),
11632
+ },
11633
+ {
11634
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_l6llgoxq']),
11408
11635
  model: 'EA4161C-BI',
11409
11636
  vendor: 'Tuya',
11410
11637
  description: 'Single-phase multifunction energy meter (DIN Module)',
11411
11638
  fromZigbee: [tuya.fz.datapoints, tuya.fz.gateway_connection_status],
11412
11639
  toZigbee: [tuya.tz.datapoints],
11413
11640
  configure: tuya.configureMagicPacket,
11414
- whiteLabel: [
11415
- { vendor: 'XOCA', model: 'DAC4121C' },
11416
- tuya.whitelabel('Tongou', 'TOWSMR1', 'Single-phase multifunction energy meter (DIN Module)', ['_TZE204_kobbcyum']),
11417
- ],
11641
+ whiteLabel: [{ vendor: 'XOCA', model: 'DAC4121C' }],
11418
11642
  exposes: [e.current(), e.power(), e.voltage(), e.energy(), e.text('meter_id', ea.STATE).withDescription('Meter ID (ID of device)')],
11419
11643
  meta: {
11420
11644
  tuyaDatapoints: [
@@ -11822,7 +12046,7 @@ const definitions = [
11822
12046
  ],
11823
12047
  meta: {
11824
12048
  tuyaDatapoints: [
11825
- [1, 'presence', tuya.valueConverter.trueFalse1],
12049
+ [1, 'presence', tuya.valueConverterBasic.trueFalse(4)],
11826
12050
  [101, 'target_distance', tuya.valueConverter.raw],
11827
12051
  [102, 'illuminance', tuya.valueConverter.raw],
11828
12052
  [103, 'fading_time', tuya.valueConverter.raw],
@@ -12164,6 +12388,25 @@ const definitions = [
12164
12388
  ],
12165
12389
  },
12166
12390
  },
12391
+ {
12392
+ zigbeeModel: ['TS0105'],
12393
+ model: 'TS0105',
12394
+ vendor: 'TuYa',
12395
+ description: '3 gang switch',
12396
+ extend: [tuyaBase({ dp: true }), (0, modernExtend_1.deviceEndpoints)({ endpoints: { l1: 1, l2: 1, l3: 1 } })],
12397
+ exposes: [
12398
+ e.switch().withEndpoint('l1').setAccess('state', ea.STATE_SET),
12399
+ e.switch().withEndpoint('l2').setAccess('state', ea.STATE_SET),
12400
+ e.switch().withEndpoint('l3').setAccess('state', ea.STATE_SET),
12401
+ ],
12402
+ meta: {
12403
+ tuyaDatapoints: [
12404
+ [1, 'state_l1', tuya.valueConverter.onOff],
12405
+ [2, 'state_l2', tuya.valueConverter.onOff],
12406
+ [3, 'state_l3', tuya.valueConverter.onOff],
12407
+ ],
12408
+ },
12409
+ },
12167
12410
  {
12168
12411
  fingerprint: tuya.fingerprint('TS0601', ['_TZE200_iba1ckek', '_TZE200_hggxgsjj']),
12169
12412
  model: 'ZG-103Z',
@@ -12735,6 +12978,46 @@ const definitions = [
12735
12978
  ],
12736
12979
  },
12737
12980
  },
12981
+ {
12982
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_q12rv9gj']),
12983
+ model: 'HHST001',
12984
+ vendor: 'HeatHUB',
12985
+ description: 'Fan coil thermostat',
12986
+ fromZigbee: [tuya.fz.datapoints],
12987
+ toZigbee: [tuya.tz.datapoints],
12988
+ onEvent: tuya.onEventSetTime,
12989
+ configure: tuya.configureMagicPacket,
12990
+ exposes: [
12991
+ e.binary('state', ea.STATE_SET, 'ON', 'OFF').withDescription('Turn the thermostat ON/OFF'),
12992
+ e
12993
+ .climate()
12994
+ .withLocalTemperature(ea.STATE)
12995
+ .withSystemMode(['cool', 'heat', 'fan_only'], ea.STATE_SET)
12996
+ .withSetpoint('current_heating_setpoint', 5, 45, 1, ea.STATE_SET)
12997
+ .withFanMode(['auto', 'high', 'medium', 'low'], ea.STATE_SET)
12998
+ .withLocalTemperatureCalibration(-9, 9, 0.5, ea.STATE_SET),
12999
+ e.min_temperature().withValueMin(5).withValueMax(15),
13000
+ e.max_temperature().withValueMin(35).withValueMax(45),
13001
+ e.child_lock(),
13002
+ e.humidity(),
13003
+ e.binary('manual_mode', ea.STATE_SET, 'ON', 'OFF').withDescription('Manual = ON or Schedule = OFF'),
13004
+ ],
13005
+ meta: {
13006
+ tuyaDatapoints: [
13007
+ [1, 'state', tuya.valueConverter.onOff],
13008
+ [2, 'system_mode', tuya.valueConverterBasic.lookup({ cool: tuya.enum(0), heat: tuya.enum(1), fan_only: tuya.enum(2) })],
13009
+ [16, 'current_heating_setpoint', tuya.valueConverter.divideBy10],
13010
+ [19, 'max_temperature', tuya.valueConverter.divideBy10],
13011
+ [24, 'local_temperature', tuya.valueConverter.divideBy10],
13012
+ [26, 'min_temperature', tuya.valueConverter.divideBy10],
13013
+ [102, 'local_temperature_calibration', tuya.valueConverter.localTemperatureCalibration],
13014
+ [28, 'fan_mode', tuya.valueConverterBasic.lookup({ auto: tuya.enum(0), high: tuya.enum(1), medium: tuya.enum(2), low: tuya.enum(3) })],
13015
+ [40, 'child_lock', tuya.valueConverter.lockUnlock],
13016
+ [113, 'humidity', tuya.valueConverter.raw],
13017
+ [101, 'manual_mode', tuya.valueConverter.onOff],
13018
+ ],
13019
+ },
13020
+ },
12738
13021
  ];
12739
13022
  exports.default = definitions;
12740
13023
  module.exports = definitions;