zigbee-herdsman-converters 21.0.0-pre.2 → 21.1.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 (507) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/README.md +11 -11
  3. package/converters/fromZigbee.js +17 -7
  4. package/converters/fromZigbee.js.map +1 -1
  5. package/converters/toZigbee.js +17 -7
  6. package/converters/toZigbee.js.map +1 -1
  7. package/devices/ITCommander.js +17 -7
  8. package/devices/ITCommander.js.map +1 -1
  9. package/devices/acova.js +17 -7
  10. package/devices/acova.js.map +1 -1
  11. package/devices/adeo.d.ts.map +1 -1
  12. package/devices/adeo.js +24 -7
  13. package/devices/adeo.js.map +1 -1
  14. package/devices/adurosmart.js +17 -7
  15. package/devices/adurosmart.js.map +1 -1
  16. package/devices/airam.js +17 -7
  17. package/devices/airam.js.map +1 -1
  18. package/devices/airzone_aidoo.js +17 -7
  19. package/devices/airzone_aidoo.js.map +1 -1
  20. package/devices/ajax_online.js +17 -7
  21. package/devices/ajax_online.js.map +1 -1
  22. package/devices/akuvox.js +17 -7
  23. package/devices/akuvox.js.map +1 -1
  24. package/devices/aldi.js +17 -7
  25. package/devices/aldi.js.map +1 -1
  26. package/devices/alecto.js +17 -7
  27. package/devices/alecto.js.map +1 -1
  28. package/devices/amina.js +17 -7
  29. package/devices/amina.js.map +1 -1
  30. package/devices/atlantic.js +17 -7
  31. package/devices/atlantic.js.map +1 -1
  32. package/devices/aubess.js +17 -7
  33. package/devices/aubess.js.map +1 -1
  34. package/devices/aurora_lighting.js +17 -7
  35. package/devices/aurora_lighting.js.map +1 -1
  36. package/devices/automaton.js +17 -7
  37. package/devices/automaton.js.map +1 -1
  38. package/devices/avatto.js +17 -7
  39. package/devices/avatto.js.map +1 -1
  40. package/devices/awox.js +17 -7
  41. package/devices/awox.js.map +1 -1
  42. package/devices/axis.js +17 -7
  43. package/devices/axis.js.map +1 -1
  44. package/devices/bitron.js +17 -7
  45. package/devices/bitron.js.map +1 -1
  46. package/devices/bituo_technik.js +17 -7
  47. package/devices/bituo_technik.js.map +1 -1
  48. package/devices/blaupunkt.js +17 -7
  49. package/devices/blaupunkt.js.map +1 -1
  50. package/devices/blitzwolf.js +17 -7
  51. package/devices/blitzwolf.js.map +1 -1
  52. package/devices/bosch.js +18 -8
  53. package/devices/bosch.js.map +1 -1
  54. package/devices/brimate.js +17 -7
  55. package/devices/brimate.js.map +1 -1
  56. package/devices/bseed.js +17 -7
  57. package/devices/bseed.js.map +1 -1
  58. package/devices/bticino.js +17 -7
  59. package/devices/bticino.js.map +1 -1
  60. package/devices/busch_jaeger.d.ts.map +1 -1
  61. package/devices/busch_jaeger.js +37 -31
  62. package/devices/busch_jaeger.js.map +1 -1
  63. package/devices/byun.js +17 -7
  64. package/devices/byun.js.map +1 -1
  65. package/devices/calex.js +17 -7
  66. package/devices/calex.js.map +1 -1
  67. package/devices/casaia.js +17 -7
  68. package/devices/casaia.js.map +1 -1
  69. package/devices/centralite.js +17 -7
  70. package/devices/centralite.js.map +1 -1
  71. package/devices/cleverio.d.ts.map +1 -1
  72. package/devices/cleverio.js +17 -18
  73. package/devices/cleverio.js.map +1 -1
  74. package/devices/climax.js +17 -7
  75. package/devices/climax.js.map +1 -1
  76. package/devices/ctm.js +17 -7
  77. package/devices/ctm.js.map +1 -1
  78. package/devices/current_products_corp.js +17 -7
  79. package/devices/current_products_corp.js.map +1 -1
  80. package/devices/custom_devices_diy.js +17 -7
  81. package/devices/custom_devices_diy.js.map +1 -1
  82. package/devices/danalock.js +17 -7
  83. package/devices/danalock.js.map +1 -1
  84. package/devices/danfoss.js +17 -7
  85. package/devices/danfoss.js.map +1 -1
  86. package/devices/databyte.js +17 -7
  87. package/devices/databyte.js.map +1 -1
  88. package/devices/datek.js +17 -7
  89. package/devices/datek.js.map +1 -1
  90. package/devices/dawon_dns.js +17 -7
  91. package/devices/dawon_dns.js.map +1 -1
  92. package/devices/develco.js +17 -7
  93. package/devices/develco.js.map +1 -1
  94. package/devices/diyruz.js +17 -7
  95. package/devices/diyruz.js.map +1 -1
  96. package/devices/dlink.js +17 -7
  97. package/devices/dlink.js.map +1 -1
  98. package/devices/easyaccess.js +17 -7
  99. package/devices/easyaccess.js.map +1 -1
  100. package/devices/easyiot.js +17 -7
  101. package/devices/easyiot.js.map +1 -1
  102. package/devices/echostar.js +17 -7
  103. package/devices/echostar.js.map +1 -1
  104. package/devices/ecodim.js +17 -7
  105. package/devices/ecodim.js.map +1 -1
  106. package/devices/ecolink.js +17 -7
  107. package/devices/ecolink.js.map +1 -1
  108. package/devices/ecozy.js +17 -7
  109. package/devices/ecozy.js.map +1 -1
  110. package/devices/edp.js +17 -7
  111. package/devices/edp.js.map +1 -1
  112. package/devices/eglo.js +17 -7
  113. package/devices/eglo.js.map +1 -1
  114. package/devices/elko.js +17 -7
  115. package/devices/elko.js.map +1 -1
  116. package/devices/enocean.js +17 -7
  117. package/devices/enocean.js.map +1 -1
  118. package/devices/envilar.js +17 -7
  119. package/devices/envilar.js.map +1 -1
  120. package/devices/essentialb.js +17 -7
  121. package/devices/essentialb.js.map +1 -1
  122. package/devices/eurotronic.js +17 -7
  123. package/devices/eurotronic.js.map +1 -1
  124. package/devices/evanell.js +17 -7
  125. package/devices/evanell.js.map +1 -1
  126. package/devices/evn.js +17 -7
  127. package/devices/evn.js.map +1 -1
  128. package/devices/evology.js +17 -7
  129. package/devices/evology.js.map +1 -1
  130. package/devices/ewelink.d.ts.map +1 -1
  131. package/devices/ewelink.js +24 -7
  132. package/devices/ewelink.js.map +1 -1
  133. package/devices/fantem.js +17 -7
  134. package/devices/fantem.js.map +1 -1
  135. package/devices/feibit.js +17 -7
  136. package/devices/feibit.js.map +1 -1
  137. package/devices/fireangel.js +17 -7
  138. package/devices/fireangel.js.map +1 -1
  139. package/devices/frankever.js +17 -7
  140. package/devices/frankever.js.map +1 -1
  141. package/devices/futurehome.js +17 -7
  142. package/devices/futurehome.js.map +1 -1
  143. package/devices/ge.js +17 -7
  144. package/devices/ge.js.map +1 -1
  145. package/devices/gewiss.js +17 -7
  146. package/devices/gewiss.js.map +1 -1
  147. package/devices/giex.js +17 -7
  148. package/devices/giex.js.map +1 -1
  149. package/devices/girier.js +17 -7
  150. package/devices/girier.js.map +1 -1
  151. package/devices/gledopto.d.ts.map +1 -1
  152. package/devices/gledopto.js +39 -9
  153. package/devices/gledopto.js.map +1 -1
  154. package/devices/gmmts.js +17 -7
  155. package/devices/gmmts.js.map +1 -1
  156. package/devices/halemeier.js +17 -7
  157. package/devices/halemeier.js.map +1 -1
  158. package/devices/hampton_bay.js +17 -7
  159. package/devices/hampton_bay.js.map +1 -1
  160. package/devices/heiman.js +17 -7
  161. package/devices/heiman.js.map +1 -1
  162. package/devices/heimgard_technologies.js +17 -7
  163. package/devices/heimgard_technologies.js.map +1 -1
  164. package/devices/hive.js +17 -7
  165. package/devices/hive.js.map +1 -1
  166. package/devices/hommyn.js +17 -7
  167. package/devices/hommyn.js.map +1 -1
  168. package/devices/honyar.js +17 -7
  169. package/devices/honyar.js.map +1 -1
  170. package/devices/hzc_electric.js +17 -7
  171. package/devices/hzc_electric.js.map +1 -1
  172. package/devices/icasa.js +17 -7
  173. package/devices/icasa.js.map +1 -1
  174. package/devices/ihorn.js +17 -7
  175. package/devices/ihorn.js.map +1 -1
  176. package/devices/iluminize.js +17 -7
  177. package/devices/iluminize.js.map +1 -1
  178. package/devices/imhotepcreation.js +17 -7
  179. package/devices/imhotepcreation.js.map +1 -1
  180. package/devices/immax.js +17 -7
  181. package/devices/immax.js.map +1 -1
  182. package/devices/index.d.ts.map +1 -1
  183. package/devices/index.js +2 -0
  184. package/devices/index.js.map +1 -1
  185. package/devices/innr.js +17 -7
  186. package/devices/innr.js.map +1 -1
  187. package/devices/inovelli.js +17 -7
  188. package/devices/inovelli.js.map +1 -1
  189. package/devices/insta.js +17 -7
  190. package/devices/insta.js.map +1 -1
  191. package/devices/iotperfect.js +17 -7
  192. package/devices/iotperfect.js.map +1 -1
  193. package/devices/iris.js +17 -7
  194. package/devices/iris.js.map +1 -1
  195. package/devices/javis.js +17 -7
  196. package/devices/javis.js.map +1 -1
  197. package/devices/jethome.js +17 -7
  198. package/devices/jethome.js.map +1 -1
  199. package/devices/jxuan.js +17 -7
  200. package/devices/jxuan.js.map +1 -1
  201. package/devices/kami.js +17 -7
  202. package/devices/kami.js.map +1 -1
  203. package/devices/keen_home.js +17 -7
  204. package/devices/keen_home.js.map +1 -1
  205. package/devices/kmpcil.js +17 -7
  206. package/devices/kmpcil.js.map +1 -1
  207. package/devices/konke.js +17 -7
  208. package/devices/konke.js.map +1 -1
  209. package/devices/kwikset.js +17 -7
  210. package/devices/kwikset.js.map +1 -1
  211. package/devices/led_trading.js +17 -7
  212. package/devices/led_trading.js.map +1 -1
  213. package/devices/leedarson.js +17 -7
  214. package/devices/leedarson.js.map +1 -1
  215. package/devices/legrand.js +17 -7
  216. package/devices/legrand.js.map +1 -1
  217. package/devices/lellki.js +17 -7
  218. package/devices/lellki.js.map +1 -1
  219. package/devices/letv.js +17 -7
  220. package/devices/letv.js.map +1 -1
  221. package/devices/leviton.js +17 -7
  222. package/devices/leviton.js.map +1 -1
  223. package/devices/lidl.js +17 -7
  224. package/devices/lidl.js.map +1 -1
  225. package/devices/lifecontrol.js +17 -7
  226. package/devices/lifecontrol.js.map +1 -1
  227. package/devices/linkind.js +17 -7
  228. package/devices/linkind.js.map +1 -1
  229. package/devices/linptech.js +17 -7
  230. package/devices/linptech.js.map +1 -1
  231. package/devices/livingwise.js +17 -7
  232. package/devices/livingwise.js.map +1 -1
  233. package/devices/livolo.js +17 -7
  234. package/devices/livolo.js.map +1 -1
  235. package/devices/lixee.js +17 -7
  236. package/devices/lixee.js.map +1 -1
  237. package/devices/lonsonho.d.ts.map +1 -1
  238. package/devices/lonsonho.js +29 -7
  239. package/devices/lonsonho.js.map +1 -1
  240. package/devices/ls.js +17 -7
  241. package/devices/ls.js.map +1 -1
  242. package/devices/lumi.js +17 -7
  243. package/devices/lumi.js.map +1 -1
  244. package/devices/lupus.js +17 -7
  245. package/devices/lupus.js.map +1 -1
  246. package/devices/lutron.js +17 -7
  247. package/devices/lutron.js.map +1 -1
  248. package/devices/lux.js +17 -7
  249. package/devices/lux.js.map +1 -1
  250. package/devices/lytko.js +17 -7
  251. package/devices/lytko.js.map +1 -1
  252. package/devices/makegood.js +17 -7
  253. package/devices/makegood.js.map +1 -1
  254. package/devices/meazon.js +17 -7
  255. package/devices/meazon.js.map +1 -1
  256. package/devices/mercator.js +17 -7
  257. package/devices/mercator.js.map +1 -1
  258. package/devices/miboxer.js +17 -7
  259. package/devices/miboxer.js.map +1 -1
  260. package/devices/moes.js +17 -7
  261. package/devices/moes.js.map +1 -1
  262. package/devices/muller_licht.js +17 -7
  263. package/devices/muller_licht.js.map +1 -1
  264. package/devices/multiterm.js +17 -7
  265. package/devices/multiterm.js.map +1 -1
  266. package/devices/namron.js +17 -7
  267. package/devices/namron.js.map +1 -1
  268. package/devices/neo.js +17 -7
  269. package/devices/neo.js.map +1 -1
  270. package/devices/net2grid.js +17 -7
  271. package/devices/net2grid.js.map +1 -1
  272. package/devices/netvox.js +17 -7
  273. package/devices/netvox.js.map +1 -1
  274. package/devices/niko.js +17 -7
  275. package/devices/niko.js.map +1 -1
  276. package/devices/ninja_blocks.js +17 -7
  277. package/devices/ninja_blocks.js.map +1 -1
  278. package/devices/nodon.js +17 -7
  279. package/devices/nodon.js.map +1 -1
  280. package/devices/nous.js +18 -8
  281. package/devices/nous.js.map +1 -1
  282. package/devices/novo.js +17 -7
  283. package/devices/novo.js.map +1 -1
  284. package/devices/nue_3a.js +17 -7
  285. package/devices/nue_3a.js.map +1 -1
  286. package/devices/nyce.js +17 -7
  287. package/devices/nyce.js.map +1 -1
  288. package/devices/onenuo.js +17 -7
  289. package/devices/onenuo.js.map +1 -1
  290. package/devices/onesti.js +17 -7
  291. package/devices/onesti.js.map +1 -1
  292. package/devices/openlumi.js +17 -7
  293. package/devices/openlumi.js.map +1 -1
  294. package/devices/orvibo.js +17 -7
  295. package/devices/orvibo.js.map +1 -1
  296. package/devices/osram.js +17 -7
  297. package/devices/osram.js.map +1 -1
  298. package/devices/oujiabao.js +17 -7
  299. package/devices/oujiabao.js.map +1 -1
  300. package/devices/owon.js +17 -7
  301. package/devices/owon.js.map +1 -1
  302. package/devices/ozsmartthings.js +17 -7
  303. package/devices/ozsmartthings.js.map +1 -1
  304. package/devices/paul_neuhaus.js +17 -7
  305. package/devices/paul_neuhaus.js.map +1 -1
  306. package/devices/paulmann.js +17 -7
  307. package/devices/paulmann.js.map +1 -1
  308. package/devices/peq.js +17 -7
  309. package/devices/peq.js.map +1 -1
  310. package/devices/perenio.js +17 -7
  311. package/devices/perenio.js.map +1 -1
  312. package/devices/philips.d.ts.map +1 -1
  313. package/devices/philips.js +28 -19
  314. package/devices/philips.js.map +1 -1
  315. package/devices/plaid.js +17 -7
  316. package/devices/plaid.js.map +1 -1
  317. package/devices/plugwise.js +17 -7
  318. package/devices/plugwise.js.map +1 -1
  319. package/devices/profalux.js +17 -7
  320. package/devices/profalux.js.map +1 -1
  321. package/devices/prolight.js +17 -7
  322. package/devices/prolight.js.map +1 -1
  323. package/devices/pushok.js +1 -1
  324. package/devices/pushok.js.map +1 -1
  325. package/devices/qa.js +17 -7
  326. package/devices/qa.js.map +1 -1
  327. package/devices/qmotion.js +17 -7
  328. package/devices/qmotion.js.map +1 -1
  329. package/devices/qoto.js +17 -7
  330. package/devices/qoto.js.map +1 -1
  331. package/devices/rgb_genie.js +17 -7
  332. package/devices/rgb_genie.js.map +1 -1
  333. package/devices/robb.js +18 -8
  334. package/devices/robb.js.map +1 -1
  335. package/devices/roome.js +17 -7
  336. package/devices/roome.js.map +1 -1
  337. package/devices/rtx.js +17 -7
  338. package/devices/rtx.js.map +1 -1
  339. package/devices/salus_controls.js +17 -7
  340. package/devices/salus_controls.js.map +1 -1
  341. package/devices/saswell.d.ts.map +1 -1
  342. package/devices/saswell.js +19 -7
  343. package/devices/saswell.js.map +1 -1
  344. package/devices/schlage.js +17 -7
  345. package/devices/schlage.js.map +1 -1
  346. package/devices/schneider_electric.d.ts.map +1 -1
  347. package/devices/schneider_electric.js +61 -64
  348. package/devices/schneider_electric.js.map +1 -1
  349. package/devices/schwaiger.d.ts.map +1 -1
  350. package/devices/schwaiger.js +24 -7
  351. package/devices/schwaiger.js.map +1 -1
  352. package/devices/securifi.js +17 -7
  353. package/devices/securifi.js.map +1 -1
  354. package/devices/sercomm.js +17 -7
  355. package/devices/sercomm.js.map +1 -1
  356. package/devices/shade_control.js +17 -7
  357. package/devices/shade_control.js.map +1 -1
  358. package/devices/shinasystem.js +17 -7
  359. package/devices/shinasystem.js.map +1 -1
  360. package/devices/shyugj.d.ts +4 -0
  361. package/devices/shyugj.d.ts.map +1 -0
  362. package/devices/shyugj.js +21 -0
  363. package/devices/shyugj.js.map +1 -0
  364. package/devices/siglis.js +17 -7
  365. package/devices/siglis.js.map +1 -1
  366. package/devices/sikom.js +17 -7
  367. package/devices/sikom.js.map +1 -1
  368. package/devices/sinope.js +17 -7
  369. package/devices/sinope.js.map +1 -1
  370. package/devices/siterwell.d.ts.map +1 -1
  371. package/devices/siterwell.js +20 -8
  372. package/devices/siterwell.js.map +1 -1
  373. package/devices/skydance.js +17 -7
  374. package/devices/skydance.js.map +1 -1
  375. package/devices/smart9.js +17 -7
  376. package/devices/smart9.js.map +1 -1
  377. package/devices/smartenit.js +17 -7
  378. package/devices/smartenit.js.map +1 -1
  379. package/devices/smartthings.d.ts.map +1 -1
  380. package/devices/smartthings.js +19 -7
  381. package/devices/smartthings.js.map +1 -1
  382. package/devices/smartwings.js +17 -7
  383. package/devices/smartwings.js.map +1 -1
  384. package/devices/somfy.js +17 -7
  385. package/devices/somfy.js.map +1 -1
  386. package/devices/somgoms.js +17 -7
  387. package/devices/somgoms.js.map +1 -1
  388. package/devices/sonoff.d.ts.map +1 -1
  389. package/devices/sonoff.js +67 -13
  390. package/devices/sonoff.js.map +1 -1
  391. package/devices/stelpro.js +17 -7
  392. package/devices/stelpro.js.map +1 -1
  393. package/devices/sunricher.d.ts.map +1 -1
  394. package/devices/sunricher.js +133 -8
  395. package/devices/sunricher.js.map +1 -1
  396. package/devices/swann.js +17 -7
  397. package/devices/swann.js.map +1 -1
  398. package/devices/sylvania.js +17 -7
  399. package/devices/sylvania.js.map +1 -1
  400. package/devices/tapestry.js +17 -7
  401. package/devices/tapestry.js.map +1 -1
  402. package/devices/tech.js +17 -7
  403. package/devices/tech.js.map +1 -1
  404. package/devices/technicolor.js +17 -7
  405. package/devices/technicolor.js.map +1 -1
  406. package/devices/terncy.js +17 -7
  407. package/devices/terncy.js.map +1 -1
  408. package/devices/the_light_group.js +17 -7
  409. package/devices/the_light_group.js.map +1 -1
  410. package/devices/third_reality.js +17 -7
  411. package/devices/third_reality.js.map +1 -1
  412. package/devices/titan_products.js +17 -7
  413. package/devices/titan_products.js.map +1 -1
  414. package/devices/tplink.js +17 -7
  415. package/devices/tplink.js.map +1 -1
  416. package/devices/trust.js +17 -7
  417. package/devices/trust.js.map +1 -1
  418. package/devices/tubeszb.js +17 -7
  419. package/devices/tubeszb.js.map +1 -1
  420. package/devices/tuya.d.ts.map +1 -1
  421. package/devices/tuya.js +264 -29
  422. package/devices/tuya.js.map +1 -1
  423. package/devices/ubisys.js +17 -7
  424. package/devices/ubisys.js.map +1 -1
  425. package/devices/uhome.js +17 -7
  426. package/devices/uhome.js.map +1 -1
  427. package/devices/universal_electronics_inc.js +17 -7
  428. package/devices/universal_electronics_inc.js.map +1 -1
  429. package/devices/vesternet.js +17 -7
  430. package/devices/vesternet.js.map +1 -1
  431. package/devices/viessmann.js +17 -7
  432. package/devices/viessmann.js.map +1 -1
  433. package/devices/vimar.js +17 -7
  434. package/devices/vimar.js.map +1 -1
  435. package/devices/visonic.js +17 -7
  436. package/devices/visonic.js.map +1 -1
  437. package/devices/wally.js +17 -7
  438. package/devices/wally.js.map +1 -1
  439. package/devices/waxman.js +17 -7
  440. package/devices/waxman.js.map +1 -1
  441. package/devices/weiser.js +17 -7
  442. package/devices/weiser.js.map +1 -1
  443. package/devices/weten.js +17 -7
  444. package/devices/weten.js.map +1 -1
  445. package/devices/wirenboard.js +17 -7
  446. package/devices/wirenboard.js.map +1 -1
  447. package/devices/woolley.js +17 -7
  448. package/devices/woolley.js.map +1 -1
  449. package/devices/woox.js +17 -7
  450. package/devices/woox.js.map +1 -1
  451. package/devices/wyze.js +17 -7
  452. package/devices/wyze.js.map +1 -1
  453. package/devices/xyzroe.js +17 -7
  454. package/devices/xyzroe.js.map +1 -1
  455. package/devices/yale.js +17 -7
  456. package/devices/yale.js.map +1 -1
  457. package/devices/yandex.d.ts.map +1 -1
  458. package/devices/yandex.js +33 -21
  459. package/devices/yandex.js.map +1 -1
  460. package/devices/ynoa.js +17 -7
  461. package/devices/ynoa.js.map +1 -1
  462. package/devices/yookee.js +17 -7
  463. package/devices/yookee.js.map +1 -1
  464. package/devices/ysrsai.js +17 -7
  465. package/devices/ysrsai.js.map +1 -1
  466. package/devices/zemismart.js +17 -7
  467. package/devices/zemismart.js.map +1 -1
  468. package/devices/zen.js +17 -7
  469. package/devices/zen.js.map +1 -1
  470. package/index.d.ts +2 -2
  471. package/index.d.ts.map +1 -1
  472. package/index.js +18 -8
  473. package/index.js.map +1 -1
  474. package/lib/exposes.js +1 -1
  475. package/lib/exposes.js.map +1 -1
  476. package/lib/generateDefinition.js +17 -7
  477. package/lib/generateDefinition.js.map +1 -1
  478. package/lib/ikea.js +17 -7
  479. package/lib/ikea.js.map +1 -1
  480. package/lib/ledvance.js +17 -7
  481. package/lib/ledvance.js.map +1 -1
  482. package/lib/legacy.js +17 -7
  483. package/lib/legacy.js.map +1 -1
  484. package/lib/legrand.js +17 -7
  485. package/lib/legrand.js.map +1 -1
  486. package/lib/light.js +17 -7
  487. package/lib/light.js.map +1 -1
  488. package/lib/lumi.js +17 -7
  489. package/lib/lumi.js.map +1 -1
  490. package/lib/modernExtend.d.ts.map +1 -1
  491. package/lib/modernExtend.js +20 -8
  492. package/lib/modernExtend.js.map +1 -1
  493. package/lib/ota.d.ts +1 -1
  494. package/lib/ota.d.ts.map +1 -1
  495. package/lib/philips.js +19 -9
  496. package/lib/philips.js.map +1 -1
  497. package/lib/tuya.d.ts +5 -1
  498. package/lib/tuya.d.ts.map +1 -1
  499. package/lib/tuya.js +63 -46
  500. package/lib/tuya.js.map +1 -1
  501. package/lib/types.d.ts +4 -1
  502. package/lib/types.d.ts.map +1 -1
  503. package/lib/utils.js +17 -7
  504. package/lib/utils.js.map +1 -1
  505. package/lib/zosung.js +17 -7
  506. package/lib/zosung.js.map +1 -1
  507. 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
  }
@@ -1315,14 +1326,23 @@ const definitions = [
1315
1326
  ],
1316
1327
  },
1317
1328
  {
1318
- fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ogkdpgy2', '_TZE204_ogkdpgy2', '_TZE200_3ejwxpmu']),
1319
- model: 'TS0601_co2_sensor',
1329
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE200_ogkdpgy2', '_TZE200_3ejwxpmu']),
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',
@@ -1646,6 +1666,19 @@ const definitions = [
1646
1666
  device.getEndpoint(1).saveClusterAttributeKeyValue('lightingColorCtrl', { colorCapabilities: 29 });
1647
1667
  },
1648
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
+ },
1649
1682
  {
1650
1683
  zigbeeModel: ['TS0503B'],
1651
1684
  model: 'TS0503B',
@@ -1889,7 +1922,7 @@ const definitions = [
1889
1922
  exposes: [],
1890
1923
  },
1891
1924
  {
1892
- zigbeeModel: ['TS0207', 'FNB54-WTS08ML1.0', 'SNZB-05'],
1925
+ zigbeeModel: ['TS0207', 'FNB54-WTS08ML1.0'],
1893
1926
  model: 'TS0207_water_leak_detector',
1894
1927
  vendor: 'Tuya',
1895
1928
  description: 'Water leak detector',
@@ -2417,6 +2450,10 @@ const definitions = [
2417
2450
  modelID: 'TS0601',
2418
2451
  manufacturerName: '_TZE204_o9gyszw2',
2419
2452
  },
2453
+ {
2454
+ modelID: 'TS0601',
2455
+ manufacturerName: '_TZE204_jtbgusdc',
2456
+ },
2420
2457
  ],
2421
2458
  model: 'ZDMS16-2',
2422
2459
  vendor: 'Avatto',
@@ -2914,6 +2951,7 @@ const definitions = [
2914
2951
  '_TZ3000_0dumfk2z',
2915
2952
  '_TZ3000_ssp0maqm',
2916
2953
  '_TZ3000_p3fph1go',
2954
+ '_TZ3000_9r5jaajv',
2917
2955
  ]),
2918
2956
  model: 'TS0215A_sos',
2919
2957
  vendor: 'Tuya',
@@ -3098,7 +3136,10 @@ const definitions = [
3098
3136
  },
3099
3137
  },
3100
3138
  {
3101
- 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
+ ],
3102
3143
  model: 'IH-K009',
3103
3144
  vendor: 'Tuya',
3104
3145
  description: 'Temperature & humidity sensor',
@@ -3173,6 +3214,26 @@ const definitions = [
3173
3214
  * Initially wrapped in a try catch: https://github.com/Koenkk/zigbee2mqtt/issues/6313
3174
3215
  */
3175
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
+ },
3176
3237
  {
3177
3238
  zigbeeModel: ['TS0042'],
3178
3239
  model: 'TS0042',
@@ -4896,7 +4957,7 @@ const definitions = [
4896
4957
  e.min_temperature(),
4897
4958
  e.position(),
4898
4959
  e.window_detection(),
4899
- 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 '),
4900
4961
  e.binary('alarm_switch', ea.STATE, 'ON', 'OFF').withDescription('Thermostat in error state'),
4901
4962
  e
4902
4963
  .climate()
@@ -5011,10 +5072,11 @@ const definitions = [
5011
5072
  },
5012
5073
  },
5013
5074
  {
5014
- fingerprint: [{ modelID: 'TS0601', manufacturerName: '_TZE200_rtrmfadk' }],
5075
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_9mjy74mp', '_TZE200_rtrmfadk']),
5015
5076
  model: 'TRV602',
5016
5077
  vendor: 'Tuya',
5017
5078
  description: 'Thermostatic radiator valve.',
5079
+ whiteLabel: [tuya.whitelabel('Moes', 'TRV801', 'Thermostatic radiator valve', ['_TZE204_9mjy74mp'])],
5018
5080
  onEvent: tuya.onEventSetLocalTime,
5019
5081
  fromZigbee: [tuya.fz.datapoints],
5020
5082
  toZigbee: [tuya.tz.datapoints],
@@ -5294,6 +5356,7 @@ const definitions = [
5294
5356
  tuya.whitelabel('Nous', 'A1Z', 'Smart plug (with power monitoring)', ['_TZ3000_ksw8qtmt']),
5295
5357
  tuya.whitelabel('Elivco', 'LSPA9', 'Smart plug (with power monitoring)', ['_TZ3000_okaz9tjs']),
5296
5358
  tuya.whitelabel('PSMART', 'T440', 'Smart wallsocket (with power monitoring)', ['_TZ3000_y4ona9me']),
5359
+ tuya.whitelabel('Nous', 'A6Z', 'Outdoor smart socket', ['_TZ3000_266azbg3']),
5297
5360
  ],
5298
5361
  ota: true,
5299
5362
  extend: [
@@ -6945,8 +7008,8 @@ const definitions = [
6945
7008
  fromZigbee: [fromZigbee_1.default.battery, fromZigbee_1.default.illuminance],
6946
7009
  toZigbee: [],
6947
7010
  configure: tuya.configureMagicPacket,
6948
- exposes: [e.battery(), e.illuminance()],
6949
7011
  whiteLabel: [tuya.whitelabel('Moes', 'ZSS-QT-LS-C', 'Light sensor', ['_TZ3000_9kbbfeho'])],
7012
+ exposes: [e.battery(), e.illuminance()],
6950
7013
  },
6951
7014
  {
6952
7015
  fingerprint: tuya.fingerprint('TS0222', ['_TZ3000_t9qqxn70']),
@@ -8623,6 +8686,8 @@ const definitions = [
8623
8686
  e.light_brightness().withMinBrightness().withMaxBrightness().withEndpoint('l1'),
8624
8687
  e.light_brightness().withMinBrightness().withMaxBrightness().withEndpoint('l2'),
8625
8688
  e.power_on_behavior().withAccess(ea.ALL),
8689
+ tuya.exposes.switchType().withEndpoint('l1'),
8690
+ tuya.exposes.switchType().withEndpoint('l2'),
8626
8691
  ],
8627
8692
  configure: async (device, coordinatorEndpoint) => {
8628
8693
  await tuya.configureMagicPacket(device, coordinatorEndpoint);
@@ -10507,7 +10572,7 @@ const definitions = [
10507
10572
  tuyaDatapoints: [
10508
10573
  [112, 'presence', tuya.valueConverter.trueFalse1],
10509
10574
  [106, 'motion_sensitivity', tuya.valueConverter.divideBy10FromOnly],
10510
- [111, 'occupancy_sensitivity', tuya.valueConverter.divideBy10FromOnly],
10575
+ [111, 'presence_sensitivity', tuya.valueConverter.divideBy10FromOnly],
10511
10576
  [107, 'max_range', tuya.valueConverter.divideBy100],
10512
10577
  [109, 'distance', tuya.valueConverter.divideBy100],
10513
10578
  [110, 'presence_timeout', tuya.valueConverter.raw],
@@ -11419,17 +11484,163 @@ const definitions = [
11419
11484
  ],
11420
11485
  },
11421
11486
  {
11422
- fingerprint: tuya.fingerprint('TS0601', ['_TZE204_l6llgoxq', '_TZE204_kobbcyum']),
11487
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_kobbcyum', '_TZE284_kobbcyum']),
11488
+ model: 'TOWSMR1',
11489
+ vendor: 'Tongou',
11490
+ description: 'Single-phase multifunction RCBO (DIN Module)',
11491
+ fromZigbee: [tuya.fz.datapoints, tuya.fz.gateway_connection_status],
11492
+ toZigbee: [tuya.tz.datapoints],
11493
+ configure: async (device, coordinatorEndpoint) => {
11494
+ await tuya.configureMagicPacket(device, coordinatorEndpoint);
11495
+ // Required to get the device to start reporting
11496
+ await device.getEndpoint(1).command('manuSpecificTuya', 'dataQuery', {});
11497
+ },
11498
+ exposes: [
11499
+ tuya.exposes.switch(),
11500
+ e.temperature(),
11501
+ e.current(),
11502
+ e.power(),
11503
+ e.voltage(),
11504
+ e.energy(),
11505
+ e.numeric('leakage_current', ea.STATE).withUnit('mA').withDescription('Current leakage'),
11506
+ e
11507
+ .enum('event', ea.STATE, [
11508
+ 'normal',
11509
+ 'over_current_trip',
11510
+ 'over_power_trip',
11511
+ 'high_temp_trip',
11512
+ 'over_voltage_trip',
11513
+ 'under_voltage_trip',
11514
+ 'over_current_alarm',
11515
+ 'over_power_alarm',
11516
+ 'high_temp_alarm',
11517
+ 'over_voltage_alarm',
11518
+ 'under_voltage_alarm',
11519
+ 'remote_on',
11520
+ 'remote_off',
11521
+ 'manual_on',
11522
+ 'manual_off',
11523
+ 'leakage_trip',
11524
+ 'leakage_alarm',
11525
+ 'restore_default',
11526
+ 'automatic_closing',
11527
+ 'electricity_shortage',
11528
+ 'electricity_shortage_alarm',
11529
+ 'timing_switch_On',
11530
+ 'timing_switch_off',
11531
+ ])
11532
+ .withDescription('Last event of the device'),
11533
+ e.enum('over_current_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Over current setting'),
11534
+ e
11535
+ .numeric('over_current_threshold', ea.STATE_SET)
11536
+ .withUnit('A')
11537
+ .withDescription('Setup the value on the device')
11538
+ .withValueMin(1)
11539
+ .withValueMax(40),
11540
+ e.enum('over_voltage_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Over voltage setting'),
11541
+ e
11542
+ .numeric('over_voltage_threshold', ea.STATE_SET)
11543
+ .withUnit('V')
11544
+ .withDescription('Setup value on the device')
11545
+ .withValueMin(240)
11546
+ .withValueMax(295),
11547
+ e.enum('under_voltage_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Under voltage setting'),
11548
+ e
11549
+ .numeric('under_voltage_threshold', ea.STATE_SET)
11550
+ .withUnit('V')
11551
+ .withDescription('Setup value on the device')
11552
+ .withValueMin(145)
11553
+ .withValueMax(220),
11554
+ e.enum('leakage_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Leakage setting'),
11555
+ e
11556
+ .numeric('leakage_threshold', ea.STATE_SET)
11557
+ .withUnit('mA')
11558
+ .withDescription('Setup value on the device')
11559
+ .withValueMin(30)
11560
+ .withValueMax(100),
11561
+ e.enum('temperature_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Temperature setting'),
11562
+ e
11563
+ .numeric('temperature_threshold', ea.STATE_SET)
11564
+ .withUnit('°C')
11565
+ .withDescription('Setup value on the device')
11566
+ .withValueMin(-25)
11567
+ .withValueMax(100),
11568
+ e.enum('over_power_setting', ea.STATE_SET, ['Ignore', 'Alarm', 'Trip']).withDescription('Over power setting'),
11569
+ e
11570
+ .numeric('over_power_threshold', ea.STATE_SET)
11571
+ .withUnit('W')
11572
+ .withDescription('Setup value on the device')
11573
+ .withValueMin(1)
11574
+ .withValueMax(25000),
11575
+ e
11576
+ .binary('auto_reclosing', ea.STATE_SET, 'ON', 'OFF')
11577
+ .withLabel('Auto reclosing')
11578
+ .withDescription('When the circuit breaker trips due to voltage protection, it will automatically close when the circuit voltage returns to normal'),
11579
+ e.binary('restore_default', ea.STATE_SET, 'ON', 'OFF').withDescription('Turn ON to restore default settings'),
11580
+ ],
11581
+ meta: {
11582
+ tuyaDatapoints: [
11583
+ [1, 'energy', tuya.valueConverter.divideBy100],
11584
+ [6, null, tuya.valueConverter.phaseVariant2], // voltage and current
11585
+ [15, 'leakage_current', tuya.valueConverter.raw],
11586
+ [16, 'state', tuya.valueConverter.onOff],
11587
+ [
11588
+ 110,
11589
+ 'event',
11590
+ tuya.valueConverterBasic.lookup({
11591
+ normal: 0,
11592
+ over_current_trip: 1,
11593
+ over_power_trip: 2,
11594
+ high_temp_trip: 3,
11595
+ over_voltage_trip: 4,
11596
+ under_voltage_trip: 5,
11597
+ over_current_alarm: 6,
11598
+ over_power_alarm: 7,
11599
+ high_temp_alarm: 8,
11600
+ over_voltage_alarm: 9,
11601
+ under_voltage_alarm: 10,
11602
+ remote_on: 11,
11603
+ remote_off: 12,
11604
+ manual_on: 13,
11605
+ manual_off: 14,
11606
+ leakage_trip: 15,
11607
+ leakage_alarm: 16,
11608
+ restore_default: 17,
11609
+ automatic_closing: 18,
11610
+ electricity_shortage: 19,
11611
+ electricity_shortage_alarm: 20,
11612
+ timing_switch_on: 21,
11613
+ timing_switch_off: 22,
11614
+ }),
11615
+ ],
11616
+ [102, 'over_voltage_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11617
+ [103, 'under_voltage_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11618
+ [104, 'over_current_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11619
+ [105, 'over_power_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11620
+ [107, 'temperature_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11621
+ [108, 'leakage_setting', tuya.valueConverterBasic.lookup({ Ignore: tuya.enum(0), Alarm: tuya.enum(1), Trip: tuya.enum(2) })],
11622
+ [112, 'auto_reclosing', tuya.valueConverter.onOff],
11623
+ [113, 'restore_default', tuya.valueConverter.onOff],
11624
+ [114, 'over_current_threshold', tuya.valueConverter.raw],
11625
+ [115, 'over_voltage_threshold', tuya.valueConverter.raw],
11626
+ [116, 'under_voltage_threshold', tuya.valueConverter.raw],
11627
+ [117, 'leakage_threshold', tuya.valueConverter.raw],
11628
+ [118, 'temperature_threshold', tuya.valueConverter.divideBy10],
11629
+ [119, 'over_power_threshold', tuya.valueConverter.raw],
11630
+ [131, 'temperature', tuya.valueConverter.divideBy10],
11631
+ ],
11632
+ },
11633
+ onEvent: tuya.onEvent({ respondToMcuVersionResponse: false, queryIntervalSeconds: 10 }),
11634
+ },
11635
+ {
11636
+ fingerprint: tuya.fingerprint('TS0601', ['_TZE204_l6llgoxq']),
11423
11637
  model: 'EA4161C-BI',
11424
11638
  vendor: 'Tuya',
11425
11639
  description: 'Single-phase multifunction energy meter (DIN Module)',
11426
11640
  fromZigbee: [tuya.fz.datapoints, tuya.fz.gateway_connection_status],
11427
11641
  toZigbee: [tuya.tz.datapoints],
11428
11642
  configure: tuya.configureMagicPacket,
11429
- whiteLabel: [
11430
- { vendor: 'XOCA', model: 'DAC4121C' },
11431
- tuya.whitelabel('Tongou', 'TOWSMR1', 'Single-phase multifunction energy meter (DIN Module)', ['_TZE204_kobbcyum']),
11432
- ],
11643
+ whiteLabel: [{ vendor: 'XOCA', model: 'DAC4121C' }],
11433
11644
  exposes: [e.current(), e.power(), e.voltage(), e.energy(), e.text('meter_id', ea.STATE).withDescription('Meter ID (ID of device)')],
11434
11645
  meta: {
11435
11646
  tuyaDatapoints: [
@@ -12784,14 +12995,21 @@ const definitions = [
12784
12995
  .climate()
12785
12996
  .withLocalTemperature(ea.STATE)
12786
12997
  .withSystemMode(['cool', 'heat', 'fan_only'], ea.STATE_SET)
12787
- .withSetpoint('current_heating_setpoint', 5, 45, 1, ea.STATE_SET)
12788
- .withFanMode(['auto', 'high', 'medium', 'low'], ea.STATE_SET)
12789
- .withLocalTemperatureCalibration(-9, 9, 0.5, ea.STATE_SET),
12998
+ .withSetpoint('current_heating_setpoint', 5, 45, 0.5, ea.STATE_SET)
12999
+ .withFanMode(['auto', 'high', 'medium', 'low', 'off'], ea.STATE_SET)
13000
+ .withLocalTemperatureCalibration(-9, 9, 0.1, ea.STATE_SET),
13001
+ e
13002
+ .numeric('deadzone_temperature', ea.STATE_SET)
13003
+ .withValueMax(5)
13004
+ .withValueMin(1)
13005
+ .withValueStep(1)
13006
+ .withPreset('default', 1, 'Default value')
13007
+ .withDescription('The difference between the local temperature that triggers heating and the set temperature'),
12790
13008
  e.min_temperature().withValueMin(5).withValueMax(15),
12791
13009
  e.max_temperature().withValueMin(35).withValueMax(45),
12792
13010
  e.child_lock(),
12793
13011
  e.humidity(),
12794
- e.binary('manual_mode', ea.STATE_SET, 'ON', 'OFF').withDescription('Manual = ON or Schedule = OFF'),
13012
+ e.binary('manual_mode', ea.STATE_SET, 'Auto', 'Manual').withDescription('Manual = Manual or Schedule = Auto'),
12795
13013
  ],
12796
13014
  meta: {
12797
13015
  tuyaDatapoints: [
@@ -12799,13 +13017,30 @@ const definitions = [
12799
13017
  [2, 'system_mode', tuya.valueConverterBasic.lookup({ cool: tuya.enum(0), heat: tuya.enum(1), fan_only: tuya.enum(2) })],
12800
13018
  [16, 'current_heating_setpoint', tuya.valueConverter.divideBy10],
12801
13019
  [19, 'max_temperature', tuya.valueConverter.divideBy10],
13020
+ [18, 'max_temperature_f', tuya.valueConverter.raw],
13021
+ [20, 'min_temperature_f', tuya.valueConverter.raw],
13022
+ [21, 'local_temperature_f', tuya.valueConverter.raw],
12802
13023
  [24, 'local_temperature', tuya.valueConverter.divideBy10],
12803
13024
  [26, 'min_temperature', tuya.valueConverter.divideBy10],
12804
- [102, 'local_temperature_calibration', tuya.valueConverter.localTemperatureCalibration],
12805
- [28, 'fan_mode', tuya.valueConverterBasic.lookup({ auto: tuya.enum(0), high: tuya.enum(1), medium: tuya.enum(2), low: tuya.enum(3) })],
13025
+ [102, 'local_temperature_calibration', tuya.valueConverter.localTempCalibration1],
13026
+ [103, 'local_temperature_calibration_f', tuya.valueConverter.raw],
13027
+ [104, 'deadzone_temperature', tuya.valueConverter.raw],
13028
+ [105, 'deadzone_temperature_f', tuya.valueConverter.raw],
13029
+ [
13030
+ 28,
13031
+ 'fan_mode',
13032
+ tuya.valueConverterBasic.lookup({
13033
+ auto: tuya.enum(0),
13034
+ high: tuya.enum(1),
13035
+ medium: tuya.enum(2),
13036
+ low: tuya.enum(3),
13037
+ off: tuya.enum(4),
13038
+ }),
13039
+ ],
12806
13040
  [40, 'child_lock', tuya.valueConverter.lockUnlock],
12807
- [113, 'humidity', tuya.valueConverter.raw],
12808
- [101, 'manual_mode', tuya.valueConverter.onOff],
13041
+ [44, 'current_heating_setpoint_f', tuya.valueConverter.raw],
13042
+ [46, 'temperature_scale', tuya.valueConverter.raw],
13043
+ [101, 'manual_mode', tuya.valueConverterBasic.lookup({ Auto: tuya.enum(0), Manual: tuya.enum(1), Tempoary: tuya.enum(2) })],
12809
13044
  ],
12810
13045
  },
12811
13046
  },