@willieee802/zigbee-herdsman-converters 19.44.3 → 19.45.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 (591) hide show
  1. package/CHANGELOG.md +1101 -0
  2. package/dist/converters/actions.d.ts.map +1 -1
  3. package/dist/converters/actions.js +2 -0
  4. package/dist/converters/actions.js.map +1 -1
  5. package/dist/converters/fromZigbee.d.ts +1 -150
  6. package/dist/converters/fromZigbee.d.ts.map +1 -1
  7. package/dist/converters/fromZigbee.js +183 -3044
  8. package/dist/converters/fromZigbee.js.map +1 -1
  9. package/dist/converters/toZigbee.d.ts +0 -121
  10. package/dist/converters/toZigbee.d.ts.map +1 -1
  11. package/dist/converters/toZigbee.js +289 -2386
  12. package/dist/converters/toZigbee.js.map +1 -1
  13. package/dist/devices/ITCommander.d.ts.map +1 -1
  14. package/dist/devices/ITCommander.js +2 -1
  15. package/dist/devices/ITCommander.js.map +1 -1
  16. package/dist/devices/acova.d.ts.map +1 -1
  17. package/dist/devices/acova.js +69 -2
  18. package/dist/devices/acova.js.map +1 -1
  19. package/dist/devices/adeo.d.ts.map +1 -1
  20. package/dist/devices/adeo.js +35 -3
  21. package/dist/devices/adeo.js.map +1 -1
  22. package/dist/devices/adurosmart.js +1 -1
  23. package/dist/devices/adurosmart.js.map +1 -1
  24. package/dist/devices/amina.d.ts.map +1 -1
  25. package/dist/devices/amina.js +47 -10
  26. package/dist/devices/amina.js.map +1 -1
  27. package/dist/devices/aurora_lighting.d.ts.map +1 -1
  28. package/dist/devices/aurora_lighting.js +15 -0
  29. package/dist/devices/aurora_lighting.js.map +1 -1
  30. package/dist/devices/automaton.d.ts.map +1 -1
  31. package/dist/devices/automaton.js +1 -0
  32. package/dist/devices/automaton.js.map +1 -1
  33. package/dist/devices/avatto.d.ts.map +1 -1
  34. package/dist/devices/avatto.js +29 -24
  35. package/dist/devices/avatto.js.map +1 -1
  36. package/dist/devices/awox.d.ts.map +1 -1
  37. package/dist/devices/awox.js +41 -3
  38. package/dist/devices/awox.js.map +1 -1
  39. package/dist/devices/bacchus.d.ts.map +1 -1
  40. package/dist/devices/bacchus.js +75 -0
  41. package/dist/devices/bacchus.js.map +1 -1
  42. package/dist/devices/bitron.d.ts.map +1 -1
  43. package/dist/devices/bitron.js +29 -2
  44. package/dist/devices/bitron.js.map +1 -1
  45. package/dist/devices/bosch.d.ts.map +1 -1
  46. package/dist/devices/bosch.js +70 -50
  47. package/dist/devices/bosch.js.map +1 -1
  48. package/dist/devices/bticino.d.ts.map +1 -1
  49. package/dist/devices/bticino.js +11 -1
  50. package/dist/devices/bticino.js.map +1 -1
  51. package/dist/devices/byun.d.ts.map +1 -1
  52. package/dist/devices/byun.js +40 -3
  53. package/dist/devices/byun.js.map +1 -1
  54. package/dist/devices/candeo.d.ts.map +1 -1
  55. package/dist/devices/candeo.js +262 -9
  56. package/dist/devices/candeo.js.map +1 -1
  57. package/dist/devices/centralite.d.ts +9 -0
  58. package/dist/devices/centralite.d.ts.map +1 -1
  59. package/dist/devices/centralite.js +44 -5
  60. package/dist/devices/centralite.js.map +1 -1
  61. package/dist/devices/{aubess.d.ts → cigol.d.ts} +1 -1
  62. package/dist/devices/cigol.d.ts.map +1 -0
  63. package/dist/devices/cigol.js +260 -0
  64. package/dist/devices/cigol.js.map +1 -0
  65. package/dist/devices/cleverio.js +2 -2
  66. package/dist/devices/cleverio.js.map +1 -1
  67. package/dist/devices/climax.d.ts.map +1 -1
  68. package/dist/devices/climax.js +15 -1
  69. package/dist/devices/climax.js.map +1 -1
  70. package/dist/devices/ctm.d.ts.map +1 -1
  71. package/dist/devices/ctm.js +845 -496
  72. package/dist/devices/ctm.js.map +1 -1
  73. package/dist/devices/custom_devices_diy.d.ts +183 -1
  74. package/dist/devices/custom_devices_diy.d.ts.map +1 -1
  75. package/dist/devices/custom_devices_diy.js +390 -33
  76. package/dist/devices/custom_devices_diy.js.map +1 -1
  77. package/dist/devices/daewoo.d.ts +3 -0
  78. package/dist/devices/daewoo.d.ts.map +1 -0
  79. package/dist/devices/daewoo.js +198 -0
  80. package/dist/devices/daewoo.js.map +1 -0
  81. package/dist/devices/danfoss.d.ts.map +1 -1
  82. package/dist/devices/danfoss.js +1270 -296
  83. package/dist/devices/danfoss.js.map +1 -1
  84. package/dist/devices/databyte.d.ts.map +1 -1
  85. package/dist/devices/databyte.js +47 -3
  86. package/dist/devices/databyte.js.map +1 -1
  87. package/dist/devices/datek.d.ts.map +1 -1
  88. package/dist/devices/datek.js +202 -41
  89. package/dist/devices/datek.js.map +1 -1
  90. package/dist/devices/dawon_dns.d.ts.map +1 -1
  91. package/dist/devices/dawon_dns.js +14 -1
  92. package/dist/devices/dawon_dns.js.map +1 -1
  93. package/dist/devices/develco.d.ts.map +1 -1
  94. package/dist/devices/develco.js +145 -64
  95. package/dist/devices/develco.js.map +1 -1
  96. package/dist/devices/diyruz.d.ts.map +1 -1
  97. package/dist/devices/diyruz.js +444 -20
  98. package/dist/devices/diyruz.js.map +1 -1
  99. package/dist/devices/domraem.d.ts.map +1 -1
  100. package/dist/devices/domraem.js +7 -0
  101. package/dist/devices/domraem.js.map +1 -1
  102. package/dist/devices/easyaccess.d.ts.map +1 -1
  103. package/dist/devices/easyaccess.js +22 -2
  104. package/dist/devices/easyaccess.js.map +1 -1
  105. package/dist/devices/easyiot.d.ts.map +1 -1
  106. package/dist/devices/easyiot.js +767 -5
  107. package/dist/devices/easyiot.js.map +1 -1
  108. package/dist/devices/echostar.d.ts.map +1 -1
  109. package/dist/devices/echostar.js +25 -1
  110. package/dist/devices/echostar.js.map +1 -1
  111. package/dist/devices/ecodim.d.ts.map +1 -1
  112. package/dist/devices/ecodim.js +8 -0
  113. package/dist/devices/ecodim.js.map +1 -1
  114. package/dist/devices/ecolink.d.ts.map +1 -1
  115. package/dist/devices/ecolink.js +12 -0
  116. package/dist/devices/ecolink.js.map +1 -1
  117. package/dist/devices/efekta.d.ts.map +1 -1
  118. package/dist/devices/efekta.js +1615 -60
  119. package/dist/devices/efekta.js.map +1 -1
  120. package/dist/devices/eglo.d.ts.map +1 -1
  121. package/dist/devices/eglo.js +203 -17
  122. package/dist/devices/eglo.js.map +1 -1
  123. package/dist/devices/elko.d.ts.map +1 -1
  124. package/dist/devices/elko.js +20 -22
  125. package/dist/devices/elko.js.map +1 -1
  126. package/dist/devices/engo.d.ts.map +1 -1
  127. package/dist/devices/engo.js +201 -0
  128. package/dist/devices/engo.js.map +1 -1
  129. package/dist/devices/enocean.d.ts.map +1 -1
  130. package/dist/devices/enocean.js +132 -4
  131. package/dist/devices/enocean.js.map +1 -1
  132. package/dist/devices/ensystec.d.ts +3 -0
  133. package/dist/devices/ensystec.d.ts.map +1 -0
  134. package/dist/devices/ensystec.js +1200 -0
  135. package/dist/devices/ensystec.js.map +1 -0
  136. package/dist/devices/eurotronic.d.ts +78 -1
  137. package/dist/devices/eurotronic.d.ts.map +1 -1
  138. package/dist/devices/eurotronic.js +244 -40
  139. package/dist/devices/eurotronic.js.map +1 -1
  140. package/dist/devices/ewelink.d.ts.map +1 -1
  141. package/dist/devices/ewelink.js +154 -2
  142. package/dist/devices/ewelink.js.map +1 -1
  143. package/dist/devices/fantem.js +1 -1
  144. package/dist/devices/fantem.js.map +1 -1
  145. package/dist/devices/fireangel.d.ts.map +1 -1
  146. package/dist/devices/fireangel.js +12 -1
  147. package/dist/devices/fireangel.js.map +1 -1
  148. package/dist/devices/frankever.d.ts.map +1 -1
  149. package/dist/devices/frankever.js +96 -0
  150. package/dist/devices/frankever.js.map +1 -1
  151. package/dist/devices/frient.d.ts.map +1 -1
  152. package/dist/devices/frient.js +15 -0
  153. package/dist/devices/frient.js.map +1 -1
  154. package/dist/devices/girier.js +1 -1
  155. package/dist/devices/girier.js.map +1 -1
  156. package/dist/devices/gledopto.js +1 -1
  157. package/dist/devices/gledopto.js.map +1 -1
  158. package/dist/devices/gmmts.d.ts.map +1 -1
  159. package/dist/devices/gmmts.js +59 -55
  160. package/dist/devices/gmmts.js.map +1 -1
  161. package/dist/devices/halo_smart_labs.d.ts +3 -0
  162. package/dist/devices/halo_smart_labs.d.ts.map +1 -0
  163. package/dist/devices/halo_smart_labs.js +918 -0
  164. package/dist/devices/halo_smart_labs.js.map +1 -0
  165. package/dist/devices/handshake_finland.d.ts +3 -0
  166. package/dist/devices/handshake_finland.d.ts.map +1 -0
  167. package/dist/devices/handshake_finland.js +15 -0
  168. package/dist/devices/handshake_finland.js.map +1 -0
  169. package/dist/devices/heiman.d.ts.map +1 -1
  170. package/dist/devices/heiman.js +1361 -147
  171. package/dist/devices/heiman.js.map +1 -1
  172. package/dist/devices/heimgard_technologies.d.ts.map +1 -1
  173. package/dist/devices/heimgard_technologies.js +13 -0
  174. package/dist/devices/heimgard_technologies.js.map +1 -1
  175. package/dist/devices/hive.d.ts.map +1 -1
  176. package/dist/devices/hive.js +11 -0
  177. package/dist/devices/hive.js.map +1 -1
  178. package/dist/devices/ikea.d.ts.map +1 -1
  179. package/dist/devices/ikea.js +185 -135
  180. package/dist/devices/ikea.js.map +1 -1
  181. package/dist/devices/iluminize.d.ts.map +1 -1
  182. package/dist/devices/iluminize.js +8 -7
  183. package/dist/devices/iluminize.js.map +1 -1
  184. package/dist/devices/immax.d.ts.map +1 -1
  185. package/dist/devices/immax.js +3 -1
  186. package/dist/devices/immax.js.map +1 -1
  187. package/dist/devices/index.d.ts.map +1 -1
  188. package/dist/devices/index.js +20 -2
  189. package/dist/devices/index.js.map +1 -1
  190. package/dist/devices/innr.d.ts.map +1 -1
  191. package/dist/devices/innr.js +34 -2
  192. package/dist/devices/innr.js.map +1 -1
  193. package/dist/devices/inovelli.d.ts.map +1 -1
  194. package/dist/devices/inovelli.js +41 -2348
  195. package/dist/devices/inovelli.js.map +1 -1
  196. package/dist/devices/iris.d.ts.map +1 -1
  197. package/dist/devices/iris.js +13 -1
  198. package/dist/devices/iris.js.map +1 -1
  199. package/dist/devices/javis.d.ts.map +1 -1
  200. package/dist/devices/javis.js +39 -1
  201. package/dist/devices/javis.js.map +1 -1
  202. package/dist/devices/jxuan.d.ts.map +1 -1
  203. package/dist/devices/jxuan.js +37 -2
  204. package/dist/devices/jxuan.js.map +1 -1
  205. package/dist/devices/kami.d.ts.map +1 -1
  206. package/dist/devices/kami.js +21 -2
  207. package/dist/devices/kami.js.map +1 -1
  208. package/dist/devices/keen_home.d.ts.map +1 -1
  209. package/dist/devices/keen_home.js +13 -3
  210. package/dist/devices/keen_home.js.map +1 -1
  211. package/dist/devices/klikaanklikuit.d.ts.map +1 -1
  212. package/dist/devices/klikaanklikuit.js +7 -0
  213. package/dist/devices/klikaanklikuit.js.map +1 -1
  214. package/dist/devices/kmpcil.d.ts.map +1 -1
  215. package/dist/devices/kmpcil.js +44 -5
  216. package/dist/devices/kmpcil.js.map +1 -1
  217. package/dist/devices/konke.d.ts.map +1 -1
  218. package/dist/devices/konke.js +10 -1
  219. package/dist/devices/konke.js.map +1 -1
  220. package/dist/devices/lds.d.ts.map +1 -1
  221. package/dist/devices/lds.js +7 -0
  222. package/dist/devices/lds.js.map +1 -1
  223. package/dist/devices/led_trading.d.ts.map +1 -1
  224. package/dist/devices/led_trading.js +13 -13
  225. package/dist/devices/led_trading.js.map +1 -1
  226. package/dist/devices/leedarson.d.ts.map +1 -1
  227. package/dist/devices/leedarson.js +140 -1
  228. package/dist/devices/leedarson.js.map +1 -1
  229. package/dist/devices/legrand.d.ts.map +1 -1
  230. package/dist/devices/legrand.js +73 -42
  231. package/dist/devices/legrand.js.map +1 -1
  232. package/dist/devices/lellki.d.ts.map +1 -1
  233. package/dist/devices/lellki.js +3 -1
  234. package/dist/devices/lellki.js.map +1 -1
  235. package/dist/devices/letv.d.ts.map +1 -1
  236. package/dist/devices/letv.js +16 -2
  237. package/dist/devices/letv.js.map +1 -1
  238. package/dist/devices/lidl.d.ts.map +1 -1
  239. package/dist/devices/lidl.js +26 -6
  240. package/dist/devices/lidl.js.map +1 -1
  241. package/dist/devices/lincukoo.d.ts.map +1 -1
  242. package/dist/devices/lincukoo.js +92 -31
  243. package/dist/devices/lincukoo.js.map +1 -1
  244. package/dist/devices/linkind.d.ts.map +1 -1
  245. package/dist/devices/linkind.js +14 -1
  246. package/dist/devices/linkind.js.map +1 -1
  247. package/dist/devices/linptech.d.ts.map +1 -1
  248. package/dist/devices/linptech.js +3 -1
  249. package/dist/devices/linptech.js.map +1 -1
  250. package/dist/devices/livingwise.d.ts.map +1 -1
  251. package/dist/devices/livingwise.js +2 -1
  252. package/dist/devices/livingwise.js.map +1 -1
  253. package/dist/devices/livolo.d.ts.map +1 -1
  254. package/dist/devices/livolo.js +612 -20
  255. package/dist/devices/livolo.js.map +1 -1
  256. package/dist/devices/lixee.d.ts.map +1 -1
  257. package/dist/devices/lixee.js +46 -44
  258. package/dist/devices/lixee.js.map +1 -1
  259. package/dist/devices/lonsonho.d.ts.map +1 -1
  260. package/dist/devices/lonsonho.js +18 -11
  261. package/dist/devices/lonsonho.js.map +1 -1
  262. package/dist/devices/lumi.d.ts.map +1 -1
  263. package/dist/devices/lumi.js +877 -155
  264. package/dist/devices/lumi.js.map +1 -1
  265. package/dist/devices/lytko.d.ts.map +1 -1
  266. package/dist/devices/lytko.js +205 -556
  267. package/dist/devices/lytko.js.map +1 -1
  268. package/dist/devices/makegood.d.ts.map +1 -1
  269. package/dist/devices/makegood.js +5 -1
  270. package/dist/devices/makegood.js.map +1 -1
  271. package/dist/devices/mazda.js +7 -7
  272. package/dist/devices/mazda.js.map +1 -1
  273. package/dist/devices/meazon.d.ts.map +1 -1
  274. package/dist/devices/meazon.js +82 -20
  275. package/dist/devices/meazon.js.map +1 -1
  276. package/dist/devices/megaman.d.ts +4 -0
  277. package/dist/devices/megaman.d.ts.map +1 -0
  278. package/dist/devices/megaman.js +48 -0
  279. package/dist/devices/megaman.js.map +1 -0
  280. package/dist/devices/mercator.d.ts.map +1 -1
  281. package/dist/devices/mercator.js +20 -5
  282. package/dist/devices/mercator.js.map +1 -1
  283. package/dist/devices/miboxer.d.ts.map +1 -1
  284. package/dist/devices/miboxer.js +3 -1
  285. package/dist/devices/miboxer.js.map +1 -1
  286. package/dist/devices/mill.d.ts.map +1 -1
  287. package/dist/devices/mill.js +33 -7
  288. package/dist/devices/mill.js.map +1 -1
  289. package/dist/devices/moes.d.ts.map +1 -1
  290. package/dist/devices/moes.js +89 -15
  291. package/dist/devices/moes.js.map +1 -1
  292. package/dist/devices/msh.d.ts +3 -0
  293. package/dist/devices/msh.d.ts.map +1 -0
  294. package/dist/devices/msh.js +93 -0
  295. package/dist/devices/msh.js.map +1 -0
  296. package/dist/devices/muller_licht.d.ts.map +1 -1
  297. package/dist/devices/muller_licht.js +11 -0
  298. package/dist/devices/muller_licht.js.map +1 -1
  299. package/dist/devices/multir.d.ts.map +1 -1
  300. package/dist/devices/multir.js +12 -1
  301. package/dist/devices/multir.js.map +1 -1
  302. package/dist/devices/multiterm.js +2 -2
  303. package/dist/devices/multiterm.js.map +1 -1
  304. package/dist/devices/namron.d.ts.map +1 -1
  305. package/dist/devices/namron.js +488 -128
  306. package/dist/devices/namron.js.map +1 -1
  307. package/dist/devices/neo.d.ts.map +1 -1
  308. package/dist/devices/neo.js +151 -192
  309. package/dist/devices/neo.js.map +1 -1
  310. package/dist/devices/netica.d.ts +3 -0
  311. package/dist/devices/netica.d.ts.map +1 -0
  312. package/dist/devices/netica.js +153 -0
  313. package/dist/devices/netica.js.map +1 -0
  314. package/dist/devices/niko.d.ts.map +1 -1
  315. package/dist/devices/niko.js +10 -8
  316. package/dist/devices/niko.js.map +1 -1
  317. package/dist/devices/nodon.d.ts.map +1 -1
  318. package/dist/devices/nodon.js +6 -4
  319. package/dist/devices/nodon.js.map +1 -1
  320. package/dist/devices/nous.d.ts.map +1 -1
  321. package/dist/devices/nous.js +160 -61
  322. package/dist/devices/nous.js.map +1 -1
  323. package/dist/devices/nue_3a.d.ts.map +1 -1
  324. package/dist/devices/nue_3a.js +2 -0
  325. package/dist/devices/nue_3a.js.map +1 -1
  326. package/dist/devices/onesti.d.ts +11 -1
  327. package/dist/devices/onesti.d.ts.map +1 -1
  328. package/dist/devices/onesti.js +30 -6
  329. package/dist/devices/onesti.js.map +1 -1
  330. package/dist/devices/onokom.d.ts.map +1 -1
  331. package/dist/devices/onokom.js +1152 -2309
  332. package/dist/devices/onokom.js.map +1 -1
  333. package/dist/devices/orvibo.d.ts +17 -1
  334. package/dist/devices/orvibo.d.ts.map +1 -1
  335. package/dist/devices/orvibo.js +71 -4
  336. package/dist/devices/orvibo.js.map +1 -1
  337. package/dist/devices/owon.d.ts.map +1 -1
  338. package/dist/devices/owon.js +382 -62
  339. package/dist/devices/owon.js.map +1 -1
  340. package/dist/devices/paul_neuhaus.d.ts.map +1 -1
  341. package/dist/devices/paul_neuhaus.js +9 -0
  342. package/dist/devices/paul_neuhaus.js.map +1 -1
  343. package/dist/devices/paulmann.js +2 -2
  344. package/dist/devices/paulmann.js.map +1 -1
  345. package/dist/devices/perenio.d.ts.map +1 -1
  346. package/dist/devices/perenio.js +57 -39
  347. package/dist/devices/perenio.js.map +1 -1
  348. package/dist/devices/philips.d.ts.map +1 -1
  349. package/dist/devices/philips.js +194 -53
  350. package/dist/devices/philips.js.map +1 -1
  351. package/dist/devices/plaid.d.ts.map +1 -1
  352. package/dist/devices/plaid.js +18 -1
  353. package/dist/devices/plaid.js.map +1 -1
  354. package/dist/devices/plugwise.d.ts.map +1 -1
  355. package/dist/devices/plugwise.js +307 -26
  356. package/dist/devices/plugwise.js.map +1 -1
  357. package/dist/devices/profalux.d.ts.map +1 -1
  358. package/dist/devices/profalux.js +25 -1
  359. package/dist/devices/profalux.js.map +1 -1
  360. package/dist/devices/pushok.d.ts.map +1 -1
  361. package/dist/devices/pushok.js +44 -0
  362. package/dist/devices/pushok.js.map +1 -1
  363. package/dist/devices/qa.d.ts.map +1 -1
  364. package/dist/devices/qa.js +80 -32
  365. package/dist/devices/qa.js.map +1 -1
  366. package/dist/devices/repenic_ltd.d.ts +3 -0
  367. package/dist/devices/repenic_ltd.d.ts.map +1 -0
  368. package/dist/devices/repenic_ltd.js +97 -0
  369. package/dist/devices/repenic_ltd.js.map +1 -0
  370. package/dist/devices/robb.d.ts.map +1 -1
  371. package/dist/devices/robb.js +13 -1
  372. package/dist/devices/robb.js.map +1 -1
  373. package/dist/devices/rtx.js +1 -1
  374. package/dist/devices/rtx.js.map +1 -1
  375. package/dist/devices/salus_controls.d.ts.map +1 -1
  376. package/dist/devices/salus_controls.js +44 -17
  377. package/dist/devices/salus_controls.js.map +1 -1
  378. package/dist/devices/samotech.js +2 -2
  379. package/dist/devices/samotech.js.map +1 -1
  380. package/dist/devices/sber.d.ts.map +1 -1
  381. package/dist/devices/sber.js +435 -26
  382. package/dist/devices/sber.js.map +1 -1
  383. package/dist/devices/schneider_electric.d.ts.map +1 -1
  384. package/dist/devices/schneider_electric.js +808 -252
  385. package/dist/devices/schneider_electric.js.map +1 -1
  386. package/dist/devices/securifi.d.ts.map +1 -1
  387. package/dist/devices/securifi.js +24 -1
  388. package/dist/devices/securifi.js.map +1 -1
  389. package/dist/devices/sengled.d.ts.map +1 -1
  390. package/dist/devices/sengled.js +5 -4
  391. package/dist/devices/sengled.js.map +1 -1
  392. package/dist/devices/shada.d.ts +3 -0
  393. package/dist/devices/shada.d.ts.map +1 -0
  394. package/dist/devices/{aubess.js → shada.js} +7 -20
  395. package/dist/devices/shada.js.map +1 -0
  396. package/dist/devices/shelly.d.ts.map +1 -1
  397. package/dist/devices/shelly.js +646 -61
  398. package/dist/devices/shelly.js.map +1 -1
  399. package/dist/devices/shinasystem.d.ts.map +1 -1
  400. package/dist/devices/shinasystem.js +75 -16
  401. package/dist/devices/shinasystem.js.map +1 -1
  402. package/dist/devices/siglis.d.ts.map +1 -1
  403. package/dist/devices/siglis.js +26 -0
  404. package/dist/devices/siglis.js.map +1 -1
  405. package/dist/devices/sinope.d.ts.map +1 -1
  406. package/dist/devices/sinope.js +163 -83
  407. package/dist/devices/sinope.js.map +1 -1
  408. package/dist/devices/slacky_diy.d.ts.map +1 -1
  409. package/dist/devices/slacky_diy.js +3007 -69
  410. package/dist/devices/slacky_diy.js.map +1 -1
  411. package/dist/devices/smarli.d.ts.map +1 -1
  412. package/dist/devices/smarli.js +4 -5
  413. package/dist/devices/smarli.js.map +1 -1
  414. package/dist/devices/smartthings.d.ts +25 -0
  415. package/dist/devices/smartthings.d.ts.map +1 -1
  416. package/dist/devices/smartthings.js +62 -11
  417. package/dist/devices/smartthings.js.map +1 -1
  418. package/dist/devices/somfy.d.ts.map +1 -1
  419. package/dist/devices/somfy.js +14 -1
  420. package/dist/devices/somfy.js.map +1 -1
  421. package/dist/devices/sonoff.d.ts +42 -1
  422. package/dist/devices/sonoff.d.ts.map +1 -1
  423. package/dist/devices/sonoff.js +5161 -2007
  424. package/dist/devices/sonoff.js.map +1 -1
  425. package/dist/devices/sprut.d.ts.map +1 -1
  426. package/dist/devices/sprut.js +5 -4
  427. package/dist/devices/sprut.js.map +1 -1
  428. package/dist/devices/stello.d.ts.map +1 -1
  429. package/dist/devices/stello.js +6 -24
  430. package/dist/devices/stello.js.map +1 -1
  431. package/dist/devices/stelpro.d.ts +51 -1
  432. package/dist/devices/stelpro.d.ts.map +1 -1
  433. package/dist/devices/stelpro.js +86 -23
  434. package/dist/devices/stelpro.js.map +1 -1
  435. package/dist/devices/sunricher.d.ts.map +1 -1
  436. package/dist/devices/sunricher.js +215 -29
  437. package/dist/devices/sunricher.js.map +1 -1
  438. package/dist/devices/tech.d.ts.map +1 -1
  439. package/dist/devices/tech.js +35 -35
  440. package/dist/devices/tech.js.map +1 -1
  441. package/dist/devices/terncy.d.ts.map +1 -1
  442. package/dist/devices/terncy.js +398 -2
  443. package/dist/devices/terncy.js.map +1 -1
  444. package/dist/devices/third_reality.d.ts +42 -1
  445. package/dist/devices/third_reality.d.ts.map +1 -1
  446. package/dist/devices/third_reality.js +521 -110
  447. package/dist/devices/third_reality.js.map +1 -1
  448. package/dist/devices/tuya.d.ts.map +1 -1
  449. package/dist/devices/tuya.js +3143 -815
  450. package/dist/devices/tuya.js.map +1 -1
  451. package/dist/devices/ubisys.d.ts.map +1 -1
  452. package/dist/devices/ubisys.js +11 -8
  453. package/dist/devices/ubisys.js.map +1 -1
  454. package/dist/devices/vesternet.d.ts.map +1 -1
  455. package/dist/devices/vesternet.js +7 -0
  456. package/dist/devices/vesternet.js.map +1 -1
  457. package/dist/devices/viessmann.d.ts.map +1 -1
  458. package/dist/devices/viessmann.js +107 -4
  459. package/dist/devices/viessmann.js.map +1 -1
  460. package/dist/devices/vsmart.d.ts.map +1 -1
  461. package/dist/devices/vsmart.js +11 -0
  462. package/dist/devices/vsmart.js.map +1 -1
  463. package/dist/devices/weiser.d.ts.map +1 -1
  464. package/dist/devices/weiser.js +6 -0
  465. package/dist/devices/weiser.js.map +1 -1
  466. package/dist/devices/wirenboard.d.ts.map +1 -1
  467. package/dist/devices/wirenboard.js +124 -21
  468. package/dist/devices/wirenboard.js.map +1 -1
  469. package/dist/devices/wmun.d.ts.map +1 -1
  470. package/dist/devices/wmun.js +3 -2
  471. package/dist/devices/wmun.js.map +1 -1
  472. package/dist/devices/woolley.d.ts.map +1 -1
  473. package/dist/devices/woolley.js +6 -9
  474. package/dist/devices/woolley.js.map +1 -1
  475. package/dist/devices/woox.js +2 -2
  476. package/dist/devices/woox.js.map +1 -1
  477. package/dist/devices/xyzroe.d.ts.map +1 -1
  478. package/dist/devices/xyzroe.js +16 -4
  479. package/dist/devices/xyzroe.js.map +1 -1
  480. package/dist/devices/yale.d.ts.map +1 -1
  481. package/dist/devices/yale.js +138 -40
  482. package/dist/devices/yale.js.map +1 -1
  483. package/dist/devices/yandex.d.ts.map +1 -1
  484. package/dist/devices/yandex.js +93 -11
  485. package/dist/devices/yandex.js.map +1 -1
  486. package/dist/devices/yokis.d.ts.map +1 -1
  487. package/dist/devices/yokis.js +122 -85
  488. package/dist/devices/yokis.js.map +1 -1
  489. package/dist/devices/zbeacon.d.ts.map +1 -1
  490. package/dist/devices/zbeacon.js +0 -7
  491. package/dist/devices/zbeacon.js.map +1 -1
  492. package/dist/devices/zemismart.d.ts.map +1 -1
  493. package/dist/devices/zemismart.js +148 -11
  494. package/dist/devices/zemismart.js.map +1 -1
  495. package/dist/devices/zigbeetlc.js +1 -1
  496. package/dist/devices/zigbeetlc.js.map +1 -1
  497. package/dist/index.d.ts +1 -1
  498. package/dist/index.d.ts.map +1 -1
  499. package/dist/index.js +40 -35
  500. package/dist/index.js.map +1 -1
  501. package/dist/lib/bosch.d.ts.map +1 -1
  502. package/dist/lib/bosch.js +212 -42
  503. package/dist/lib/bosch.js.map +1 -1
  504. package/dist/lib/constants.d.ts +99 -17
  505. package/dist/lib/constants.d.ts.map +1 -1
  506. package/dist/lib/constants.js +15 -2
  507. package/dist/lib/constants.js.map +1 -1
  508. package/dist/lib/develco.d.ts +11 -0
  509. package/dist/lib/develco.d.ts.map +1 -1
  510. package/dist/lib/develco.js +78 -9
  511. package/dist/lib/develco.js.map +1 -1
  512. package/dist/lib/exposes.d.ts +11 -10
  513. package/dist/lib/exposes.d.ts.map +1 -1
  514. package/dist/lib/exposes.js +7 -48
  515. package/dist/lib/exposes.js.map +1 -1
  516. package/dist/lib/heiman.d.ts.map +1 -1
  517. package/dist/lib/heiman.js +34 -14
  518. package/dist/lib/heiman.js.map +1 -1
  519. package/dist/lib/ikea.d.ts +17 -0
  520. package/dist/lib/ikea.d.ts.map +1 -1
  521. package/dist/lib/ikea.js +46 -20
  522. package/dist/lib/ikea.js.map +1 -1
  523. package/dist/lib/inovelli.d.ts +86 -0
  524. package/dist/lib/inovelli.d.ts.map +1 -0
  525. package/dist/lib/inovelli.js +2580 -0
  526. package/dist/lib/inovelli.js.map +1 -0
  527. package/dist/lib/ledvance.d.ts +4 -4
  528. package/dist/lib/ledvance.d.ts.map +1 -1
  529. package/dist/lib/ledvance.js +23 -7
  530. package/dist/lib/ledvance.js.map +1 -1
  531. package/dist/lib/legacy.d.ts +21 -2
  532. package/dist/lib/legacy.d.ts.map +1 -1
  533. package/dist/lib/legacy.js +29 -2
  534. package/dist/lib/legacy.js.map +1 -1
  535. package/dist/lib/legrand.d.ts +65 -6
  536. package/dist/lib/legrand.d.ts.map +1 -1
  537. package/dist/lib/legrand.js +188 -9
  538. package/dist/lib/legrand.js.map +1 -1
  539. package/dist/lib/light.d.ts +1 -1
  540. package/dist/lib/light.d.ts.map +1 -1
  541. package/dist/lib/light.js +2 -2
  542. package/dist/lib/light.js.map +1 -1
  543. package/dist/lib/lumi.d.ts +88 -44
  544. package/dist/lib/lumi.d.ts.map +1 -1
  545. package/dist/lib/lumi.js +1813 -59
  546. package/dist/lib/lumi.js.map +1 -1
  547. package/dist/lib/modernExtend.d.ts +19 -14
  548. package/dist/lib/modernExtend.d.ts.map +1 -1
  549. package/dist/lib/modernExtend.js +37 -35
  550. package/dist/lib/modernExtend.js.map +1 -1
  551. package/dist/lib/namron.d.ts +131 -28
  552. package/dist/lib/namron.d.ts.map +1 -1
  553. package/dist/lib/namron.js +723 -42
  554. package/dist/lib/namron.js.map +1 -1
  555. package/dist/lib/nodon.d.ts.map +1 -1
  556. package/dist/lib/nodon.js +3 -1
  557. package/dist/lib/nodon.js.map +1 -1
  558. package/dist/lib/philips.d.ts +106 -2
  559. package/dist/lib/philips.d.ts.map +1 -1
  560. package/dist/lib/philips.js +945 -44
  561. package/dist/lib/philips.js.map +1 -1
  562. package/dist/lib/sonoff.d.ts +77 -10
  563. package/dist/lib/sonoff.d.ts.map +1 -1
  564. package/dist/lib/sonoff.js +165 -34
  565. package/dist/lib/sonoff.js.map +1 -1
  566. package/dist/lib/sunricher.d.ts +1 -1
  567. package/dist/lib/sunricher.d.ts.map +1 -1
  568. package/dist/lib/sunricher.js +6 -8
  569. package/dist/lib/sunricher.js.map +1 -1
  570. package/dist/lib/tuya.d.ts +558 -13
  571. package/dist/lib/tuya.d.ts.map +1 -1
  572. package/dist/lib/tuya.js +1518 -10
  573. package/dist/lib/tuya.js.map +1 -1
  574. package/dist/lib/types.d.ts +9 -6
  575. package/dist/lib/types.d.ts.map +1 -1
  576. package/dist/lib/ubisys.d.ts +1 -1
  577. package/dist/lib/ubisys.d.ts.map +1 -1
  578. package/dist/lib/ubisys.js +60 -5
  579. package/dist/lib/ubisys.js.map +1 -1
  580. package/dist/lib/utils.d.ts +5 -8
  581. package/dist/lib/utils.d.ts.map +1 -1
  582. package/dist/lib/utils.js +30 -17
  583. package/dist/lib/utils.js.map +1 -1
  584. package/dist/lib/zosung.d.ts +69 -6
  585. package/dist/lib/zosung.d.ts.map +1 -1
  586. package/dist/lib/zosung.js +113 -1
  587. package/dist/lib/zosung.js.map +1 -1
  588. package/dist/models-index.json +1 -1
  589. package/package.json +2 -2
  590. package/dist/devices/aubess.d.ts.map +0 -1
  591. package/dist/devices/aubess.js.map +0 -1
@@ -38,259 +38,531 @@ const zigbee_herdsman_1 = require("@willieee802/zigbee-herdsman");
38
38
  const m = __importStar(require("../lib/modernExtend"));
39
39
  const reporting = __importStar(require("../lib/reporting"));
40
40
  const manufacturerCode = 0x4703;
41
+ const onokomExtend = {
42
+ onokomHvacThermostatCluster: () => m.deviceAddCustomCluster("hvacThermostat", {
43
+ name: "hvacThermostat",
44
+ ID: zigbee_herdsman_1.Zcl.Clusters.hvacThermostat.ID,
45
+ attributes: {
46
+ horizontalVanes: { name: "horizontalVanes", ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
47
+ verticalVanes: { name: "verticalVanes", ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
48
+ vanesSwing: { name: "vanesSwing", ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
49
+ mode: { name: "mode", ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
50
+ statusLed: { name: "statusLed", ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
51
+ ionization: { name: "ionization", ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
52
+ selfCleaning: { name: "selfCleaning", ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
53
+ moldProtection: { name: "moldProtection", ID: 0x4722, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
54
+ heating8Deg: { name: "heating8Deg", ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
55
+ gentleWind: { name: "gentleWind", ID: 0x4725, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
56
+ ecoMode: { name: "ecoMode", ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
57
+ sleepMode: { name: "sleepMode", ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
58
+ beeper: { name: "beeper", ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
59
+ screenLight: { name: "screenLight", ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
60
+ disableScreenWhenPowerOff: { name: "disableScreenWhenPowerOff", ID: 0x4732, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
61
+ screenLowBright: { name: "screenLowBright", ID: 0x4733, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
62
+ acConnected: { name: "acConnected", ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
63
+ smartEye: { name: "smartEye", ID: 0x4735, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
64
+ smartSleepMode: { name: "smartSleepMode", ID: 0x4736, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
65
+ indoorHeatExchangerTemperature: { name: "indoorHeatExchangerTemperature", ID: 0x4740, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
66
+ outdoorHeatExchangerTemperature: { name: "outdoorHeatExchangerTemperature", ID: 0x4741, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
67
+ },
68
+ commands: {},
69
+ commandsResponse: {},
70
+ }),
71
+ onokomHvacFanCtrlCluster: () => m.deviceAddCustomCluster("hvacFanCtrl", {
72
+ name: "hvacFanCtrl",
73
+ ID: zigbee_herdsman_1.Zcl.Clusters.hvacFanCtrl.ID,
74
+ attributes: {
75
+ fanSpeed: { name: "fanSpeed", ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
76
+ smartFanSpeed: { name: "smartFanSpeed", ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8, write: true },
77
+ quietMode: { name: "quietMode", ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
78
+ turboMode: { name: "turboMode", ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN, write: true },
79
+ compressorPowerLimit: { name: "compressorPowerLimit", ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true },
80
+ currentCompressorPower: { name: "currentCompressorPower", ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
81
+ targetCompressorPower: { name: "targetCompressorPower", ID: 0x4722, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
82
+ targetFanRpm: { name: "targetFanRpm", ID: 0x4723, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true },
83
+ currentFanRpm: { name: "currentFanRpm", ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.UINT8 },
84
+ },
85
+ commands: {},
86
+ commandsResponse: {},
87
+ }),
88
+ acConnected: (args) => m.enumLookup({
89
+ name: "ac_connected",
90
+ cluster: "hvacThermostat",
91
+ attribute: "acConnected",
92
+ lookup: {
93
+ disconnected: 0,
94
+ invalid_data_recieved: 1,
95
+ connected_with_issues: 2,
96
+ connected: 3,
97
+ },
98
+ description: "AC connected",
99
+ access: "STATE",
100
+ ...args,
101
+ }),
102
+ currentTemperature: (args) => m.numeric({
103
+ name: "current_temperature",
104
+ cluster: "hvacThermostat",
105
+ attribute: "localTemp",
106
+ scale: 100,
107
+ unit: "°C",
108
+ description: "Indoor air temperature",
109
+ access: "STATE",
110
+ ...args,
111
+ }),
112
+ targetTemperature: (args) => m.numeric({
113
+ name: "target_temperature",
114
+ cluster: "hvacThermostat",
115
+ attribute: "occupiedCoolingSetpoint",
116
+ valueMin: 16,
117
+ valueMax: 32,
118
+ valueStep: 0.5,
119
+ scale: 100,
120
+ unit: "°C",
121
+ description: "Target temperature",
122
+ ...args,
123
+ }),
124
+ systemMode: (args) => m.enumLookup({
125
+ name: "system_mode",
126
+ cluster: "hvacThermostat",
127
+ attribute: "systemMode",
128
+ lookup: {
129
+ off: 0,
130
+ auto: 1,
131
+ cool: 3,
132
+ heat: 4,
133
+ fan_only: 7,
134
+ dry: 8,
135
+ },
136
+ description: "Active mode",
137
+ ...args,
138
+ }),
139
+ mode: (args) => m.enumLookup({
140
+ name: "mode",
141
+ cluster: "hvacThermostat",
142
+ attribute: "mode",
143
+ lookup: {
144
+ heat: 1,
145
+ cool: 2,
146
+ auto: 3,
147
+ dry: 4,
148
+ fan_only: 5,
149
+ },
150
+ description: "Mode",
151
+ zigbeeCommandOptions: { manufacturerCode },
152
+ ...args,
153
+ }),
154
+ outdoorAirTemperature: (args) => m.numeric({
155
+ name: "outdoor_air_temperature",
156
+ cluster: "hvacThermostat",
157
+ attribute: "outdoorTemp",
158
+ scale: 100,
159
+ unit: "°C",
160
+ description: "Outdoor air temperature",
161
+ access: "STATE",
162
+ ...args,
163
+ }),
164
+ zbFanSpeed: (args) => m.numeric({
165
+ name: "zb_fan_speed",
166
+ cluster: "hvacFanCtrl",
167
+ attribute: "fanMode",
168
+ valueMin: 1,
169
+ valueMax: 5,
170
+ valueStep: 1,
171
+ description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
172
+ ...args,
173
+ }),
174
+ verticalVanes: (args) => m.numeric({
175
+ name: "vertical_vanes",
176
+ cluster: "hvacThermostat",
177
+ attribute: "verticalVanes",
178
+ valueMin: 0,
179
+ valueMax: 1,
180
+ valueStep: 1,
181
+ description: "Vertical vanes: Stopped(0), Swing(1)",
182
+ zigbeeCommandOptions: { manufacturerCode },
183
+ ...args,
184
+ }),
185
+ horizontalVanes: (args) => m.numeric({
186
+ name: "horizontal_vanes",
187
+ cluster: "hvacThermostat",
188
+ attribute: "horizontalVanes",
189
+ valueMin: 0,
190
+ valueMax: 6,
191
+ valueStep: 1,
192
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
193
+ zigbeeCommandOptions: { manufacturerCode },
194
+ ...args,
195
+ }),
196
+ fanSpeed: (args) => m.numeric({
197
+ name: "fan_speed",
198
+ cluster: "hvacFanCtrl",
199
+ attribute: "fanSpeed",
200
+ valueMin: 0,
201
+ valueMax: 3,
202
+ valueStep: 1,
203
+ description: "Fan speed: Auto(0), First(1) - Maximum(3)",
204
+ zigbeeCommandOptions: { manufacturerCode },
205
+ ...args,
206
+ }),
207
+ smartFanSpeed: (args) => m.numeric({
208
+ name: "smart_fan_speed",
209
+ cluster: "hvacFanCtrl",
210
+ attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
211
+ valueMin: 0,
212
+ valueMax: 5,
213
+ valueStep: 1,
214
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4), Turbo(5)",
215
+ zigbeeCommandOptions: { manufacturerCode },
216
+ ...args,
217
+ }),
218
+ vanesSwing: (args) => m.numeric({
219
+ name: "vanes_swing",
220
+ cluster: "hvacThermostat",
221
+ attribute: "vanesSwing",
222
+ valueMin: 0,
223
+ valueMax: 3,
224
+ valueStep: 1,
225
+ description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
226
+ zigbeeCommandOptions: { manufacturerCode },
227
+ ...args,
228
+ }),
229
+ statusLed: (args) => m.enumLookup({
230
+ name: "status_led",
231
+ cluster: "hvacThermostat",
232
+ attribute: "statusLed",
233
+ lookup: {
234
+ normal_mode: 0,
235
+ disabled_if_no_errors: 1,
236
+ disabled_untill_reboot: 2,
237
+ always_disabled: 3,
238
+ green_untill_reboot: 8,
239
+ red_untill_reboot: 9,
240
+ },
241
+ description: "Status LED",
242
+ zigbeeCommandOptions: { manufacturerCode },
243
+ ...args,
244
+ }),
245
+ quietMode: (args) => m.binary({
246
+ name: "quiet_mode",
247
+ cluster: "hvacFanCtrl",
248
+ attribute: "quietMode",
249
+ valueOn: ["ON", 1],
250
+ valueOff: ["OFF", 0],
251
+ description: "Quiet mode",
252
+ zigbeeCommandOptions: { manufacturerCode },
253
+ ...args,
254
+ }),
255
+ ecoMode: (args) => m.binary({
256
+ name: "eco_mode",
257
+ cluster: "hvacThermostat",
258
+ attribute: "ecoMode",
259
+ valueOn: ["ON", 1],
260
+ valueOff: ["OFF", 0],
261
+ description: "Eco mode",
262
+ zigbeeCommandOptions: { manufacturerCode },
263
+ ...args,
264
+ }),
265
+ turboMode: (args) => m.binary({
266
+ name: "turbo_mode",
267
+ cluster: "hvacFanCtrl",
268
+ attribute: "turboMode",
269
+ valueOn: ["ON", 1],
270
+ valueOff: ["OFF", 0],
271
+ description: "Turbo mode",
272
+ zigbeeCommandOptions: { manufacturerCode },
273
+ ...args,
274
+ }),
275
+ sleepMode: (args) => m.binary({
276
+ name: "sleep_mode",
277
+ cluster: "hvacThermostat",
278
+ attribute: "sleepMode",
279
+ valueOn: ["ON", 1],
280
+ valueOff: ["OFF", 0],
281
+ description: "Sleep mode",
282
+ zigbeeCommandOptions: { manufacturerCode },
283
+ ...args,
284
+ }),
285
+ ionization: (args) => m.binary({
286
+ name: "ionization",
287
+ cluster: "hvacThermostat",
288
+ attribute: "ionization",
289
+ valueOn: ["ON", 1],
290
+ valueOff: ["OFF", 0],
291
+ description: "Ionization",
292
+ zigbeeCommandOptions: { manufacturerCode },
293
+ ...args,
294
+ }),
295
+ selfCleaning: (args) => m.binary({
296
+ name: "self_cleaning",
297
+ cluster: "hvacThermostat",
298
+ attribute: "selfCleaning",
299
+ valueOn: ["ON", 1],
300
+ valueOff: ["OFF", 0],
301
+ description: "Self cleaning",
302
+ zigbeeCommandOptions: { manufacturerCode },
303
+ ...args,
304
+ }),
305
+ moldProtection: (args) => m.binary({
306
+ name: "mold_protection",
307
+ cluster: "hvacThermostat",
308
+ attribute: "moldProtection",
309
+ valueOn: ["ON", 1],
310
+ valueOff: ["OFF", 0],
311
+ description: "Mold protection",
312
+ zigbeeCommandOptions: { manufacturerCode },
313
+ ...args,
314
+ }),
315
+ screenLight: (args) => m.binary({
316
+ name: "screen_light",
317
+ cluster: "hvacThermostat",
318
+ attribute: "screenLight",
319
+ valueOn: ["ON", 1],
320
+ valueOff: ["OFF", 0],
321
+ description: "Screen light",
322
+ zigbeeCommandOptions: { manufacturerCode },
323
+ ...args,
324
+ }),
325
+ currentFanRpm: (args) => m.numeric({
326
+ name: "current_fan_rpm",
327
+ cluster: "hvacFanCtrl",
328
+ attribute: "currentFanRpm",
329
+ access: "STATE",
330
+ valueMin: 0,
331
+ valueMax: 100,
332
+ valueStep: 1,
333
+ description: "Current fan speed",
334
+ zigbeeCommandOptions: { manufacturerCode },
335
+ ...args,
336
+ }),
337
+ currentCompressorPower: (args) => m.numeric({
338
+ name: "current_compressor_power",
339
+ cluster: "hvacFanCtrl",
340
+ attribute: "currentCompressorPower",
341
+ access: "STATE",
342
+ valueMin: 0,
343
+ valueMax: 100,
344
+ valueStep: 1,
345
+ description: "Current compressor power",
346
+ zigbeeCommandOptions: { manufacturerCode },
347
+ ...args,
348
+ }),
349
+ compressorPowerLimit: (args) => m.numeric({
350
+ name: "compressor_power_limit",
351
+ cluster: "hvacFanCtrl",
352
+ attribute: "compressorPowerLimit",
353
+ valueMin: 0,
354
+ valueMax: 100,
355
+ valueStep: 1,
356
+ description: "Compressor power limit",
357
+ zigbeeCommandOptions: { manufacturerCode },
358
+ ...args,
359
+ }),
360
+ screenLowBright: (args) => m.binary({
361
+ name: "screen_low_bright",
362
+ cluster: "hvacThermostat",
363
+ attribute: "screenLowBright",
364
+ valueOn: ["ON", 1],
365
+ valueOff: ["OFF", 0],
366
+ description: "Screen low bright",
367
+ zigbeeCommandOptions: { manufacturerCode },
368
+ ...args,
369
+ }),
370
+ targetFanRpm: (args) => m.numeric({
371
+ name: "target_fan_rpm",
372
+ cluster: "hvacFanCtrl",
373
+ attribute: "targetFanRpm",
374
+ valueMin: 0,
375
+ valueMax: 200,
376
+ valueStep: 1,
377
+ description: "Target fan speed",
378
+ zigbeeCommandOptions: { manufacturerCode },
379
+ ...args,
380
+ }),
381
+ indoorHeatExchangerTemperature: (args) => m.numeric({
382
+ name: "indoor_heat_exchanger_temperature",
383
+ cluster: "hvacThermostat",
384
+ attribute: "indoorHeatExchangerTemperature",
385
+ access: "STATE",
386
+ valueMin: 0,
387
+ valueMax: 100,
388
+ valueStep: 1,
389
+ unit: "°C",
390
+ description: "Indoor heat exchanger temperature",
391
+ zigbeeCommandOptions: { manufacturerCode },
392
+ ...args,
393
+ }),
394
+ beeper: (args) => m.binary({
395
+ name: "beeper",
396
+ cluster: "hvacThermostat",
397
+ attribute: { ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
398
+ valueOn: ["ON", 1],
399
+ valueOff: ["OFF", 0],
400
+ description: "Beeper",
401
+ zigbeeCommandOptions: { manufacturerCode },
402
+ ...args,
403
+ }),
404
+ targetCompressorPower: (args) => m.numeric({
405
+ name: "target_compressor_power",
406
+ cluster: "hvacFanCtrl",
407
+ attribute: "targetCompressorPower",
408
+ access: "STATE",
409
+ valueMin: 0,
410
+ valueMax: 100,
411
+ valueStep: 1,
412
+ description: "Target compressor power",
413
+ zigbeeCommandOptions: { manufacturerCode },
414
+ ...args,
415
+ }),
416
+ outdoorHeatExchangerTemperature: (args) => m.numeric({
417
+ name: "outdoor_heat_exchanger_temperature",
418
+ cluster: "hvacThermostat",
419
+ attribute: "outdoorHeatExchangerTemperature",
420
+ access: "STATE",
421
+ valueMin: 0,
422
+ valueMax: 100,
423
+ valueStep: 1,
424
+ unit: "°C",
425
+ description: "Outdoor heat exchanger temperature",
426
+ zigbeeCommandOptions: { manufacturerCode },
427
+ ...args,
428
+ }),
429
+ smartSleepMode: (args) => m.enumLookup({
430
+ name: "smart_sleep_mode",
431
+ cluster: "hvacThermostat",
432
+ attribute: "smartSleepMode",
433
+ lookup: {
434
+ disabled: 0,
435
+ ordinary: 1,
436
+ for_old: 2,
437
+ for_young: 3,
438
+ for_kids: 4,
439
+ },
440
+ description: "Smart sleep mode",
441
+ zigbeeCommandOptions: { manufacturerCode },
442
+ ...args,
443
+ }),
444
+ smartEye: (args) => m.enumLookup({
445
+ name: "smart_eye",
446
+ cluster: "hvacThermostat",
447
+ attribute: { ID: 0x4735, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
448
+ lookup: {
449
+ disabled: 0,
450
+ to_person: 1,
451
+ from_person: 2,
452
+ },
453
+ description: "Smart eye",
454
+ zigbeeCommandOptions: { manufacturerCode },
455
+ ...args,
456
+ }),
457
+ heating8Deg: (args) => m.binary({
458
+ name: "heating_8_deg",
459
+ cluster: "hvacThermostat",
460
+ attribute: "heating8Deg",
461
+ valueOn: ["ON", 1],
462
+ valueOff: ["OFF", 0],
463
+ description: "Heating 8 deg",
464
+ zigbeeCommandOptions: { manufacturerCode },
465
+ ...args,
466
+ }),
467
+ gentleWind: (args) => m.binary({
468
+ name: "gentle_wind",
469
+ cluster: "hvacThermostat",
470
+ attribute: { ID: 0x4725, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
471
+ valueOn: ["ON", 1],
472
+ valueOff: ["OFF", 0],
473
+ description: "Gentle wind",
474
+ zigbeeCommandOptions: { manufacturerCode },
475
+ ...args,
476
+ }),
477
+ };
41
478
  exports.definitions = [
42
479
  {
43
480
  zigbeeModel: ["AUX-1-ZB-S"],
44
481
  model: "AUX-1-ZB-S",
45
482
  vendor: "ONOKOM",
46
- description: "AIR AUX-1-ZB-S (Adapter for household and semi-industrial AUX systems)",
483
+ description: "Adapter for household and semi-industrial AUX systems",
47
484
  ota: true,
48
485
  extend: [
49
- m.enumLookup({
50
- name: "ac_connected",
51
- cluster: "hvacThermostat",
52
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
53
- lookup: {
54
- disconnected: 0,
55
- invalid_data_recieved: 1,
56
- connected_with_issues: 2,
57
- connected: 3,
58
- },
59
- description: "AC connected",
60
- access: "STATE",
61
- }),
486
+ onokomExtend.onokomHvacThermostatCluster(),
487
+ onokomExtend.onokomHvacFanCtrlCluster(),
488
+ onokomExtend.acConnected(),
62
489
  m.onOff({
63
490
  powerOnBehavior: false,
64
491
  description: "On/off state",
65
492
  }),
66
- m.numeric({
67
- name: "current_temperature",
68
- cluster: "hvacThermostat",
69
- attribute: "localTemp",
70
- scale: 100,
71
- unit: "°C",
72
- description: "Indoor air temperature",
73
- access: "STATE",
74
- }),
75
- m.numeric({
76
- name: "target_temperature",
77
- cluster: "hvacThermostat",
78
- attribute: "occupiedCoolingSetpoint",
79
- valueMin: 16,
80
- valueMax: 32,
81
- valueStep: 0.5,
82
- scale: 100,
83
- unit: "°C",
84
- description: "Target temperature",
85
- }),
86
- m.enumLookup({
87
- name: "system_mode",
88
- cluster: "hvacThermostat",
89
- attribute: "systemMode",
90
- lookup: {
91
- off: 0,
92
- auto: 1,
93
- cool: 3,
94
- heat: 4,
95
- fan_only: 7,
96
- dry: 8,
97
- },
98
- description: "Active mode",
99
- }),
100
- m.enumLookup({
101
- name: "mode",
102
- cluster: "hvacThermostat",
103
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
104
- lookup: {
105
- heat: 1,
106
- cool: 2,
107
- auto: 3,
108
- dry: 4,
109
- fan_only: 5,
110
- },
111
- description: "Mode",
112
- zigbeeCommandOptions: { manufacturerCode },
113
- }),
114
- m.numeric({
115
- name: "outdoor_air_temperature",
116
- cluster: "hvacThermostat",
117
- attribute: "outdoorTemp",
118
- scale: 100,
119
- unit: "°C",
120
- description: "Outdoor air temperature",
121
- access: "STATE",
122
- }),
123
- m.numeric({
124
- name: "zb_fan_speed",
125
- cluster: "hvacFanCtrl",
126
- attribute: "fanMode",
127
- valueMin: 1,
493
+ onokomExtend.currentTemperature(),
494
+ onokomExtend.targetTemperature(),
495
+ onokomExtend.systemMode(),
496
+ onokomExtend.mode(),
497
+ onokomExtend.outdoorAirTemperature(),
498
+ onokomExtend.zbFanSpeed(),
499
+ onokomExtend.verticalVanes(),
500
+ onokomExtend.horizontalVanes(),
501
+ onokomExtend.fanSpeed(),
502
+ onokomExtend.smartFanSpeed({
128
503
  valueMax: 5,
129
- valueStep: 1,
130
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
131
- }),
132
- m.numeric({
133
- name: "vertical_vanes",
134
- cluster: "hvacThermostat",
135
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
136
- valueMin: 0,
137
- valueMax: 1,
138
- valueStep: 1,
139
- description: "Vertical vanes: Stopped(0), Swing(1)",
140
- zigbeeCommandOptions: { manufacturerCode },
141
- }),
142
- m.numeric({
143
- name: "horizontal_vanes",
144
- cluster: "hvacThermostat",
145
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
146
- valueMin: 0,
147
- valueMax: 6,
148
- valueStep: 1,
149
- description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
150
- zigbeeCommandOptions: { manufacturerCode },
504
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4), Turbo(5)",
151
505
  }),
152
- m.numeric({
153
- name: "fan_speed",
154
- cluster: "hvacFanCtrl",
155
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
156
- valueMin: 0,
157
- valueMax: 3,
158
- valueStep: 1,
159
- description: "Fan speed: Auto(0), First(1) - Maximum(3)",
160
- zigbeeCommandOptions: { manufacturerCode },
506
+ onokomExtend.vanesSwing(),
507
+ onokomExtend.statusLed(),
508
+ onokomExtend.quietMode(),
509
+ onokomExtend.turboMode(),
510
+ onokomExtend.sleepMode(),
511
+ onokomExtend.ionization(),
512
+ onokomExtend.selfCleaning(),
513
+ onokomExtend.moldProtection(),
514
+ onokomExtend.screenLight(),
515
+ onokomExtend.currentFanRpm(),
516
+ onokomExtend.currentCompressorPower(),
517
+ onokomExtend.compressorPowerLimit(),
518
+ ],
519
+ configure: async (device, coordinatorEndpoint, logger) => {
520
+ const endpoint = device.getEndpoint(1);
521
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
522
+ await reporting.thermostatTemperature(endpoint);
523
+ await reporting.onOff(endpoint);
524
+ },
525
+ },
526
+ {
527
+ zigbeeModel: ["OK-AC-H-AUX-1-ZB-S-A"],
528
+ model: "OK-AC-H-AUX-1-ZB-S-A",
529
+ vendor: "ONOKOM",
530
+ description: "Adapter for household and semi-industrial AUX systems",
531
+ ota: true,
532
+ extend: [
533
+ onokomExtend.onokomHvacThermostatCluster(),
534
+ onokomExtend.onokomHvacFanCtrlCluster(),
535
+ onokomExtend.acConnected(),
536
+ m.onOff({
537
+ powerOnBehavior: false,
538
+ description: "On/off state",
161
539
  }),
162
- m.numeric({
163
- name: "smart_fan_speed",
164
- cluster: "hvacFanCtrl",
165
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
166
- valueMin: 0,
540
+ onokomExtend.currentTemperature(),
541
+ onokomExtend.targetTemperature(),
542
+ onokomExtend.systemMode(),
543
+ onokomExtend.mode(),
544
+ onokomExtend.outdoorAirTemperature(),
545
+ onokomExtend.zbFanSpeed(),
546
+ onokomExtend.verticalVanes(),
547
+ onokomExtend.horizontalVanes(),
548
+ onokomExtend.fanSpeed(),
549
+ onokomExtend.smartFanSpeed({
167
550
  valueMax: 5,
168
- valueStep: 1,
169
551
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4), Turbo(5)",
170
- zigbeeCommandOptions: { manufacturerCode },
171
- }),
172
- m.numeric({
173
- name: "vanes_swing",
174
- cluster: "hvacThermostat",
175
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
176
- valueMin: 0,
177
- valueMax: 3,
178
- valueStep: 1,
179
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
180
- zigbeeCommandOptions: { manufacturerCode },
181
- }),
182
- m.enumLookup({
183
- name: "status_led",
184
- cluster: "hvacThermostat",
185
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
186
- lookup: {
187
- normal_mode: 0,
188
- disabled_if_no_errors: 1,
189
- disabled_untill_reboot: 2,
190
- always_disabled: 3,
191
- green_untill_reboot: 8,
192
- red_untill_reboot: 9,
193
- },
194
- description: "Status LED",
195
- zigbeeCommandOptions: { manufacturerCode },
196
- }),
197
- m.binary({
198
- name: "quiet_mode",
199
- cluster: "hvacFanCtrl",
200
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
201
- valueOn: ["ON", 1],
202
- valueOff: ["OFF", 0],
203
- description: "Quiet mode",
204
- zigbeeCommandOptions: { manufacturerCode },
205
- }),
206
- m.binary({
207
- name: "turbo_mode",
208
- cluster: "hvacFanCtrl",
209
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
210
- valueOn: ["ON", 1],
211
- valueOff: ["OFF", 0],
212
- description: "Turbo mode",
213
- zigbeeCommandOptions: { manufacturerCode },
214
- }),
215
- m.binary({
216
- name: "sleep_mode",
217
- cluster: "hvacThermostat",
218
- attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
219
- valueOn: ["ON", 1],
220
- valueOff: ["OFF", 0],
221
- description: "Sleep mode",
222
- zigbeeCommandOptions: { manufacturerCode },
223
- }),
224
- m.binary({
225
- name: "ionization",
226
- cluster: "hvacThermostat",
227
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
228
- valueOn: ["ON", 1],
229
- valueOff: ["OFF", 0],
230
- description: "Ionization",
231
- zigbeeCommandOptions: { manufacturerCode },
232
- }),
233
- m.binary({
234
- name: "self_cleaning",
235
- cluster: "hvacThermostat",
236
- attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
237
- valueOn: ["ON", 1],
238
- valueOff: ["OFF", 0],
239
- description: "Self cleaning",
240
- zigbeeCommandOptions: { manufacturerCode },
241
- }),
242
- m.binary({
243
- name: "mold_protection",
244
- cluster: "hvacThermostat",
245
- attribute: { ID: 0x4722, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
246
- valueOn: ["ON", 1],
247
- valueOff: ["OFF", 0],
248
- description: "Mold protection",
249
- zigbeeCommandOptions: { manufacturerCode },
250
- }),
251
- m.binary({
252
- name: "screen_light",
253
- cluster: "hvacThermostat",
254
- attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
255
- valueOn: ["ON", 1],
256
- valueOff: ["OFF", 0],
257
- description: "Screen light",
258
- zigbeeCommandOptions: { manufacturerCode },
259
- }),
260
- m.numeric({
261
- name: "current_fan_rpm",
262
- cluster: "hvacFanCtrl",
263
- attribute: { ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
264
- access: "STATE",
265
- valueMin: 0,
266
- valueMax: 100,
267
- valueStep: 1,
268
- description: "Current fan speed",
269
- zigbeeCommandOptions: { manufacturerCode },
270
- }),
271
- m.numeric({
272
- name: "current_compressor_power",
273
- cluster: "hvacFanCtrl",
274
- attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
275
- access: "STATE",
276
- valueMin: 0,
277
- valueMax: 100,
278
- valueStep: 1,
279
- description: "Current compressor power",
280
- zigbeeCommandOptions: { manufacturerCode },
281
- }),
282
- m.numeric({
283
- name: "compressor_power_limit",
284
- cluster: "hvacFanCtrl",
285
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
286
- valueMin: 0,
287
- valueMax: 100,
288
- valueStep: 1,
289
- description: "Compressor power limit",
290
- zigbeeCommandOptions: { manufacturerCode },
291
552
  }),
553
+ onokomExtend.vanesSwing(),
554
+ onokomExtend.statusLed(),
555
+ onokomExtend.quietMode(),
556
+ onokomExtend.turboMode(),
557
+ onokomExtend.sleepMode(),
558
+ onokomExtend.ionization(),
559
+ onokomExtend.selfCleaning(),
560
+ onokomExtend.moldProtection(),
561
+ onokomExtend.screenLight(),
562
+ onokomExtend.currentFanRpm(),
563
+ onokomExtend.currentCompressorPower(),
564
+ onokomExtend.compressorPowerLimit(),
292
565
  ],
293
- fromZigbee: [],
294
566
  configure: async (device, coordinatorEndpoint, logger) => {
295
567
  const endpoint = device.getEndpoint(1);
296
568
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -302,234 +574,97 @@ exports.definitions = [
302
574
  zigbeeModel: ["DK-1-ZB-S"],
303
575
  model: "DK-1-ZB-S",
304
576
  vendor: "ONOKOM",
305
- description: "AIR DK-1-ZB-S (Adapter for household Daikin systems)",
577
+ description: "Adapter for household Daikin systems",
306
578
  ota: true,
307
579
  extend: [
308
- m.enumLookup({
309
- name: "ac_connected",
310
- cluster: "hvacThermostat",
311
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
312
- lookup: {
313
- disconnected: 0,
314
- invalid_data_recieved: 1,
315
- connected_with_issues: 2,
316
- connected: 3,
317
- },
318
- description: "AC connected",
319
- access: "STATE",
320
- }),
580
+ onokomExtend.onokomHvacThermostatCluster(),
581
+ onokomExtend.onokomHvacFanCtrlCluster(),
582
+ onokomExtend.acConnected(),
321
583
  m.onOff({
322
584
  powerOnBehavior: false,
323
585
  description: "On/off state",
324
586
  }),
325
- m.numeric({
326
- name: "current_temperature",
327
- cluster: "hvacThermostat",
328
- attribute: "localTemp",
329
- scale: 100,
330
- unit: "°C",
331
- description: "Indoor air temperature",
332
- access: "STATE",
333
- }),
334
- m.numeric({
335
- name: "target_temperature",
336
- cluster: "hvacThermostat",
337
- attribute: "occupiedCoolingSetpoint",
338
- valueMin: 16,
339
- valueMax: 32,
340
- valueStep: 0.5,
341
- scale: 100,
342
- unit: "°C",
343
- description: "Target temperature",
344
- }),
345
- m.enumLookup({
346
- name: "system_mode",
347
- cluster: "hvacThermostat",
348
- attribute: "systemMode",
349
- lookup: {
350
- off: 0,
351
- auto: 1,
352
- cool: 3,
353
- heat: 4,
354
- fan_only: 7,
355
- dry: 8,
356
- },
357
- description: "Active mode",
358
- }),
359
- m.enumLookup({
360
- name: "mode",
361
- cluster: "hvacThermostat",
362
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
363
- lookup: {
364
- heat: 1,
365
- cool: 2,
366
- auto: 3,
367
- dry: 4,
368
- fan_only: 5,
369
- },
370
- description: "Mode",
371
- zigbeeCommandOptions: { manufacturerCode },
372
- }),
373
- m.numeric({
374
- name: "outdoor_air_temperature",
375
- cluster: "hvacThermostat",
376
- attribute: "outdoorTemp",
377
- scale: 100,
378
- unit: "°C",
379
- description: "Outdoor air temperature",
380
- access: "STATE",
381
- }),
382
- m.numeric({
383
- name: "zb_fan_speed",
384
- cluster: "hvacFanCtrl",
385
- attribute: "fanMode",
386
- valueMin: 1,
387
- valueMax: 5,
388
- valueStep: 1,
389
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
390
- }),
391
- m.numeric({
392
- name: "vertical_vanes",
393
- cluster: "hvacThermostat",
394
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
395
- valueMin: 0,
396
- valueMax: 1,
397
- valueStep: 1,
398
- description: "Vertical vanes: Stopped(0), Swing(1)",
399
- zigbeeCommandOptions: { manufacturerCode },
400
- }),
401
- m.numeric({
402
- name: "horizontal_vanes",
403
- cluster: "hvacThermostat",
404
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
405
- valueMin: 0,
587
+ onokomExtend.currentTemperature(),
588
+ onokomExtend.targetTemperature(),
589
+ onokomExtend.systemMode(),
590
+ onokomExtend.mode(),
591
+ onokomExtend.outdoorAirTemperature(),
592
+ onokomExtend.zbFanSpeed(),
593
+ onokomExtend.verticalVanes(),
594
+ onokomExtend.horizontalVanes({
406
595
  valueMax: 1,
407
- valueStep: 1,
408
596
  description: "Horizontal vanes: Stopped(0), Swing(1)",
409
- zigbeeCommandOptions: { manufacturerCode },
410
597
  }),
411
- m.numeric({
412
- name: "fan_speed",
413
- cluster: "hvacFanCtrl",
414
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
415
- valueMin: 0,
598
+ onokomExtend.fanSpeed({
416
599
  valueMax: 5,
417
- valueStep: 1,
418
600
  description: "Fan speed: Auto(0), First(1) - Maximum(5)",
419
- zigbeeCommandOptions: { manufacturerCode },
420
601
  }),
421
- m.numeric({
422
- name: "smart_fan_speed",
423
- cluster: "hvacFanCtrl",
424
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
425
- valueMin: 0,
602
+ onokomExtend.smartFanSpeed({
426
603
  valueMax: 7,
427
- valueStep: 1,
428
604
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
429
- zigbeeCommandOptions: { manufacturerCode },
430
- }),
431
- m.numeric({
432
- name: "vanes_swing",
433
- cluster: "hvacThermostat",
434
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
435
- valueMin: 0,
436
- valueMax: 3,
437
- valueStep: 1,
438
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
439
- zigbeeCommandOptions: { manufacturerCode },
440
- }),
441
- m.enumLookup({
442
- name: "status_led",
443
- cluster: "hvacThermostat",
444
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
445
- lookup: {
446
- normal_mode: 0,
447
- disabled_if_no_errors: 1,
448
- disabled_untill_reboot: 2,
449
- always_disabled: 3,
450
- green_untill_reboot: 8,
451
- red_untill_reboot: 9,
452
- },
453
- description: "Status LED",
454
- zigbeeCommandOptions: { manufacturerCode },
455
- }),
456
- m.binary({
457
- name: "quiet_mode",
458
- cluster: "hvacFanCtrl",
459
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
460
- valueOn: ["ON", 1],
461
- valueOff: ["OFF", 0],
462
- description: "Quiet mode",
463
- zigbeeCommandOptions: { manufacturerCode },
464
- }),
465
- m.binary({
466
- name: "eco_mode",
467
- cluster: "hvacThermostat",
468
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
469
- valueOn: ["ON", 1],
470
- valueOff: ["OFF", 0],
471
- description: "Eco mode",
472
- zigbeeCommandOptions: { manufacturerCode },
473
- }),
474
- m.binary({
475
- name: "turbo_mode",
476
- cluster: "hvacFanCtrl",
477
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
478
- valueOn: ["ON", 1],
479
- valueOff: ["OFF", 0],
480
- description: "Turbo mode",
481
- zigbeeCommandOptions: { manufacturerCode },
482
- }),
483
- m.binary({
484
- name: "ionization",
485
- cluster: "hvacThermostat",
486
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
487
- valueOn: ["ON", 1],
488
- valueOff: ["OFF", 0],
489
- description: "Ionization",
490
- zigbeeCommandOptions: { manufacturerCode },
491
605
  }),
492
- m.binary({
493
- name: "screen_light",
494
- cluster: "hvacThermostat",
495
- attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
496
- valueOn: ["ON", 1],
497
- valueOff: ["OFF", 0],
498
- description: "Screen light",
499
- zigbeeCommandOptions: { manufacturerCode },
606
+ onokomExtend.vanesSwing(),
607
+ onokomExtend.statusLed(),
608
+ onokomExtend.quietMode(),
609
+ onokomExtend.ecoMode(),
610
+ onokomExtend.turboMode(),
611
+ onokomExtend.ionization(),
612
+ onokomExtend.screenLight(),
613
+ onokomExtend.screenLowBright(),
614
+ onokomExtend.targetFanRpm({ valueMax: 200 }),
615
+ onokomExtend.currentFanRpm({ valueMax: 200 }),
616
+ ],
617
+ configure: async (device, coordinatorEndpoint, logger) => {
618
+ const endpoint = device.getEndpoint(1);
619
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
620
+ await reporting.thermostatTemperature(endpoint);
621
+ await reporting.onOff(endpoint);
622
+ },
623
+ },
624
+ {
625
+ zigbeeModel: ["OK-AC-H-DK-1-ZB-S-A"],
626
+ model: "OK-AC-H-DK-1-ZB-S-A",
627
+ vendor: "ONOKOM",
628
+ description: "Adapter for household Daikin systems",
629
+ ota: true,
630
+ extend: [
631
+ onokomExtend.onokomHvacThermostatCluster(),
632
+ onokomExtend.onokomHvacFanCtrlCluster(),
633
+ onokomExtend.acConnected(),
634
+ m.onOff({
635
+ powerOnBehavior: false,
636
+ description: "On/off state",
500
637
  }),
501
- m.binary({
502
- name: "screen_low_bright",
503
- cluster: "hvacThermostat",
504
- attribute: { ID: 0x4733, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
505
- valueOn: ["ON", 1],
506
- valueOff: ["OFF", 0],
507
- description: "Screen low bright",
508
- zigbeeCommandOptions: { manufacturerCode },
638
+ onokomExtend.currentTemperature(),
639
+ onokomExtend.targetTemperature(),
640
+ onokomExtend.systemMode(),
641
+ onokomExtend.mode(),
642
+ onokomExtend.outdoorAirTemperature(),
643
+ onokomExtend.zbFanSpeed(),
644
+ onokomExtend.verticalVanes(),
645
+ onokomExtend.horizontalVanes({
646
+ valueMax: 1,
647
+ description: "Horizontal vanes: Stopped(0), Swing(1)",
509
648
  }),
510
- m.numeric({
511
- name: "target_fan_rpm",
512
- cluster: "hvacFanCtrl",
513
- attribute: { ID: 0x4723, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
514
- valueMin: 0,
515
- valueMax: 200,
516
- valueStep: 1,
517
- description: "Target fan speed",
518
- zigbeeCommandOptions: { manufacturerCode },
649
+ onokomExtend.fanSpeed({
650
+ valueMax: 5,
651
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
519
652
  }),
520
- m.numeric({
521
- name: "current_fan_rpm",
522
- cluster: "hvacFanCtrl",
523
- attribute: { ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
524
- access: "STATE",
525
- valueMin: 0,
526
- valueMax: 200,
527
- valueStep: 1,
528
- description: "Current fan speed",
529
- zigbeeCommandOptions: { manufacturerCode },
653
+ onokomExtend.smartFanSpeed({
654
+ valueMax: 7,
655
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
530
656
  }),
657
+ onokomExtend.vanesSwing(),
658
+ onokomExtend.statusLed(),
659
+ onokomExtend.quietMode(),
660
+ onokomExtend.ecoMode(),
661
+ onokomExtend.turboMode(),
662
+ onokomExtend.ionization(),
663
+ onokomExtend.screenLight(),
664
+ onokomExtend.screenLowBright(),
665
+ onokomExtend.targetFanRpm({ valueMax: 200 }),
666
+ onokomExtend.currentFanRpm({ valueMax: 200 }),
531
667
  ],
532
- fromZigbee: [],
533
668
  configure: async (device, coordinatorEndpoint, logger) => {
534
669
  const endpoint = device.getEndpoint(1);
535
670
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -538,225 +673,56 @@ exports.definitions = [
538
673
  },
539
674
  },
540
675
  {
541
- zigbeeModel: ["GR-1-ZB-S"],
542
- model: "GR-1-ZB-S",
676
+ zigbeeModel: ["OK-AC-H-GR-1-ZB-S-A"],
677
+ model: "OK-AC-H-GR-1-ZB-S-A",
543
678
  vendor: "ONOKOM",
544
- description: "AIR GR-1-ZB-S (Adapter for household GREE systems)",
679
+ description: "Adapter for household GREE systems",
545
680
  ota: true,
546
681
  extend: [
547
- m.enumLookup({
548
- name: "ac_connected",
549
- cluster: "hvacThermostat",
550
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
551
- lookup: {
552
- disconnected: 0,
553
- invalid_data_recieved: 1,
554
- connected_with_issues: 2,
555
- connected: 3,
556
- },
557
- description: "AC connected",
558
- access: "STATE",
559
- }),
682
+ onokomExtend.onokomHvacThermostatCluster(),
683
+ onokomExtend.onokomHvacFanCtrlCluster(),
684
+ onokomExtend.acConnected(),
560
685
  m.onOff({
561
686
  powerOnBehavior: false,
562
687
  description: "On/off state",
563
688
  }),
564
- m.numeric({
565
- name: "current_temperature",
566
- cluster: "hvacThermostat",
567
- attribute: "localTemp",
568
- scale: 100,
569
- unit: "°C",
570
- description: "Indoor air temperature",
571
- access: "STATE",
572
- }),
573
- m.numeric({
574
- name: "target_temperature",
575
- cluster: "hvacThermostat",
576
- attribute: "occupiedCoolingSetpoint",
577
- valueMin: 16,
578
- valueMax: 30,
579
- valueStep: 1,
580
- scale: 100,
581
- unit: "°C",
582
- description: "Target temperature",
583
- }),
584
- m.enumLookup({
585
- name: "system_mode",
586
- cluster: "hvacThermostat",
587
- attribute: "systemMode",
588
- lookup: {
589
- off: 0,
590
- auto: 1,
591
- cool: 3,
592
- heat: 4,
593
- fan_only: 7,
594
- dry: 8,
595
- },
596
- description: "Active mode",
597
- }),
598
- m.enumLookup({
599
- name: "mode",
600
- cluster: "hvacThermostat",
601
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
602
- lookup: {
603
- heat: 1,
604
- cool: 2,
605
- auto: 3,
606
- dry: 4,
607
- fan_only: 5,
608
- },
609
- description: "Mode",
610
- zigbeeCommandOptions: { manufacturerCode },
611
- }),
612
- m.numeric({
613
- name: "outdoor_air_temperature",
614
- cluster: "hvacThermostat",
615
- attribute: "outdoorTemp",
616
- scale: 100,
617
- unit: "°C",
618
- description: "Outdoor air temperature",
619
- access: "STATE",
620
- }),
621
- m.numeric({
622
- name: "zb_fan_speed",
623
- cluster: "hvacFanCtrl",
624
- attribute: "fanMode",
625
- valueMin: 1,
626
- valueMax: 5,
627
- valueStep: 1,
628
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
629
- }),
630
- m.numeric({
631
- name: "vertical_vanes",
632
- cluster: "hvacThermostat",
633
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
634
- valueMin: 0,
689
+ onokomExtend.currentTemperature(),
690
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 1 }),
691
+ onokomExtend.systemMode(),
692
+ onokomExtend.mode(),
693
+ onokomExtend.outdoorAirTemperature(),
694
+ onokomExtend.zbFanSpeed(),
695
+ onokomExtend.verticalVanes({
635
696
  valueMax: 6,
636
- valueStep: 1,
637
697
  description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
638
- zigbeeCommandOptions: { manufacturerCode },
639
- }),
640
- m.numeric({
641
- name: "horizontal_vanes",
642
- cluster: "hvacThermostat",
643
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
644
- valueMin: 0,
645
- valueMax: 6,
646
- valueStep: 1,
647
- description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
648
- zigbeeCommandOptions: { manufacturerCode },
649
698
  }),
650
- m.numeric({
651
- name: "fan_speed",
652
- cluster: "hvacFanCtrl",
653
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
654
- valueMin: 0,
699
+ onokomExtend.horizontalVanes(),
700
+ onokomExtend.fanSpeed({
655
701
  valueMax: 5,
656
- valueStep: 1,
657
702
  description: "Fan speed: Auto(0), First(1) - Maximum(5)",
658
- zigbeeCommandOptions: { manufacturerCode },
659
703
  }),
660
- m.numeric({
661
- name: "smart_fan_speed",
662
- cluster: "hvacFanCtrl",
663
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
664
- valueMin: 0,
704
+ onokomExtend.smartFanSpeed({
665
705
  valueMax: 7,
666
- valueStep: 1,
667
706
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
668
- zigbeeCommandOptions: { manufacturerCode },
669
- }),
670
- m.numeric({
671
- name: "vanes_swing",
672
- cluster: "hvacThermostat",
673
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
674
- valueMin: 0,
675
- valueMax: 3,
676
- valueStep: 1,
677
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
678
- zigbeeCommandOptions: { manufacturerCode },
679
- }),
680
- m.enumLookup({
681
- name: "status_led",
682
- cluster: "hvacThermostat",
683
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
684
- lookup: {
685
- normal_mode: 0,
686
- disabled_if_no_errors: 1,
687
- disabled_untill_reboot: 2,
688
- always_disabled: 3,
689
- green_untill_reboot: 8,
690
- red_untill_reboot: 9,
691
- },
692
- description: "Status LED",
693
- zigbeeCommandOptions: { manufacturerCode },
694
- }),
695
- m.binary({
696
- name: "quiet_mode",
697
- cluster: "hvacFanCtrl",
698
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
699
- valueOn: ["ON", 1],
700
- valueOff: ["OFF", 0],
701
- description: "Quiet mode",
702
- zigbeeCommandOptions: { manufacturerCode },
703
- }),
704
- m.binary({
705
- name: "eco_mode",
706
- cluster: "hvacThermostat",
707
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
708
- valueOn: ["ON", 1],
709
- valueOff: ["OFF", 0],
710
- description: "Eco mode",
711
- zigbeeCommandOptions: { manufacturerCode },
712
- }),
713
- m.binary({
714
- name: "turbo_mode",
715
- cluster: "hvacFanCtrl",
716
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
717
- valueOn: ["ON", 1],
718
- valueOff: ["OFF", 0],
719
- description: "Turbo mode",
720
- zigbeeCommandOptions: { manufacturerCode },
721
- }),
722
- m.binary({
723
- name: "sleep_mode",
724
- cluster: "hvacThermostat",
725
- attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
726
- valueOn: ["ON", 1],
727
- valueOff: ["OFF", 0],
728
- description: "Sleep mode",
729
- zigbeeCommandOptions: { manufacturerCode },
730
- }),
731
- m.binary({
732
- name: "ionization",
733
- cluster: "hvacThermostat",
734
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
735
- valueOn: ["ON", 1],
736
- valueOff: ["OFF", 0],
737
- description: "Ionization",
738
- zigbeeCommandOptions: { manufacturerCode },
739
- }),
740
- m.binary({
741
- name: "screen_light",
742
- cluster: "hvacThermostat",
743
- attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
744
- valueOn: ["ON", 1],
745
- valueOff: ["OFF", 0],
746
- description: "Screen light",
747
- zigbeeCommandOptions: { manufacturerCode },
748
707
  }),
708
+ onokomExtend.vanesSwing(),
709
+ onokomExtend.statusLed(),
710
+ onokomExtend.quietMode(),
711
+ onokomExtend.ecoMode(),
712
+ onokomExtend.turboMode(),
713
+ onokomExtend.sleepMode(),
714
+ onokomExtend.ionization(),
715
+ onokomExtend.screenLight(),
749
716
  m.binary({
750
717
  name: "disable_screen_when_power_off",
751
718
  cluster: "hvacThermostat",
752
- attribute: { ID: 0x4732, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
719
+ attribute: "disableScreenWhenPowerOff",
753
720
  valueOn: ["ON", 1],
754
721
  valueOff: ["OFF", 0],
755
722
  description: "Disable screen when power off",
756
723
  zigbeeCommandOptions: { manufacturerCode },
757
724
  }),
758
725
  ],
759
- fromZigbee: [],
760
726
  configure: async (device, coordinatorEndpoint, logger) => {
761
727
  const endpoint = device.getEndpoint(1);
762
728
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -768,225 +734,45 @@ exports.definitions = [
768
734
  zigbeeModel: ["GR-3-ZB-S"],
769
735
  model: "GR-3-ZB-S",
770
736
  vendor: "ONOKOM",
771
- description: "AIR GR-3-ZB-S (Adapter for control of semi-industrial and multi-split systems GREE)",
737
+ description: "Adapter for control of semi-industrial and multi-split systems GREE",
772
738
  ota: true,
773
739
  extend: [
774
- m.enumLookup({
775
- name: "ac_connected",
776
- cluster: "hvacThermostat",
777
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
778
- lookup: {
779
- disconnected: 0,
780
- invalid_data_recieved: 1,
781
- connected_with_issues: 2,
782
- connected: 3,
783
- },
784
- description: "AC connected",
785
- access: "STATE",
786
- }),
740
+ onokomExtend.onokomHvacThermostatCluster(),
741
+ onokomExtend.onokomHvacFanCtrlCluster(),
742
+ onokomExtend.acConnected(),
787
743
  m.onOff({
788
744
  powerOnBehavior: false,
789
745
  description: "On/off state",
790
746
  }),
791
- m.numeric({
792
- name: "current_temperature",
793
- cluster: "hvacThermostat",
794
- attribute: "localTemp",
795
- scale: 100,
796
- unit: "°C",
797
- description: "Indoor air temperature",
798
- access: "STATE",
799
- }),
800
- m.numeric({
801
- name: "target_temperature",
802
- cluster: "hvacThermostat",
803
- attribute: "occupiedCoolingSetpoint",
804
- valueMin: 16,
805
- valueMax: 30,
806
- valueStep: 1,
807
- scale: 100,
808
- unit: "°C",
809
- description: "Target temperature",
810
- }),
811
- m.enumLookup({
812
- name: "system_mode",
813
- cluster: "hvacThermostat",
814
- attribute: "systemMode",
815
- lookup: {
816
- off: 0,
817
- auto: 1,
818
- cool: 3,
819
- heat: 4,
820
- fan_only: 7,
821
- dry: 8,
822
- },
823
- description: "Active mode",
824
- }),
825
- m.enumLookup({
826
- name: "mode",
827
- cluster: "hvacThermostat",
828
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
829
- lookup: {
830
- heat: 1,
831
- cool: 2,
832
- auto: 3,
833
- dry: 4,
834
- fan_only: 5,
835
- },
836
- description: "Mode",
837
- zigbeeCommandOptions: { manufacturerCode },
838
- }),
839
- m.numeric({
840
- name: "outdoor_air_temperature",
841
- cluster: "hvacThermostat",
842
- attribute: "outdoorTemp",
843
- scale: 100,
844
- unit: "°C",
845
- description: "Outdoor air temperature",
846
- access: "STATE",
847
- }),
848
- m.numeric({
849
- name: "zb_fan_speed",
850
- cluster: "hvacFanCtrl",
851
- attribute: "fanMode",
852
- valueMin: 1,
853
- valueMax: 5,
854
- valueStep: 1,
855
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
856
- }),
857
- m.numeric({
858
- name: "vertical_vanes",
859
- cluster: "hvacThermostat",
860
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
861
- valueMin: 0,
747
+ onokomExtend.currentTemperature(),
748
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 1 }),
749
+ onokomExtend.systemMode(),
750
+ onokomExtend.mode(),
751
+ onokomExtend.outdoorAirTemperature(),
752
+ onokomExtend.zbFanSpeed(),
753
+ onokomExtend.verticalVanes({
862
754
  valueMax: 6,
863
- valueStep: 1,
864
755
  description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
865
- zigbeeCommandOptions: { manufacturerCode },
866
- }),
867
- m.numeric({
868
- name: "horizontal_vanes",
869
- cluster: "hvacThermostat",
870
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
871
- valueMin: 0,
872
- valueMax: 6,
873
- valueStep: 1,
874
- description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
875
- zigbeeCommandOptions: { manufacturerCode },
876
756
  }),
877
- m.numeric({
878
- name: "fan_speed",
879
- cluster: "hvacFanCtrl",
880
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
881
- valueMin: 0,
757
+ onokomExtend.horizontalVanes(),
758
+ onokomExtend.fanSpeed({
882
759
  valueMax: 5,
883
- valueStep: 1,
884
760
  description: "Fan speed: Auto(0), First(1) - Maximum(5)",
885
- zigbeeCommandOptions: { manufacturerCode },
886
761
  }),
887
- m.numeric({
888
- name: "smart_fan_speed",
889
- cluster: "hvacFanCtrl",
890
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
891
- valueMin: 0,
762
+ onokomExtend.smartFanSpeed({
892
763
  valueMax: 7,
893
- valueStep: 1,
894
764
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
895
- zigbeeCommandOptions: { manufacturerCode },
896
- }),
897
- m.numeric({
898
- name: "vanes_swing",
899
- cluster: "hvacThermostat",
900
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
901
- valueMin: 0,
902
- valueMax: 3,
903
- valueStep: 1,
904
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
905
- zigbeeCommandOptions: { manufacturerCode },
906
- }),
907
- m.enumLookup({
908
- name: "status_led",
909
- cluster: "hvacThermostat",
910
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
911
- lookup: {
912
- normal_mode: 0,
913
- disabled_if_no_errors: 1,
914
- disabled_untill_reboot: 2,
915
- always_disabled: 3,
916
- green_untill_reboot: 8,
917
- red_untill_reboot: 9,
918
- },
919
- description: "Status LED",
920
- zigbeeCommandOptions: { manufacturerCode },
921
- }),
922
- m.binary({
923
- name: "quiet_mode",
924
- cluster: "hvacFanCtrl",
925
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
926
- valueOn: ["ON", 1],
927
- valueOff: ["OFF", 0],
928
- description: "Quiet mode",
929
- zigbeeCommandOptions: { manufacturerCode },
930
- }),
931
- m.binary({
932
- name: "eco_mode",
933
- cluster: "hvacThermostat",
934
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
935
- valueOn: ["ON", 1],
936
- valueOff: ["OFF", 0],
937
- description: "Eco mode",
938
- zigbeeCommandOptions: { manufacturerCode },
939
- }),
940
- m.binary({
941
- name: "turbo_mode",
942
- cluster: "hvacFanCtrl",
943
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
944
- valueOn: ["ON", 1],
945
- valueOff: ["OFF", 0],
946
- description: "Turbo mode",
947
- zigbeeCommandOptions: { manufacturerCode },
948
- }),
949
- m.binary({
950
- name: "sleep_mode",
951
- cluster: "hvacThermostat",
952
- attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
953
- valueOn: ["ON", 1],
954
- valueOff: ["OFF", 0],
955
- description: "Sleep mode",
956
- zigbeeCommandOptions: { manufacturerCode },
957
- }),
958
- m.binary({
959
- name: "ionization",
960
- cluster: "hvacThermostat",
961
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
962
- valueOn: ["ON", 1],
963
- valueOff: ["OFF", 0],
964
- description: "Ionization",
965
- zigbeeCommandOptions: { manufacturerCode },
966
- }),
967
- m.binary({
968
- name: "self_cleaning",
969
- cluster: "hvacThermostat",
970
- attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
971
- valueOn: ["ON", 1],
972
- valueOff: ["OFF", 0],
973
- description: "Self cleaning",
974
- zigbeeCommandOptions: { manufacturerCode },
975
- }),
976
- m.numeric({
977
- name: "indoor_heat_exchanger_temperature",
978
- cluster: "hvacThermostat",
979
- attribute: { ID: 0x4740, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
980
- access: "STATE",
981
- valueMin: 0,
982
- valueMax: 100,
983
- valueStep: 1,
984
- unit: "°C",
985
- description: "Indoor heat exchanger temperature",
986
- zigbeeCommandOptions: { manufacturerCode },
987
765
  }),
766
+ onokomExtend.vanesSwing(),
767
+ onokomExtend.statusLed(),
768
+ onokomExtend.quietMode(),
769
+ onokomExtend.ecoMode(),
770
+ onokomExtend.turboMode(),
771
+ onokomExtend.sleepMode(),
772
+ onokomExtend.ionization(),
773
+ onokomExtend.selfCleaning(),
774
+ onokomExtend.indoorHeatExchangerTemperature(),
988
775
  ],
989
- fromZigbee: [],
990
776
  configure: async (device, coordinatorEndpoint, logger) => {
991
777
  const endpoint = device.getEndpoint(1);
992
778
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -998,222 +784,95 @@ exports.definitions = [
998
784
  zigbeeModel: ["HR-1-ZB-S"],
999
785
  model: "HR-1-ZB-S",
1000
786
  vendor: "ONOKOM",
1001
- description: "AIR HR-1-ZB-S (Adapter for household and semi-industrial Haier systems)",
787
+ description: "Adapter for household and semi-industrial Haier systems",
1002
788
  ota: true,
1003
789
  extend: [
1004
- m.enumLookup({
1005
- name: "ac_connected",
1006
- cluster: "hvacThermostat",
1007
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1008
- lookup: {
1009
- disconnected: 0,
1010
- invalid_data_recieved: 1,
1011
- connected_with_issues: 2,
1012
- connected: 3,
1013
- },
1014
- description: "AC connected",
1015
- access: "STATE",
1016
- }),
790
+ onokomExtend.onokomHvacThermostatCluster(),
791
+ onokomExtend.onokomHvacFanCtrlCluster(),
792
+ onokomExtend.acConnected(),
1017
793
  m.onOff({
1018
794
  powerOnBehavior: false,
1019
795
  description: "On/off state",
1020
796
  }),
1021
- m.numeric({
1022
- name: "current_temperature",
1023
- cluster: "hvacThermostat",
1024
- attribute: "localTemp",
1025
- scale: 100,
1026
- unit: "°C",
1027
- description: "Indoor air temperature",
1028
- access: "STATE",
1029
- }),
1030
- m.numeric({
1031
- name: "target_temperature",
1032
- cluster: "hvacThermostat",
1033
- attribute: "occupiedCoolingSetpoint",
1034
- valueMin: 16,
1035
- valueMax: 30,
1036
- valueStep: 1,
1037
- scale: 100,
1038
- unit: "°C",
1039
- description: "Target temperature",
1040
- }),
1041
- m.enumLookup({
1042
- name: "system_mode",
1043
- cluster: "hvacThermostat",
1044
- attribute: "systemMode",
1045
- lookup: {
1046
- off: 0,
1047
- auto: 1,
1048
- cool: 3,
1049
- heat: 4,
1050
- fan_only: 7,
1051
- dry: 8,
1052
- },
1053
- description: "Active mode",
1054
- }),
1055
- m.enumLookup({
1056
- name: "mode",
1057
- cluster: "hvacThermostat",
1058
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1059
- lookup: {
1060
- heat: 1,
1061
- cool: 2,
1062
- auto: 3,
1063
- dry: 4,
1064
- fan_only: 5,
1065
- },
1066
- description: "Mode",
1067
- zigbeeCommandOptions: { manufacturerCode },
1068
- }),
1069
- m.numeric({
1070
- name: "outdoor_air_temperature",
1071
- cluster: "hvacThermostat",
1072
- attribute: "outdoorTemp",
1073
- scale: 100,
1074
- unit: "°C",
1075
- description: "Outdoor air temperature",
1076
- access: "STATE",
1077
- }),
1078
- m.numeric({
1079
- name: "zb_fan_speed",
1080
- cluster: "hvacFanCtrl",
1081
- attribute: "fanMode",
1082
- valueMin: 1,
1083
- valueMax: 5,
1084
- valueStep: 1,
1085
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1086
- }),
1087
- m.numeric({
1088
- name: "vertical_vanes",
1089
- cluster: "hvacThermostat",
1090
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1091
- valueMin: 0,
797
+ onokomExtend.currentTemperature(),
798
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 1 }),
799
+ onokomExtend.systemMode(),
800
+ onokomExtend.mode(),
801
+ onokomExtend.outdoorAirTemperature(),
802
+ onokomExtend.zbFanSpeed(),
803
+ onokomExtend.verticalVanes({
1092
804
  valueMax: 6,
1093
- valueStep: 1,
1094
805
  description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
1095
- zigbeeCommandOptions: { manufacturerCode },
1096
806
  }),
1097
- m.numeric({
1098
- name: "horizontal_vanes",
1099
- cluster: "hvacThermostat",
1100
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1101
- valueMin: 0,
807
+ onokomExtend.horizontalVanes({
1102
808
  valueMax: 8,
1103
- valueStep: 1,
1104
809
  description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(8)",
1105
- zigbeeCommandOptions: { manufacturerCode },
1106
- }),
1107
- m.numeric({
1108
- name: "fan_speed",
1109
- cluster: "hvacFanCtrl",
1110
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1111
- valueMin: 0,
1112
- valueMax: 3,
1113
- valueStep: 1,
1114
- description: "Fan speed: Auto(0), First(1) - Maximum(3)",
1115
- zigbeeCommandOptions: { manufacturerCode },
1116
810
  }),
1117
- m.numeric({
1118
- name: "smart_fan_speed",
1119
- cluster: "hvacFanCtrl",
1120
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1121
- valueMin: 0,
811
+ onokomExtend.fanSpeed(),
812
+ onokomExtend.smartFanSpeed({
1122
813
  valueMax: 5,
1123
- valueStep: 1,
1124
814
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4), Turbo(5)",
1125
- zigbeeCommandOptions: { manufacturerCode },
1126
- }),
1127
- m.numeric({
1128
- name: "vanes_swing",
1129
- cluster: "hvacThermostat",
1130
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1131
- valueMin: 0,
1132
- valueMax: 3,
1133
- valueStep: 1,
1134
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1135
- zigbeeCommandOptions: { manufacturerCode },
1136
- }),
1137
- m.enumLookup({
1138
- name: "status_led",
1139
- cluster: "hvacThermostat",
1140
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1141
- lookup: {
1142
- normal_mode: 0,
1143
- disabled_if_no_errors: 1,
1144
- disabled_untill_reboot: 2,
1145
- always_disabled: 3,
1146
- green_untill_reboot: 8,
1147
- red_untill_reboot: 9,
1148
- },
1149
- description: "Status LED",
1150
- zigbeeCommandOptions: { manufacturerCode },
1151
- }),
1152
- m.binary({
1153
- name: "quiet_mode",
1154
- cluster: "hvacFanCtrl",
1155
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1156
- valueOn: ["ON", 1],
1157
- valueOff: ["OFF", 0],
1158
- description: "Quiet mode",
1159
- zigbeeCommandOptions: { manufacturerCode },
1160
- }),
1161
- m.binary({
1162
- name: "turbo_mode",
1163
- cluster: "hvacFanCtrl",
1164
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1165
- valueOn: ["ON", 1],
1166
- valueOff: ["OFF", 0],
1167
- description: "Turbo mode",
1168
- zigbeeCommandOptions: { manufacturerCode },
1169
- }),
1170
- m.binary({
1171
- name: "sleep_mode",
1172
- cluster: "hvacThermostat",
1173
- attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1174
- valueOn: ["ON", 1],
1175
- valueOff: ["OFF", 0],
1176
- description: "Sleep mode",
1177
- zigbeeCommandOptions: { manufacturerCode },
1178
815
  }),
1179
- m.binary({
1180
- name: "ionization",
1181
- cluster: "hvacThermostat",
1182
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1183
- valueOn: ["ON", 1],
1184
- valueOff: ["OFF", 0],
1185
- description: "Ionization",
1186
- zigbeeCommandOptions: { manufacturerCode },
816
+ onokomExtend.vanesSwing(),
817
+ onokomExtend.statusLed(),
818
+ onokomExtend.quietMode(),
819
+ onokomExtend.turboMode(),
820
+ onokomExtend.sleepMode(),
821
+ onokomExtend.ionization(),
822
+ onokomExtend.selfCleaning(),
823
+ onokomExtend.screenLight(),
824
+ onokomExtend.beeper(),
825
+ ],
826
+ configure: async (device, coordinatorEndpoint, logger) => {
827
+ const endpoint = device.getEndpoint(1);
828
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
829
+ await reporting.thermostatTemperature(endpoint);
830
+ await reporting.onOff(endpoint);
831
+ },
832
+ },
833
+ {
834
+ zigbeeModel: ["OK-AC-H-HR-1-ZB-S-A"],
835
+ model: "OK-AC-H-HR-1-ZB-S-A",
836
+ vendor: "ONOKOM",
837
+ description: "Adapter for household and semi-industrial Haier systems",
838
+ ota: true,
839
+ extend: [
840
+ onokomExtend.onokomHvacThermostatCluster(),
841
+ onokomExtend.onokomHvacFanCtrlCluster(),
842
+ onokomExtend.acConnected(),
843
+ m.onOff({
844
+ powerOnBehavior: false,
845
+ description: "On/off state",
1187
846
  }),
1188
- m.binary({
1189
- name: "self_cleaning",
1190
- cluster: "hvacThermostat",
1191
- attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1192
- valueOn: ["ON", 1],
1193
- valueOff: ["OFF", 0],
1194
- description: "Self cleaning",
1195
- zigbeeCommandOptions: { manufacturerCode },
847
+ onokomExtend.currentTemperature(),
848
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 1 }),
849
+ onokomExtend.systemMode(),
850
+ onokomExtend.mode(),
851
+ onokomExtend.outdoorAirTemperature(),
852
+ onokomExtend.zbFanSpeed(),
853
+ onokomExtend.verticalVanes({
854
+ valueMax: 6,
855
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
1196
856
  }),
1197
- m.binary({
1198
- name: "screen_light",
1199
- cluster: "hvacThermostat",
1200
- attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1201
- valueOn: ["ON", 1],
1202
- valueOff: ["OFF", 0],
1203
- description: "Screen light",
1204
- zigbeeCommandOptions: { manufacturerCode },
857
+ onokomExtend.horizontalVanes({
858
+ valueMax: 8,
859
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(8)",
1205
860
  }),
1206
- m.binary({
1207
- name: "beeper",
1208
- cluster: "hvacThermostat",
1209
- attribute: { ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1210
- valueOn: ["ON", 1],
1211
- valueOff: ["OFF", 0],
1212
- description: "Beeper",
1213
- zigbeeCommandOptions: { manufacturerCode },
861
+ onokomExtend.fanSpeed(),
862
+ onokomExtend.smartFanSpeed({
863
+ valueMax: 5,
864
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4), Turbo(5)",
1214
865
  }),
866
+ onokomExtend.vanesSwing(),
867
+ onokomExtend.statusLed(),
868
+ onokomExtend.quietMode(),
869
+ onokomExtend.turboMode(),
870
+ onokomExtend.sleepMode(),
871
+ onokomExtend.ionization(),
872
+ onokomExtend.selfCleaning(),
873
+ onokomExtend.screenLight(),
874
+ onokomExtend.beeper(),
1215
875
  ],
1216
- fromZigbee: [],
1217
876
  configure: async (device, coordinatorEndpoint, logger) => {
1218
877
  const endpoint = device.getEndpoint(1);
1219
878
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -1225,294 +884,113 @@ exports.definitions = [
1225
884
  zigbeeModel: ["HS-3-ZB-S"],
1226
885
  model: "HS-3-ZB-S",
1227
886
  vendor: "ONOKOM",
1228
- description: "AIR HS-3-ZB-S (Adapter for household Hisesnse systems)",
887
+ description: "Adapter for household Hisesnse systems",
1229
888
  ota: true,
1230
889
  extend: [
1231
- m.enumLookup({
1232
- name: "ac_connected",
1233
- cluster: "hvacThermostat",
1234
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1235
- lookup: {
1236
- disconnected: 0,
1237
- invalid_data_recieved: 1,
1238
- connected_with_issues: 2,
1239
- connected: 3,
1240
- },
1241
- description: "AC connected",
1242
- access: "STATE",
1243
- }),
890
+ onokomExtend.onokomHvacThermostatCluster(),
891
+ onokomExtend.onokomHvacFanCtrlCluster(),
892
+ onokomExtend.acConnected(),
1244
893
  m.onOff({
1245
894
  powerOnBehavior: false,
1246
895
  description: "On/off state",
1247
896
  }),
1248
- m.numeric({
1249
- name: "current_temperature",
1250
- cluster: "hvacThermostat",
1251
- attribute: "localTemp",
1252
- scale: 100,
1253
- unit: "°C",
1254
- description: "Indoor air temperature",
1255
- access: "STATE",
1256
- }),
1257
- m.numeric({
1258
- name: "target_temperature",
1259
- cluster: "hvacThermostat",
1260
- attribute: "occupiedCoolingSetpoint",
1261
- valueMin: 16,
1262
- valueMax: 32,
1263
- valueStep: 1,
1264
- scale: 100,
1265
- unit: "°C",
1266
- description: "Target temperature",
1267
- }),
1268
- m.enumLookup({
1269
- name: "system_mode",
1270
- cluster: "hvacThermostat",
1271
- attribute: "systemMode",
1272
- lookup: {
1273
- off: 0,
1274
- auto: 1,
1275
- cool: 3,
1276
- heat: 4,
1277
- fan_only: 7,
1278
- dry: 8,
1279
- },
1280
- description: "Active mode",
1281
- }),
1282
- m.enumLookup({
1283
- name: "mode",
1284
- cluster: "hvacThermostat",
1285
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1286
- lookup: {
1287
- heat: 1,
1288
- cool: 2,
1289
- auto: 3,
1290
- dry: 4,
1291
- fan_only: 5,
1292
- },
1293
- description: "Mode",
1294
- zigbeeCommandOptions: { manufacturerCode },
1295
- }),
1296
- m.numeric({
1297
- name: "outdoor_air_temperature",
1298
- cluster: "hvacThermostat",
1299
- attribute: "outdoorTemp",
1300
- scale: 100,
1301
- unit: "°C",
1302
- description: "Outdoor air temperature",
1303
- access: "STATE",
1304
- }),
1305
- m.numeric({
1306
- name: "zb_fan_speed",
1307
- cluster: "hvacFanCtrl",
1308
- attribute: "fanMode",
1309
- valueMin: 1,
1310
- valueMax: 5,
1311
- valueStep: 1,
1312
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1313
- }),
1314
- m.numeric({
1315
- name: "vertical_vanes",
1316
- cluster: "hvacThermostat",
1317
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1318
- valueMin: 0,
897
+ onokomExtend.currentTemperature(),
898
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 32, valueStep: 1 }),
899
+ onokomExtend.systemMode(),
900
+ onokomExtend.mode(),
901
+ onokomExtend.outdoorAirTemperature(),
902
+ onokomExtend.zbFanSpeed(),
903
+ onokomExtend.verticalVanes({
1319
904
  valueMax: 4,
1320
- valueStep: 1,
1321
905
  description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(4)",
1322
- zigbeeCommandOptions: { manufacturerCode },
1323
906
  }),
1324
- m.numeric({
1325
- name: "horizontal_vanes",
1326
- cluster: "hvacThermostat",
1327
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1328
- valueMin: 0,
907
+ onokomExtend.horizontalVanes({
1329
908
  valueMax: 7,
1330
- valueStep: 1,
1331
909
  description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(7)",
1332
- zigbeeCommandOptions: { manufacturerCode },
1333
910
  }),
1334
- m.numeric({
1335
- name: "fan_speed",
1336
- cluster: "hvacFanCtrl",
1337
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1338
- valueMin: 0,
911
+ onokomExtend.fanSpeed({
1339
912
  valueMax: 5,
1340
- valueStep: 1,
1341
913
  description: "Fan speed: Auto(0), First(1) - Maximum(5)",
1342
- zigbeeCommandOptions: { manufacturerCode },
1343
914
  }),
1344
- m.numeric({
1345
- name: "smart_fan_speed",
1346
- cluster: "hvacFanCtrl",
1347
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1348
- valueMin: 0,
915
+ onokomExtend.smartFanSpeed({
1349
916
  valueMax: 7,
1350
- valueStep: 1,
1351
917
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
1352
- zigbeeCommandOptions: { manufacturerCode },
1353
- }),
1354
- m.numeric({
1355
- name: "vanes_swing",
1356
- cluster: "hvacThermostat",
1357
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1358
- valueMin: 0,
1359
- valueMax: 3,
1360
- valueStep: 1,
1361
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1362
- zigbeeCommandOptions: { manufacturerCode },
1363
- }),
1364
- m.enumLookup({
1365
- name: "status_led",
1366
- cluster: "hvacThermostat",
1367
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1368
- lookup: {
1369
- normal_mode: 0,
1370
- disabled_if_no_errors: 1,
1371
- disabled_untill_reboot: 2,
1372
- always_disabled: 3,
1373
- green_untill_reboot: 8,
1374
- red_untill_reboot: 9,
1375
- },
1376
- description: "Status LED",
1377
- zigbeeCommandOptions: { manufacturerCode },
1378
- }),
1379
- m.binary({
1380
- name: "quiet_mode",
1381
- cluster: "hvacFanCtrl",
1382
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1383
- valueOn: ["ON", 1],
1384
- valueOff: ["OFF", 0],
1385
- description: "Quiet mode",
1386
- zigbeeCommandOptions: { manufacturerCode },
1387
- }),
1388
- m.binary({
1389
- name: "eco_mode",
1390
- cluster: "hvacThermostat",
1391
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1392
- valueOn: ["ON", 1],
1393
- valueOff: ["OFF", 0],
1394
- description: "Eco mode",
1395
- zigbeeCommandOptions: { manufacturerCode },
1396
- }),
1397
- m.binary({
1398
- name: "turbo_mode",
1399
- cluster: "hvacFanCtrl",
1400
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1401
- valueOn: ["ON", 1],
1402
- valueOff: ["OFF", 0],
1403
- description: "Turbo mode",
1404
- zigbeeCommandOptions: { manufacturerCode },
1405
- }),
1406
- m.binary({
1407
- name: "sleep_mode",
1408
- cluster: "hvacThermostat",
1409
- attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1410
- valueOn: ["ON", 1],
1411
- valueOff: ["OFF", 0],
1412
- description: "Sleep mode",
1413
- zigbeeCommandOptions: { manufacturerCode },
1414
- }),
1415
- m.enumLookup({
1416
- name: "smart_sleep_mode",
1417
- cluster: "hvacThermostat",
1418
- attribute: { ID: 0x4736, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1419
- lookup: {
1420
- disabled: 0,
1421
- ordinary: 1,
1422
- for_old: 2,
1423
- for_young: 3,
1424
- for_kids: 4,
1425
- },
1426
- description: "Smart sleep mode",
1427
- zigbeeCommandOptions: { manufacturerCode },
1428
- }),
1429
- m.binary({
1430
- name: "ionization",
1431
- cluster: "hvacThermostat",
1432
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1433
- valueOn: ["ON", 1],
1434
- valueOff: ["OFF", 0],
1435
- description: "Ionization",
1436
- zigbeeCommandOptions: { manufacturerCode },
1437
- }),
1438
- m.enumLookup({
1439
- name: "smart_eye",
1440
- cluster: "hvacThermostat",
1441
- attribute: { ID: 0x4735, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1442
- lookup: {
1443
- disabled: 0,
1444
- to_person: 1,
1445
- from_person: 2,
1446
- },
1447
- description: "Smart eye",
1448
- zigbeeCommandOptions: { manufacturerCode },
1449
918
  }),
1450
- m.binary({
1451
- name: "screen_light",
1452
- cluster: "hvacThermostat",
1453
- attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1454
- valueOn: ["ON", 1],
1455
- valueOff: ["OFF", 0],
1456
- description: "Screen light",
1457
- zigbeeCommandOptions: { manufacturerCode },
1458
- }),
1459
- m.binary({
1460
- name: "beeper",
1461
- cluster: "hvacThermostat",
1462
- attribute: { ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1463
- valueOn: ["ON", 1],
1464
- valueOff: ["OFF", 0],
1465
- description: "Beeper",
1466
- zigbeeCommandOptions: { manufacturerCode },
919
+ onokomExtend.vanesSwing(),
920
+ onokomExtend.statusLed(),
921
+ onokomExtend.quietMode(),
922
+ onokomExtend.ecoMode(),
923
+ onokomExtend.turboMode(),
924
+ onokomExtend.sleepMode(),
925
+ onokomExtend.smartSleepMode(),
926
+ onokomExtend.ionization(),
927
+ onokomExtend.smartEye(),
928
+ onokomExtend.screenLight(),
929
+ onokomExtend.beeper(),
930
+ onokomExtend.currentCompressorPower(),
931
+ onokomExtend.targetCompressorPower(),
932
+ onokomExtend.indoorHeatExchangerTemperature(),
933
+ onokomExtend.outdoorHeatExchangerTemperature(),
934
+ ],
935
+ configure: async (device, coordinatorEndpoint, logger) => {
936
+ const endpoint = device.getEndpoint(1);
937
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
938
+ await reporting.thermostatTemperature(endpoint);
939
+ await reporting.onOff(endpoint);
940
+ },
941
+ },
942
+ {
943
+ zigbeeModel: ["OK-AC-H-HS-3-ZB-S-A"],
944
+ model: "OK-AC-H-HS-3-ZB-S-A",
945
+ vendor: "ONOKOM",
946
+ description: "Adapter for household Hisesnse systems",
947
+ ota: true,
948
+ extend: [
949
+ onokomExtend.onokomHvacThermostatCluster(),
950
+ onokomExtend.onokomHvacFanCtrlCluster(),
951
+ onokomExtend.acConnected(),
952
+ m.onOff({
953
+ powerOnBehavior: false,
954
+ description: "On/off state",
1467
955
  }),
1468
- m.numeric({
1469
- name: "current_compressor_power",
1470
- cluster: "hvacFanCtrl",
1471
- attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1472
- access: "STATE",
1473
- valueMin: 0,
1474
- valueMax: 100,
1475
- valueStep: 1,
1476
- description: "Current compressor power",
1477
- zigbeeCommandOptions: { manufacturerCode },
956
+ onokomExtend.currentTemperature(),
957
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 32, valueStep: 1 }),
958
+ onokomExtend.systemMode(),
959
+ onokomExtend.mode(),
960
+ onokomExtend.outdoorAirTemperature(),
961
+ onokomExtend.zbFanSpeed(),
962
+ onokomExtend.verticalVanes({
963
+ valueMax: 4,
964
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(4)",
1478
965
  }),
1479
- m.numeric({
1480
- name: "target_compressor_power",
1481
- cluster: "hvacFanCtrl",
1482
- attribute: { ID: 0x4722, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1483
- access: "STATE",
1484
- valueMin: 0,
1485
- valueMax: 100,
1486
- valueStep: 1,
1487
- description: "Target compressor power",
1488
- zigbeeCommandOptions: { manufacturerCode },
966
+ onokomExtend.horizontalVanes({
967
+ valueMax: 7,
968
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(7)",
1489
969
  }),
1490
- m.numeric({
1491
- name: "indoor_heat_exchanger_temperature",
1492
- cluster: "hvacThermostat",
1493
- attribute: { ID: 0x4740, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1494
- access: "STATE",
1495
- valueMin: 0,
1496
- valueMax: 100,
1497
- valueStep: 1,
1498
- unit: "°C",
1499
- description: "Indoor heat exchanger temperature",
1500
- zigbeeCommandOptions: { manufacturerCode },
970
+ onokomExtend.fanSpeed({
971
+ valueMax: 5,
972
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
1501
973
  }),
1502
- m.numeric({
1503
- name: "outdoor_heat_exchanger_temperature",
1504
- cluster: "hvacThermostat",
1505
- attribute: { ID: 0x4741, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
1506
- access: "STATE",
1507
- valueMin: 0,
1508
- valueMax: 100,
1509
- valueStep: 1,
1510
- unit: "°C",
1511
- description: "Outdoor heat exchanger temperature",
1512
- zigbeeCommandOptions: { manufacturerCode },
974
+ onokomExtend.smartFanSpeed({
975
+ valueMax: 7,
976
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
1513
977
  }),
978
+ onokomExtend.vanesSwing(),
979
+ onokomExtend.statusLed(),
980
+ onokomExtend.quietMode(),
981
+ onokomExtend.ecoMode(),
982
+ onokomExtend.turboMode(),
983
+ onokomExtend.sleepMode(),
984
+ onokomExtend.smartSleepMode(),
985
+ onokomExtend.ionization(),
986
+ onokomExtend.smartEye(),
987
+ onokomExtend.screenLight(),
988
+ onokomExtend.beeper(),
989
+ onokomExtend.currentCompressorPower(),
990
+ onokomExtend.targetCompressorPower(),
991
+ onokomExtend.indoorHeatExchangerTemperature(),
992
+ onokomExtend.outdoorHeatExchangerTemperature(),
1514
993
  ],
1515
- fromZigbee: [],
1516
994
  configure: async (device, coordinatorEndpoint, logger) => {
1517
995
  const endpoint = device.getEndpoint(1);
1518
996
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -1524,120 +1002,61 @@ exports.definitions = [
1524
1002
  zigbeeModel: ["HT-1-ZB-S"],
1525
1003
  model: "HT-1-ZB-S",
1526
1004
  vendor: "ONOKOM",
1527
- description: "AIR HT-1-ZB-S (Adapter for household Hitachi systems)",
1005
+ description: "Adapter for household Hitachi systems",
1528
1006
  ota: true,
1529
1007
  extend: [
1530
- m.enumLookup({
1531
- name: "ac_connected",
1532
- cluster: "hvacThermostat",
1533
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1534
- lookup: {
1535
- disconnected: 0,
1536
- invalid_data_recieved: 1,
1537
- connected_with_issues: 2,
1538
- connected: 3,
1539
- },
1540
- description: "AC connected",
1541
- access: "STATE",
1542
- }),
1008
+ onokomExtend.onokomHvacThermostatCluster(),
1009
+ onokomExtend.onokomHvacFanCtrlCluster(),
1010
+ onokomExtend.acConnected(),
1543
1011
  m.onOff({
1544
1012
  powerOnBehavior: false,
1545
1013
  description: "On/off state",
1546
1014
  }),
1547
- m.numeric({
1548
- name: "current_temperature",
1549
- cluster: "hvacThermostat",
1550
- attribute: "localTemp",
1551
- scale: 100,
1552
- unit: "°C",
1553
- description: "Indoor air temperature",
1554
- access: "STATE",
1555
- }),
1556
- m.numeric({
1557
- name: "target_temperature",
1558
- cluster: "hvacThermostat",
1559
- attribute: "occupiedCoolingSetpoint",
1560
- valueMin: 16,
1561
- valueMax: 32,
1562
- valueStep: 1,
1563
- scale: 100,
1564
- unit: "°C",
1565
- description: "Target temperature",
1566
- }),
1567
- m.enumLookup({
1568
- name: "system_mode",
1569
- cluster: "hvacThermostat",
1570
- attribute: "systemMode",
1571
- lookup: {
1572
- off: 0,
1573
- auto: 1,
1574
- cool: 3,
1575
- heat: 4,
1576
- fan_only: 7,
1577
- dry: 8,
1578
- },
1579
- description: "Active mode",
1580
- }),
1581
- m.enumLookup({
1582
- name: "mode",
1583
- cluster: "hvacThermostat",
1584
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1585
- lookup: {
1586
- heat: 1,
1587
- cool: 2,
1588
- auto: 3,
1589
- dry: 4,
1590
- fan_only: 5,
1591
- },
1592
- description: "Mode",
1593
- zigbeeCommandOptions: { manufacturerCode },
1015
+ onokomExtend.currentTemperature(),
1016
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 32, valueStep: 1 }),
1017
+ onokomExtend.systemMode(),
1018
+ onokomExtend.mode(),
1019
+ onokomExtend.zbFanSpeed(),
1020
+ onokomExtend.fanSpeed(),
1021
+ onokomExtend.smartFanSpeed({
1022
+ valueMax: 4,
1023
+ description: "Smart fan speed: Auto (0), Low (1) ... Maximum (3)",
1594
1024
  }),
1595
- m.numeric({
1596
- name: "zb_fan_speed",
1597
- cluster: "hvacFanCtrl",
1598
- attribute: "fanMode",
1599
- valueMin: 1,
1600
- valueMax: 5,
1601
- valueStep: 1,
1602
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1603
- }),
1604
- m.numeric({
1605
- name: "fan_speed",
1606
- cluster: "hvacFanCtrl",
1607
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1608
- valueMin: 0,
1609
- valueMax: 3,
1610
- valueStep: 1,
1611
- description: "Fan speed: Auto(0), First(1) - Maximum(3)",
1612
- zigbeeCommandOptions: { manufacturerCode },
1025
+ onokomExtend.statusLed(),
1026
+ ],
1027
+ configure: async (device, coordinatorEndpoint, logger) => {
1028
+ const endpoint = device.getEndpoint(1);
1029
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1030
+ await reporting.thermostatTemperature(endpoint);
1031
+ await reporting.onOff(endpoint);
1032
+ },
1033
+ },
1034
+ {
1035
+ zigbeeModel: ["OK-AC-H-HT-1-ZB-S-A"],
1036
+ model: "OK-AC-H-HT-1-ZB-S-A",
1037
+ vendor: "ONOKOM",
1038
+ description: "Adapter for household Hitachi systems",
1039
+ ota: true,
1040
+ extend: [
1041
+ onokomExtend.onokomHvacThermostatCluster(),
1042
+ onokomExtend.onokomHvacFanCtrlCluster(),
1043
+ onokomExtend.acConnected(),
1044
+ m.onOff({
1045
+ powerOnBehavior: false,
1046
+ description: "On/off state",
1613
1047
  }),
1614
- m.numeric({
1615
- name: "smart_fan_speed",
1616
- cluster: "hvacFanCtrl",
1617
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1618
- valueMin: 0,
1048
+ onokomExtend.currentTemperature(),
1049
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 32, valueStep: 1 }),
1050
+ onokomExtend.systemMode(),
1051
+ onokomExtend.mode(),
1052
+ onokomExtend.zbFanSpeed(),
1053
+ onokomExtend.fanSpeed(),
1054
+ onokomExtend.smartFanSpeed({
1619
1055
  valueMax: 4,
1620
- valueStep: 1,
1621
1056
  description: "Smart fan speed: Auto (0), Low (1) ... Maximum (3)",
1622
- zigbeeCommandOptions: { manufacturerCode },
1623
- }),
1624
- m.enumLookup({
1625
- name: "status_led",
1626
- cluster: "hvacThermostat",
1627
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1628
- lookup: {
1629
- normal_mode: 0,
1630
- disabled_if_no_errors: 1,
1631
- disabled_untill_reboot: 2,
1632
- always_disabled: 3,
1633
- green_untill_reboot: 8,
1634
- red_untill_reboot: 9,
1635
- },
1636
- description: "Status LED",
1637
- zigbeeCommandOptions: { manufacturerCode },
1638
1057
  }),
1058
+ onokomExtend.statusLed(),
1639
1059
  ],
1640
- fromZigbee: [],
1641
1060
  configure: async (device, coordinatorEndpoint, logger) => {
1642
1061
  const endpoint = device.getEndpoint(1);
1643
1062
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -1649,223 +1068,101 @@ exports.definitions = [
1649
1068
  zigbeeModel: ["MD-1-ZB-S"],
1650
1069
  model: "MD-1-ZB-S",
1651
1070
  vendor: "ONOKOM",
1652
- description: "AIR MD-1-ZB-S (Adapter for household MDV systems)",
1071
+ description: "Adapter for household MDV systems",
1653
1072
  ota: true,
1654
1073
  extend: [
1655
- m.enumLookup({
1656
- name: "ac_connected",
1657
- cluster: "hvacThermostat",
1658
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1659
- lookup: {
1660
- disconnected: 0,
1661
- invalid_data_recieved: 1,
1662
- connected_with_issues: 2,
1663
- connected: 3,
1664
- },
1665
- description: "AC connected",
1666
- access: "STATE",
1667
- }),
1074
+ onokomExtend.onokomHvacThermostatCluster(),
1075
+ onokomExtend.onokomHvacFanCtrlCluster(),
1076
+ onokomExtend.acConnected(),
1668
1077
  m.onOff({
1669
1078
  powerOnBehavior: false,
1670
1079
  description: "On/off state",
1671
1080
  }),
1672
- m.numeric({
1673
- name: "current_temperature",
1674
- cluster: "hvacThermostat",
1675
- attribute: "localTemp",
1676
- scale: 100,
1677
- unit: "°C",
1678
- description: "Indoor air temperature",
1679
- access: "STATE",
1680
- }),
1681
- m.numeric({
1682
- name: "target_temperature",
1683
- cluster: "hvacThermostat",
1684
- attribute: "occupiedCoolingSetpoint",
1685
- valueMin: 16,
1686
- valueMax: 30,
1687
- valueStep: 0.5,
1688
- scale: 100,
1689
- unit: "°C",
1690
- description: "Target temperature",
1691
- }),
1692
- m.enumLookup({
1693
- name: "system_mode",
1694
- cluster: "hvacThermostat",
1695
- attribute: "systemMode",
1696
- lookup: {
1697
- off: 0,
1698
- auto: 1,
1699
- cool: 3,
1700
- heat: 4,
1701
- fan_only: 7,
1702
- dry: 8,
1703
- },
1704
- description: "Active mode",
1705
- }),
1706
- m.enumLookup({
1707
- name: "mode",
1708
- cluster: "hvacThermostat",
1709
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1710
- lookup: {
1711
- heat: 1,
1712
- cool: 2,
1713
- auto: 3,
1714
- dry: 4,
1715
- fan_only: 5,
1716
- },
1717
- description: "Mode",
1718
- zigbeeCommandOptions: { manufacturerCode },
1719
- }),
1720
- m.numeric({
1721
- name: "outdoor_air_temperature",
1722
- cluster: "hvacThermostat",
1723
- attribute: "outdoorTemp",
1724
- scale: 100,
1725
- unit: "°C",
1726
- description: "Outdoor air temperature",
1727
- access: "STATE",
1728
- }),
1729
- m.numeric({
1730
- name: "zb_fan_speed",
1731
- cluster: "hvacFanCtrl",
1732
- attribute: "fanMode",
1733
- valueMin: 1,
1734
- valueMax: 5,
1735
- valueStep: 1,
1736
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1737
- }),
1738
- m.numeric({
1739
- name: "vertical_vanes",
1740
- cluster: "hvacThermostat",
1741
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1742
- valueMin: 0,
1081
+ onokomExtend.currentTemperature(),
1082
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 0.5 }),
1083
+ onokomExtend.systemMode(),
1084
+ onokomExtend.mode(),
1085
+ onokomExtend.outdoorAirTemperature(),
1086
+ onokomExtend.zbFanSpeed(),
1087
+ onokomExtend.verticalVanes({
1743
1088
  valueMax: 7,
1744
- valueStep: 1,
1745
1089
  description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(7)",
1746
- zigbeeCommandOptions: { manufacturerCode },
1747
1090
  }),
1748
- m.numeric({
1749
- name: "horizontal_vanes",
1750
- cluster: "hvacThermostat",
1751
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1752
- valueMin: 0,
1091
+ onokomExtend.horizontalVanes({
1753
1092
  valueMax: 7,
1754
- valueStep: 1,
1755
1093
  description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(7)",
1756
- zigbeeCommandOptions: { manufacturerCode },
1757
1094
  }),
1758
- m.numeric({
1759
- name: "fan_speed",
1760
- cluster: "hvacFanCtrl",
1761
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1762
- valueMin: 0,
1095
+ onokomExtend.fanSpeed({
1763
1096
  valueMax: 5,
1764
- valueStep: 1,
1765
1097
  description: "Fan speed: Auto(0), First(1) - Maximum(5)",
1766
- zigbeeCommandOptions: { manufacturerCode },
1767
1098
  }),
1768
- m.numeric({
1769
- name: "smart_fan_speed",
1770
- cluster: "hvacFanCtrl",
1771
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1772
- valueMin: 0,
1099
+ onokomExtend.smartFanSpeed({
1773
1100
  valueMax: 7,
1774
- valueStep: 1,
1775
1101
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
1776
- zigbeeCommandOptions: { manufacturerCode },
1777
1102
  }),
1778
- m.numeric({
1779
- name: "vanes_swing",
1780
- cluster: "hvacThermostat",
1781
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1782
- valueMin: 0,
1783
- valueMax: 3,
1784
- valueStep: 1,
1785
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1786
- zigbeeCommandOptions: { manufacturerCode },
1787
- }),
1788
- m.enumLookup({
1789
- name: "status_led",
1790
- cluster: "hvacThermostat",
1791
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1792
- lookup: {
1793
- normal_mode: 0,
1794
- disabled_if_no_errors: 1,
1795
- disabled_untill_reboot: 2,
1796
- always_disabled: 3,
1797
- green_untill_reboot: 8,
1798
- red_untill_reboot: 9,
1799
- },
1800
- description: "Status LED",
1801
- zigbeeCommandOptions: { manufacturerCode },
1802
- }),
1803
- m.binary({
1804
- name: "quiet_mode",
1805
- cluster: "hvacFanCtrl",
1806
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1807
- valueOn: ["ON", 1],
1808
- valueOff: ["OFF", 0],
1809
- description: "Quiet mode",
1810
- zigbeeCommandOptions: { manufacturerCode },
1811
- }),
1812
- m.binary({
1813
- name: "eco_mode",
1814
- cluster: "hvacThermostat",
1815
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1816
- valueOn: ["ON", 1],
1817
- valueOff: ["OFF", 0],
1818
- description: "Eco mode",
1819
- zigbeeCommandOptions: { manufacturerCode },
1820
- }),
1821
- m.binary({
1822
- name: "turbo_mode",
1823
- cluster: "hvacFanCtrl",
1824
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1825
- valueOn: ["ON", 1],
1826
- valueOff: ["OFF", 0],
1827
- description: "Turbo mode",
1828
- zigbeeCommandOptions: { manufacturerCode },
1103
+ onokomExtend.vanesSwing(),
1104
+ onokomExtend.statusLed(),
1105
+ onokomExtend.quietMode(),
1106
+ onokomExtend.ecoMode(),
1107
+ onokomExtend.turboMode(),
1108
+ onokomExtend.selfCleaning(),
1109
+ onokomExtend.heating8Deg(),
1110
+ onokomExtend.gentleWind(),
1111
+ onokomExtend.targetFanRpm({ valueMax: 100 }),
1112
+ ],
1113
+ configure: async (device, coordinatorEndpoint, logger) => {
1114
+ const endpoint = device.getEndpoint(1);
1115
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1116
+ await reporting.thermostatTemperature(endpoint);
1117
+ await reporting.onOff(endpoint);
1118
+ },
1119
+ },
1120
+ {
1121
+ zigbeeModel: ["OK-AC-H-MD-1-ZB-S-A"],
1122
+ model: "OK-AC-H-MD-1-ZB-S-A",
1123
+ vendor: "ONOKOM",
1124
+ description: "Adapter for household MDV systems",
1125
+ ota: true,
1126
+ extend: [
1127
+ onokomExtend.onokomHvacThermostatCluster(),
1128
+ onokomExtend.onokomHvacFanCtrlCluster(),
1129
+ onokomExtend.acConnected(),
1130
+ m.onOff({
1131
+ powerOnBehavior: false,
1132
+ description: "On/off state",
1829
1133
  }),
1830
- m.binary({
1831
- name: "self_cleaning",
1832
- cluster: "hvacThermostat",
1833
- attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1834
- valueOn: ["ON", 1],
1835
- valueOff: ["OFF", 0],
1836
- description: "Self cleaning",
1837
- zigbeeCommandOptions: { manufacturerCode },
1134
+ onokomExtend.currentTemperature(),
1135
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 0.5 }),
1136
+ onokomExtend.systemMode(),
1137
+ onokomExtend.mode(),
1138
+ onokomExtend.outdoorAirTemperature(),
1139
+ onokomExtend.zbFanSpeed(),
1140
+ onokomExtend.verticalVanes({
1141
+ valueMax: 7,
1142
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(7)",
1838
1143
  }),
1839
- m.binary({
1840
- name: "heating_8_deg",
1841
- cluster: "hvacThermostat",
1842
- attribute: { ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1843
- valueOn: ["ON", 1],
1844
- valueOff: ["OFF", 0],
1845
- description: "Heating 8 deg",
1846
- zigbeeCommandOptions: { manufacturerCode },
1144
+ onokomExtend.horizontalVanes({
1145
+ valueMax: 7,
1146
+ description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(7)",
1847
1147
  }),
1848
- m.binary({
1849
- name: "gentle_wind",
1850
- cluster: "hvacThermostat",
1851
- attribute: { ID: 0x4725, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
1852
- valueOn: ["ON", 1],
1853
- valueOff: ["OFF", 0],
1854
- description: "Gentle wind",
1855
- zigbeeCommandOptions: { manufacturerCode },
1148
+ onokomExtend.fanSpeed({
1149
+ valueMax: 5,
1150
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
1856
1151
  }),
1857
- m.numeric({
1858
- name: "target_fan_rpm",
1859
- cluster: "hvacFanCtrl",
1860
- attribute: { ID: 0x4723, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1861
- valueMin: 0,
1862
- valueMax: 100,
1863
- valueStep: 1,
1864
- description: "Target fan speed",
1865
- zigbeeCommandOptions: { manufacturerCode },
1152
+ onokomExtend.smartFanSpeed({
1153
+ valueMax: 7,
1154
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
1866
1155
  }),
1156
+ onokomExtend.vanesSwing(),
1157
+ onokomExtend.statusLed(),
1158
+ onokomExtend.quietMode(),
1159
+ onokomExtend.ecoMode(),
1160
+ onokomExtend.turboMode(),
1161
+ onokomExtend.selfCleaning(),
1162
+ onokomExtend.heating8Deg(),
1163
+ onokomExtend.gentleWind(),
1164
+ onokomExtend.targetFanRpm({ valueMax: 100 }),
1867
1165
  ],
1868
- fromZigbee: [],
1869
1166
  configure: async (device, coordinatorEndpoint, logger) => {
1870
1167
  const endpoint = device.getEndpoint(1);
1871
1168
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -1877,173 +1174,85 @@ exports.definitions = [
1877
1174
  zigbeeModel: ["MD-3-ZB-S"],
1878
1175
  model: "MD-3-ZB-S",
1879
1176
  vendor: "ONOKOM",
1880
- description: "AIR MD-3-ZB-S (Adapter for semi-industrial MDV systems)",
1177
+ description: "Adapter for semi-industrial MDV systems",
1881
1178
  ota: true,
1882
1179
  extend: [
1883
- m.enumLookup({
1884
- name: "ac_connected",
1885
- cluster: "hvacThermostat",
1886
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1887
- lookup: {
1888
- disconnected: 0,
1889
- invalid_data_recieved: 1,
1890
- connected_with_issues: 2,
1891
- connected: 3,
1892
- },
1893
- description: "AC connected",
1894
- access: "STATE",
1895
- }),
1180
+ onokomExtend.onokomHvacThermostatCluster(),
1181
+ onokomExtend.onokomHvacFanCtrlCluster(),
1182
+ onokomExtend.acConnected(),
1896
1183
  m.onOff({
1897
1184
  powerOnBehavior: false,
1898
1185
  description: "On/off state",
1899
1186
  }),
1900
- m.numeric({
1901
- name: "current_temperature",
1902
- cluster: "hvacThermostat",
1903
- attribute: "localTemp",
1904
- scale: 100,
1905
- unit: "°C",
1906
- description: "Indoor air temperature",
1907
- access: "STATE",
1908
- }),
1909
- m.numeric({
1910
- name: "target_temperature",
1911
- cluster: "hvacThermostat",
1912
- attribute: "occupiedCoolingSetpoint",
1913
- valueMin: 16,
1914
- valueMax: 30,
1915
- valueStep: 1,
1916
- scale: 100,
1917
- unit: "°C",
1918
- description: "Target temperature",
1919
- }),
1920
- m.enumLookup({
1921
- name: "system_mode",
1922
- cluster: "hvacThermostat",
1923
- attribute: "systemMode",
1924
- lookup: {
1925
- off: 0,
1926
- auto: 1,
1927
- cool: 3,
1928
- heat: 4,
1929
- fan_only: 7,
1930
- dry: 8,
1931
- },
1932
- description: "Active mode",
1933
- }),
1934
- m.enumLookup({
1935
- name: "mode",
1936
- cluster: "hvacThermostat",
1937
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1938
- lookup: {
1939
- heat: 1,
1940
- cool: 2,
1941
- auto: 3,
1942
- dry: 4,
1943
- fan_only: 5,
1944
- },
1945
- description: "Mode",
1946
- zigbeeCommandOptions: { manufacturerCode },
1947
- }),
1948
- m.numeric({
1949
- name: "zb_fan_speed",
1950
- cluster: "hvacFanCtrl",
1951
- attribute: "fanMode",
1952
- valueMin: 1,
1953
- valueMax: 5,
1954
- valueStep: 1,
1955
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
1956
- }),
1957
- m.numeric({
1958
- name: "horizontal_vanes",
1959
- cluster: "hvacThermostat",
1960
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1961
- valueMin: 0,
1187
+ onokomExtend.currentTemperature(),
1188
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 1 }),
1189
+ onokomExtend.systemMode(),
1190
+ onokomExtend.mode(),
1191
+ onokomExtend.zbFanSpeed(),
1192
+ onokomExtend.horizontalVanes({
1962
1193
  valueMax: 1,
1963
- valueStep: 1,
1964
1194
  description: "Horizontal vanes: Stopped(0), Swing(1)",
1965
- zigbeeCommandOptions: { manufacturerCode },
1966
- }),
1967
- m.numeric({
1968
- name: "fan_speed",
1969
- cluster: "hvacFanCtrl",
1970
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1971
- valueMin: 0,
1972
- valueMax: 3,
1973
- valueStep: 1,
1974
- description: "Fan speed: Auto(0), First(1) - Maximum(3)",
1975
- zigbeeCommandOptions: { manufacturerCode },
1976
1195
  }),
1977
- m.numeric({
1978
- name: "smart_fan_speed",
1979
- cluster: "hvacFanCtrl",
1980
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1981
- valueMin: 0,
1196
+ onokomExtend.fanSpeed(),
1197
+ onokomExtend.smartFanSpeed({
1982
1198
  valueMax: 4,
1983
- valueStep: 1,
1984
1199
  description: "Smart fan speed: Auto (0), Low (1) ... Maximum (3)",
1985
- zigbeeCommandOptions: { manufacturerCode },
1986
1200
  }),
1987
- m.numeric({
1988
- name: "vanes_swing",
1989
- cluster: "hvacThermostat",
1990
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
1991
- valueMin: 0,
1201
+ onokomExtend.vanesSwing({
1992
1202
  valueMax: 2,
1993
1203
  valueStep: 2,
1994
1204
  description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
1995
- zigbeeCommandOptions: { manufacturerCode },
1996
1205
  }),
1997
- m.enumLookup({
1998
- name: "status_led",
1999
- cluster: "hvacThermostat",
2000
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2001
- lookup: {
2002
- normal_mode: 0,
2003
- disabled_if_no_errors: 1,
2004
- disabled_untill_reboot: 2,
2005
- always_disabled: 3,
2006
- green_untill_reboot: 8,
2007
- red_untill_reboot: 9,
2008
- },
2009
- description: "Status LED",
2010
- zigbeeCommandOptions: { manufacturerCode },
1206
+ onokomExtend.statusLed(),
1207
+ onokomExtend.ecoMode(),
1208
+ onokomExtend.indoorHeatExchangerTemperature(),
1209
+ onokomExtend.outdoorHeatExchangerTemperature(),
1210
+ ],
1211
+ configure: async (device, coordinatorEndpoint, logger) => {
1212
+ const endpoint = device.getEndpoint(1);
1213
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1214
+ await reporting.thermostatTemperature(endpoint);
1215
+ await reporting.onOff(endpoint);
1216
+ },
1217
+ },
1218
+ {
1219
+ zigbeeModel: ["OK-AC-H-MD-3-ZB-S-A"],
1220
+ model: "OK-AC-H-MD-3-ZB-S-A",
1221
+ vendor: "ONOKOM",
1222
+ description: "Adapter for semi-industrial MDV systems",
1223
+ ota: true,
1224
+ extend: [
1225
+ onokomExtend.onokomHvacThermostatCluster(),
1226
+ onokomExtend.onokomHvacFanCtrlCluster(),
1227
+ onokomExtend.acConnected(),
1228
+ m.onOff({
1229
+ powerOnBehavior: false,
1230
+ description: "On/off state",
2011
1231
  }),
2012
- m.binary({
2013
- name: "eco_mode",
2014
- cluster: "hvacThermostat",
2015
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2016
- valueOn: ["ON", 1],
2017
- valueOff: ["OFF", 0],
2018
- description: "Eco mode",
2019
- zigbeeCommandOptions: { manufacturerCode },
1232
+ onokomExtend.currentTemperature(),
1233
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 30, valueStep: 1 }),
1234
+ onokomExtend.systemMode(),
1235
+ onokomExtend.mode(),
1236
+ onokomExtend.zbFanSpeed(),
1237
+ onokomExtend.horizontalVanes({
1238
+ valueMax: 1,
1239
+ description: "Horizontal vanes: Stopped(0), Swing(1)",
2020
1240
  }),
2021
- m.numeric({
2022
- name: "indoor_heat_exchanger_temperature",
2023
- cluster: "hvacThermostat",
2024
- attribute: { ID: 0x4740, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2025
- access: "STATE",
2026
- valueMin: 0,
2027
- valueMax: 100,
2028
- valueStep: 1,
2029
- unit: "°C",
2030
- description: "Indoor heat exchanger temperature",
2031
- zigbeeCommandOptions: { manufacturerCode },
1241
+ onokomExtend.fanSpeed(),
1242
+ onokomExtend.smartFanSpeed({
1243
+ valueMax: 4,
1244
+ description: "Smart fan speed: Auto (0), Low (1) ... Maximum (3)",
2032
1245
  }),
2033
- m.numeric({
2034
- name: "outdoor_heat_exchanger_temperature",
2035
- cluster: "hvacThermostat",
2036
- attribute: { ID: 0x4741, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2037
- access: "STATE",
2038
- valueMin: 0,
2039
- valueMax: 100,
2040
- valueStep: 1,
2041
- unit: "°C",
2042
- description: "Outdoor heat exchanger temperature",
2043
- zigbeeCommandOptions: { manufacturerCode },
1246
+ onokomExtend.vanesSwing({
1247
+ valueMax: 2,
1248
+ valueStep: 2,
1249
+ description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
2044
1250
  }),
1251
+ onokomExtend.statusLed(),
1252
+ onokomExtend.ecoMode(),
1253
+ onokomExtend.indoorHeatExchangerTemperature(),
1254
+ onokomExtend.outdoorHeatExchangerTemperature(),
2045
1255
  ],
2046
- fromZigbee: [],
2047
1256
  configure: async (device, coordinatorEndpoint, logger) => {
2048
1257
  const endpoint = device.getEndpoint(1);
2049
1258
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -2055,159 +1264,81 @@ exports.definitions = [
2055
1264
  zigbeeModel: ["ME-1-ZB-S"],
2056
1265
  model: "ME-1-ZB-S",
2057
1266
  vendor: "ONOKOM",
2058
- description: "ONOKOM-AIR-ME-1-ZB-S (Adapter for household and semi-industrial Mitsubishi Electric systems)",
1267
+ description: "Adapter for household and semi-industrial Mitsubishi Electric systems",
2059
1268
  ota: true,
2060
1269
  extend: [
2061
- m.enumLookup({
2062
- name: "ac_connected",
2063
- cluster: "hvacThermostat",
2064
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2065
- lookup: {
2066
- disconnected: 0,
2067
- invalid_data_recieved: 1,
2068
- connected_with_issues: 2,
2069
- connected: 3,
2070
- },
2071
- description: "AC connected",
2072
- access: "STATE",
2073
- }),
1270
+ onokomExtend.onokomHvacThermostatCluster(),
1271
+ onokomExtend.onokomHvacFanCtrlCluster(),
1272
+ onokomExtend.acConnected(),
2074
1273
  m.onOff({
2075
1274
  powerOnBehavior: false,
2076
1275
  description: "On/off state",
2077
1276
  }),
2078
- m.numeric({
2079
- name: "current_temperature",
2080
- cluster: "hvacThermostat",
2081
- attribute: "localTemp",
2082
- scale: 100,
2083
- unit: "°C",
2084
- description: "Indoor air temperature",
2085
- access: "STATE",
2086
- }),
2087
- m.numeric({
2088
- name: "target_temperature",
2089
- cluster: "hvacThermostat",
2090
- attribute: "occupiedCoolingSetpoint",
2091
- valueMin: 16,
2092
- valueMax: 31,
2093
- valueStep: 0.5,
2094
- scale: 100,
2095
- unit: "°C",
2096
- description: "Target temperature",
2097
- }),
2098
- m.enumLookup({
2099
- name: "system_mode",
2100
- cluster: "hvacThermostat",
2101
- attribute: "systemMode",
2102
- lookup: {
2103
- off: 0,
2104
- auto: 1,
2105
- cool: 3,
2106
- heat: 4,
2107
- fan_only: 7,
2108
- dry: 8,
2109
- },
2110
- description: "Active mode",
2111
- }),
2112
- m.enumLookup({
2113
- name: "mode",
2114
- cluster: "hvacThermostat",
2115
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2116
- lookup: {
2117
- heat: 1,
2118
- cool: 2,
2119
- auto: 3,
2120
- dry: 4,
2121
- fan_only: 5,
2122
- },
2123
- description: "Mode",
2124
- zigbeeCommandOptions: { manufacturerCode },
2125
- }),
2126
- m.numeric({
2127
- name: "zb_fan_speed",
2128
- cluster: "hvacFanCtrl",
2129
- attribute: "fanMode",
2130
- valueMin: 1,
2131
- valueMax: 5,
2132
- valueStep: 1,
2133
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
2134
- }),
2135
- m.numeric({
2136
- name: "vertical_vanes",
2137
- cluster: "hvacThermostat",
2138
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2139
- valueMin: 0,
1277
+ onokomExtend.currentTemperature(),
1278
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 31, valueStep: 0.5 }),
1279
+ onokomExtend.systemMode(),
1280
+ onokomExtend.mode(),
1281
+ onokomExtend.zbFanSpeed(),
1282
+ onokomExtend.verticalVanes({
2140
1283
  valueMax: 6,
2141
- valueStep: 1,
2142
1284
  description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
2143
- zigbeeCommandOptions: { manufacturerCode },
2144
- }),
2145
- m.numeric({
2146
- name: "horizontal_vanes",
2147
- cluster: "hvacThermostat",
2148
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2149
- valueMin: 0,
2150
- valueMax: 6,
2151
- valueStep: 1,
2152
- description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
2153
- zigbeeCommandOptions: { manufacturerCode },
2154
1285
  }),
2155
- m.numeric({
2156
- name: "fan_speed",
2157
- cluster: "hvacFanCtrl",
2158
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2159
- valueMin: 0,
1286
+ onokomExtend.horizontalVanes(),
1287
+ onokomExtend.fanSpeed({
2160
1288
  valueMax: 4,
2161
- valueStep: 1,
2162
1289
  description: "Fan speed: Auto(0), First(1) - Maximum(4)",
2163
- zigbeeCommandOptions: { manufacturerCode },
2164
1290
  }),
2165
- m.numeric({
2166
- name: "smart_fan_speed",
2167
- cluster: "hvacFanCtrl",
2168
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2169
- valueMin: 0,
1291
+ onokomExtend.smartFanSpeed({
2170
1292
  valueMax: 5,
2171
- valueStep: 1,
2172
1293
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4)",
2173
- zigbeeCommandOptions: { manufacturerCode },
2174
1294
  }),
2175
- m.numeric({
2176
- name: "vanes_swing",
2177
- cluster: "hvacThermostat",
2178
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2179
- valueMin: 0,
2180
- valueMax: 3,
2181
- valueStep: 1,
2182
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
2183
- zigbeeCommandOptions: { manufacturerCode },
1295
+ onokomExtend.vanesSwing(),
1296
+ onokomExtend.statusLed(),
1297
+ onokomExtend.quietMode(),
1298
+ ],
1299
+ configure: async (device, coordinatorEndpoint, logger) => {
1300
+ const endpoint = device.getEndpoint(1);
1301
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1302
+ await reporting.thermostatTemperature(endpoint);
1303
+ await reporting.onOff(endpoint);
1304
+ },
1305
+ },
1306
+ {
1307
+ zigbeeModel: ["OK-AC-H-ME-1-ZB-S-A"],
1308
+ model: "OK-AC-H-ME-1-ZB-S-A",
1309
+ vendor: "ONOKOM",
1310
+ description: "Adapter for household and semi-industrial Mitsubishi Electric systems",
1311
+ ota: true,
1312
+ extend: [
1313
+ onokomExtend.onokomHvacThermostatCluster(),
1314
+ onokomExtend.onokomHvacFanCtrlCluster(),
1315
+ onokomExtend.acConnected(),
1316
+ m.onOff({
1317
+ powerOnBehavior: false,
1318
+ description: "On/off state",
2184
1319
  }),
2185
- m.enumLookup({
2186
- name: "status_led",
2187
- cluster: "hvacThermostat",
2188
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2189
- lookup: {
2190
- normal_mode: 0,
2191
- disabled_if_no_errors: 1,
2192
- disabled_untill_reboot: 2,
2193
- always_disabled: 3,
2194
- green_untill_reboot: 8,
2195
- red_untill_reboot: 9,
2196
- },
2197
- description: "Status LED",
2198
- zigbeeCommandOptions: { manufacturerCode },
1320
+ onokomExtend.currentTemperature(),
1321
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 31, valueStep: 0.5 }),
1322
+ onokomExtend.systemMode(),
1323
+ onokomExtend.mode(),
1324
+ onokomExtend.zbFanSpeed(),
1325
+ onokomExtend.verticalVanes({
1326
+ valueMax: 6,
1327
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
2199
1328
  }),
2200
- m.binary({
2201
- name: "quiet_mode",
2202
- cluster: "hvacFanCtrl",
2203
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2204
- valueOn: ["ON", 1],
2205
- valueOff: ["OFF", 0],
2206
- description: "Quiet mode",
2207
- zigbeeCommandOptions: { manufacturerCode },
1329
+ onokomExtend.horizontalVanes(),
1330
+ onokomExtend.fanSpeed({
1331
+ valueMax: 4,
1332
+ description: "Fan speed: Auto(0), First(1) - Maximum(4)",
1333
+ }),
1334
+ onokomExtend.smartFanSpeed({
1335
+ valueMax: 5,
1336
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (4)",
2208
1337
  }),
1338
+ onokomExtend.vanesSwing(),
1339
+ onokomExtend.statusLed(),
1340
+ onokomExtend.quietMode(),
2209
1341
  ],
2210
- fromZigbee: [],
2211
1342
  configure: async (device, coordinatorEndpoint, logger) => {
2212
1343
  const endpoint = device.getEndpoint(1);
2213
1344
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -2219,279 +1350,107 @@ exports.definitions = [
2219
1350
  zigbeeModel: ["TCL-1-ZB-S"],
2220
1351
  model: "TCL-1-ZB-S",
2221
1352
  vendor: "ONOKOM",
2222
- description: "ONOKOM-AIR-TCL-1-ZB-S (Adapter for household TCL systems )",
1353
+ description: "Adapter for household TCL systems ",
2223
1354
  ota: true,
2224
1355
  extend: [
2225
- m.enumLookup({
2226
- name: "ac_connected",
2227
- cluster: "hvacThermostat",
2228
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2229
- lookup: {
2230
- disconnected: 0,
2231
- invalid_data_recieved: 1,
2232
- connected_with_issues: 2,
2233
- connected: 3,
2234
- },
2235
- description: "AC connected",
2236
- access: "STATE",
2237
- }),
1356
+ onokomExtend.onokomHvacThermostatCluster(),
1357
+ onokomExtend.onokomHvacFanCtrlCluster(),
1358
+ onokomExtend.acConnected(),
2238
1359
  m.onOff({
2239
1360
  powerOnBehavior: false,
2240
1361
  description: "On/off state",
2241
1362
  }),
2242
- m.numeric({
2243
- name: "current_temperature",
2244
- cluster: "hvacThermostat",
2245
- attribute: "localTemp",
2246
- scale: 100,
2247
- unit: "°C",
2248
- description: "Indoor air temperature",
2249
- access: "STATE",
2250
- }),
2251
- m.numeric({
2252
- name: "target_temperature",
2253
- cluster: "hvacThermostat",
2254
- attribute: "occupiedCoolingSetpoint",
2255
- valueMin: 16,
2256
- valueMax: 31,
2257
- valueStep: 1,
2258
- scale: 100,
2259
- unit: "°C",
2260
- description: "Target temperature",
2261
- }),
2262
- m.enumLookup({
2263
- name: "system_mode",
2264
- cluster: "hvacThermostat",
2265
- attribute: "systemMode",
2266
- lookup: {
2267
- off: 0,
2268
- auto: 1,
2269
- cool: 3,
2270
- heat: 4,
2271
- fan_only: 7,
2272
- dry: 8,
2273
- },
2274
- description: "Active mode",
2275
- }),
2276
- m.enumLookup({
2277
- name: "mode",
2278
- cluster: "hvacThermostat",
2279
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2280
- lookup: {
2281
- heat: 1,
2282
- cool: 2,
2283
- auto: 3,
2284
- dry: 4,
2285
- fan_only: 5,
2286
- },
2287
- description: "Mode",
2288
- zigbeeCommandOptions: { manufacturerCode },
2289
- }),
2290
- m.numeric({
2291
- name: "outdoor_air_temperature",
2292
- cluster: "hvacThermostat",
2293
- attribute: "outdoorTemp",
2294
- scale: 100,
2295
- unit: "°C",
2296
- description: "Outdoor air temperature",
2297
- access: "STATE",
2298
- }),
2299
- m.numeric({
2300
- name: "zb_fan_speed",
2301
- cluster: "hvacFanCtrl",
2302
- attribute: "fanMode",
2303
- valueMin: 1,
2304
- valueMax: 5,
2305
- valueStep: 1,
2306
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
2307
- }),
2308
- m.numeric({
2309
- name: "vertical_vanes",
2310
- cluster: "hvacThermostat",
2311
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2312
- valueMin: 0,
1363
+ onokomExtend.currentTemperature(),
1364
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 31, valueStep: 1 }),
1365
+ onokomExtend.systemMode(),
1366
+ onokomExtend.mode(),
1367
+ onokomExtend.outdoorAirTemperature(),
1368
+ onokomExtend.zbFanSpeed(),
1369
+ onokomExtend.verticalVanes({
2313
1370
  valueMax: 7,
2314
- valueStep: 1,
2315
1371
  description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
2316
- zigbeeCommandOptions: { manufacturerCode },
2317
- }),
2318
- m.numeric({
2319
- name: "horizontal_vanes",
2320
- cluster: "hvacThermostat",
2321
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2322
- valueMin: 0,
2323
- valueMax: 6,
2324
- valueStep: 1,
2325
- description: "Horizontal vanes: Stopped(0), Swing(1), Lowest postion(2), Highest position(6)",
2326
- zigbeeCommandOptions: { manufacturerCode },
2327
1372
  }),
2328
- m.numeric({
2329
- name: "fan_speed",
2330
- cluster: "hvacFanCtrl",
2331
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2332
- valueMin: 0,
1373
+ onokomExtend.horizontalVanes(),
1374
+ onokomExtend.fanSpeed({
2333
1375
  valueMax: 5,
2334
- valueStep: 1,
2335
1376
  description: "Fan speed: Auto(0), First(1) - Maximum(5)",
2336
- zigbeeCommandOptions: { manufacturerCode },
2337
1377
  }),
2338
- m.numeric({
2339
- name: "smart_fan_speed",
2340
- cluster: "hvacFanCtrl",
2341
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2342
- valueMin: 0,
1378
+ onokomExtend.smartFanSpeed({
2343
1379
  valueMax: 7,
2344
- valueStep: 1,
2345
1380
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
2346
- zigbeeCommandOptions: { manufacturerCode },
2347
- }),
2348
- m.numeric({
2349
- name: "vanes_swing",
2350
- cluster: "hvacThermostat",
2351
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2352
- valueMin: 0,
2353
- valueMax: 3,
2354
- valueStep: 1,
2355
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
2356
- zigbeeCommandOptions: { manufacturerCode },
2357
- }),
2358
- m.enumLookup({
2359
- name: "status_led",
2360
- cluster: "hvacThermostat",
2361
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2362
- lookup: {
2363
- normal_mode: 0,
2364
- disabled_if_no_errors: 1,
2365
- disabled_untill_reboot: 2,
2366
- always_disabled: 3,
2367
- green_untill_reboot: 8,
2368
- red_untill_reboot: 9,
2369
- },
2370
- description: "Status LED",
2371
- zigbeeCommandOptions: { manufacturerCode },
2372
- }),
2373
- m.binary({
2374
- name: "quiet_mode",
2375
- cluster: "hvacFanCtrl",
2376
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2377
- valueOn: ["ON", 1],
2378
- valueOff: ["OFF", 0],
2379
- description: "Quiet mode",
2380
- zigbeeCommandOptions: { manufacturerCode },
2381
- }),
2382
- m.binary({
2383
- name: "eco_mode",
2384
- cluster: "hvacThermostat",
2385
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2386
- valueOn: ["ON", 1],
2387
- valueOff: ["OFF", 0],
2388
- description: "Eco mode",
2389
- zigbeeCommandOptions: { manufacturerCode },
2390
- }),
2391
- m.binary({
2392
- name: "turbo_mode",
2393
- cluster: "hvacFanCtrl",
2394
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2395
- valueOn: ["ON", 1],
2396
- valueOff: ["OFF", 0],
2397
- description: "Turbo mode",
2398
- zigbeeCommandOptions: { manufacturerCode },
2399
- }),
2400
- m.binary({
2401
- name: "sleep_mode",
2402
- cluster: "hvacThermostat",
2403
- attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2404
- valueOn: ["ON", 1],
2405
- valueOff: ["OFF", 0],
2406
- description: "Sleep mode",
2407
- zigbeeCommandOptions: { manufacturerCode },
2408
- }),
2409
- m.binary({
2410
- name: "ionization",
2411
- cluster: "hvacThermostat",
2412
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2413
- valueOn: ["ON", 1],
2414
- valueOff: ["OFF", 0],
2415
- description: "Ionization",
2416
- zigbeeCommandOptions: { manufacturerCode },
2417
- }),
2418
- m.binary({
2419
- name: "self_cleaning",
2420
- cluster: "hvacThermostat",
2421
- attribute: { ID: 0x4721, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2422
- valueOn: ["ON", 1],
2423
- valueOff: ["OFF", 0],
2424
- description: "Self cleaning",
2425
- zigbeeCommandOptions: { manufacturerCode },
2426
1381
  }),
2427
- m.binary({
2428
- name: "mold_protection",
2429
- cluster: "hvacThermostat",
2430
- attribute: { ID: 0x4722, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2431
- valueOn: ["ON", 1],
2432
- valueOff: ["OFF", 0],
2433
- description: "Mold protection",
2434
- zigbeeCommandOptions: { manufacturerCode },
2435
- }),
2436
- m.binary({
2437
- name: "heating_8_deg",
2438
- cluster: "hvacThermostat",
2439
- attribute: { ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2440
- valueOn: ["ON", 1],
2441
- valueOff: ["OFF", 0],
2442
- description: "Heating 8 deg",
2443
- zigbeeCommandOptions: { manufacturerCode },
2444
- }),
2445
- m.binary({
2446
- name: "gentle_wind",
2447
- cluster: "hvacThermostat",
2448
- attribute: { ID: 0x4725, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2449
- valueOn: ["ON", 1],
2450
- valueOff: ["OFF", 0],
2451
- description: "Gentle wind",
2452
- zigbeeCommandOptions: { manufacturerCode },
2453
- }),
2454
- m.binary({
2455
- name: "screen_light",
2456
- cluster: "hvacThermostat",
2457
- attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2458
- valueOn: ["ON", 1],
2459
- valueOff: ["OFF", 0],
2460
- description: "Screen light",
2461
- zigbeeCommandOptions: { manufacturerCode },
1382
+ onokomExtend.vanesSwing(),
1383
+ onokomExtend.statusLed(),
1384
+ onokomExtend.quietMode(),
1385
+ onokomExtend.ecoMode(),
1386
+ onokomExtend.turboMode(),
1387
+ onokomExtend.sleepMode(),
1388
+ onokomExtend.ionization(),
1389
+ onokomExtend.selfCleaning(),
1390
+ onokomExtend.moldProtection(),
1391
+ onokomExtend.heating8Deg(),
1392
+ onokomExtend.gentleWind(),
1393
+ onokomExtend.screenLight(),
1394
+ onokomExtend.beeper(),
1395
+ onokomExtend.currentFanRpm({ valueMax: 200 }),
1396
+ onokomExtend.compressorPowerLimit(),
1397
+ ],
1398
+ configure: async (device, coordinatorEndpoint, logger) => {
1399
+ const endpoint = device.getEndpoint(1);
1400
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1401
+ await reporting.thermostatTemperature(endpoint);
1402
+ await reporting.onOff(endpoint);
1403
+ },
1404
+ },
1405
+ {
1406
+ zigbeeModel: ["OK-AC-H-TCL-1-ZB-S-A"],
1407
+ model: "OK-AC-H-TCL-1-ZB-S-A",
1408
+ vendor: "ONOKOM",
1409
+ description: "Adapter for household TCL systems ",
1410
+ ota: true,
1411
+ extend: [
1412
+ onokomExtend.onokomHvacThermostatCluster(),
1413
+ onokomExtend.onokomHvacFanCtrlCluster(),
1414
+ onokomExtend.acConnected(),
1415
+ m.onOff({
1416
+ powerOnBehavior: false,
1417
+ description: "On/off state",
2462
1418
  }),
2463
- m.binary({
2464
- name: "beeper",
2465
- cluster: "hvacThermostat",
2466
- attribute: { ID: 0x4730, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2467
- valueOn: ["ON", 1],
2468
- valueOff: ["OFF", 0],
2469
- description: "Beeper",
2470
- zigbeeCommandOptions: { manufacturerCode },
1419
+ onokomExtend.currentTemperature(),
1420
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 31, valueStep: 1 }),
1421
+ onokomExtend.systemMode(),
1422
+ onokomExtend.mode(),
1423
+ onokomExtend.outdoorAirTemperature(),
1424
+ onokomExtend.zbFanSpeed(),
1425
+ onokomExtend.verticalVanes({
1426
+ valueMax: 7,
1427
+ description: "Vertical vanes: Stopped(0), Swing(1), Leftmost position(2), Rightmost position(6)",
2471
1428
  }),
2472
- m.numeric({
2473
- name: "current_fan_rpm",
2474
- cluster: "hvacFanCtrl",
2475
- attribute: { ID: 0x4724, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2476
- access: "STATE",
2477
- valueMin: 0,
2478
- valueMax: 200,
2479
- valueStep: 1,
2480
- description: "Current fan speed",
2481
- zigbeeCommandOptions: { manufacturerCode },
1429
+ onokomExtend.horizontalVanes(),
1430
+ onokomExtend.fanSpeed({
1431
+ valueMax: 5,
1432
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
2482
1433
  }),
2483
- m.numeric({
2484
- name: "compressor_power_limit",
2485
- cluster: "hvacFanCtrl",
2486
- attribute: { ID: 0x4720, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2487
- valueMin: 0,
2488
- valueMax: 100,
2489
- valueStep: 1,
2490
- description: "Compressor power limit",
2491
- zigbeeCommandOptions: { manufacturerCode },
1434
+ onokomExtend.smartFanSpeed({
1435
+ valueMax: 7,
1436
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
2492
1437
  }),
1438
+ onokomExtend.vanesSwing(),
1439
+ onokomExtend.statusLed(),
1440
+ onokomExtend.quietMode(),
1441
+ onokomExtend.ecoMode(),
1442
+ onokomExtend.turboMode(),
1443
+ onokomExtend.sleepMode(),
1444
+ onokomExtend.ionization(),
1445
+ onokomExtend.selfCleaning(),
1446
+ onokomExtend.moldProtection(),
1447
+ onokomExtend.heating8Deg(),
1448
+ onokomExtend.gentleWind(),
1449
+ onokomExtend.screenLight(),
1450
+ onokomExtend.beeper(),
1451
+ onokomExtend.currentFanRpm({ valueMax: 200 }),
1452
+ onokomExtend.compressorPowerLimit(),
2493
1453
  ],
2494
- fromZigbee: [],
2495
1454
  configure: async (device, coordinatorEndpoint, logger) => {
2496
1455
  const endpoint = device.getEndpoint(1);
2497
1456
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
@@ -2503,207 +1462,91 @@ exports.definitions = [
2503
1462
  zigbeeModel: ["TCL-3-ZB-S"],
2504
1463
  model: "TCL-3-ZB-S",
2505
1464
  vendor: "ONOKOM",
2506
- description: "AIR TCL-3-ZB-S (Adapter for semi industrial TCL systems)",
1465
+ description: "Adapter for semi industrial TCL systems",
2507
1466
  ota: true,
2508
1467
  extend: [
2509
- m.enumLookup({
2510
- name: "ac_connected",
2511
- cluster: "hvacThermostat",
2512
- attribute: { ID: 0x4734, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2513
- lookup: {
2514
- disconnected: 0,
2515
- invalid_data_recieved: 1,
2516
- connected_with_issues: 2,
2517
- connected: 3,
2518
- },
2519
- description: "AC connected",
2520
- access: "STATE",
2521
- }),
1468
+ onokomExtend.onokomHvacThermostatCluster(),
1469
+ onokomExtend.onokomHvacFanCtrlCluster(),
1470
+ onokomExtend.acConnected(),
2522
1471
  m.onOff({
2523
1472
  powerOnBehavior: false,
2524
1473
  description: "On/off state",
2525
1474
  }),
2526
- m.numeric({
2527
- name: "current_temperature",
2528
- cluster: "hvacThermostat",
2529
- attribute: "localTemp",
2530
- scale: 100,
2531
- unit: "°C",
2532
- description: "Indoor air temperature",
2533
- access: "STATE",
2534
- }),
2535
- m.numeric({
2536
- name: "target_temperature",
2537
- cluster: "hvacThermostat",
2538
- attribute: "occupiedCoolingSetpoint",
2539
- valueMin: 16,
2540
- valueMax: 31,
2541
- valueStep: 0.5,
2542
- scale: 100,
2543
- unit: "°C",
2544
- description: "Target temperature",
2545
- }),
2546
- m.enumLookup({
2547
- name: "system_mode",
2548
- cluster: "hvacThermostat",
2549
- attribute: "systemMode",
2550
- lookup: {
2551
- off: 0,
2552
- auto: 1,
2553
- cool: 3,
2554
- heat: 4,
2555
- fan_only: 7,
2556
- dry: 8,
2557
- },
2558
- description: "Active mode",
2559
- }),
2560
- m.enumLookup({
2561
- name: "mode",
2562
- cluster: "hvacThermostat",
2563
- attribute: { ID: 0x4703, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2564
- lookup: {
2565
- heat: 1,
2566
- cool: 2,
2567
- auto: 3,
2568
- dry: 4,
2569
- fan_only: 5,
2570
- },
2571
- description: "Mode",
2572
- zigbeeCommandOptions: { manufacturerCode },
2573
- }),
2574
- m.numeric({
2575
- name: "zb_fan_speed",
2576
- cluster: "hvacFanCtrl",
2577
- attribute: "fanMode",
2578
- valueMin: 1,
2579
- valueMax: 5,
2580
- valueStep: 1,
2581
- description: "Fan speed modes: Auto(5), Low(1), Medium(2), Maximum(3)",
2582
- }),
2583
- m.numeric({
2584
- name: "vertical_vanes",
2585
- cluster: "hvacThermostat",
2586
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2587
- valueMin: 0,
1475
+ onokomExtend.currentTemperature(),
1476
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 31, valueStep: 0.5 }),
1477
+ onokomExtend.systemMode(),
1478
+ onokomExtend.mode(),
1479
+ onokomExtend.zbFanSpeed(),
1480
+ onokomExtend.verticalVanes(),
1481
+ onokomExtend.horizontalVanes({
2588
1482
  valueMax: 1,
2589
- valueStep: 1,
2590
- description: "Vertical vanes: Stopped(0), Swing(1)",
2591
- zigbeeCommandOptions: { manufacturerCode },
2592
- }),
2593
- m.numeric({
2594
- name: "horizontal_vanes",
2595
- cluster: "hvacThermostat",
2596
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2597
- valueMin: 0,
2598
- valueMax: 1,
2599
- valueStep: 1,
2600
1483
  description: "Horizontal vanes: Stopped(0), Swing(1)",
2601
- zigbeeCommandOptions: { manufacturerCode },
2602
1484
  }),
2603
- m.numeric({
2604
- name: "fan_speed",
2605
- cluster: "hvacFanCtrl",
2606
- attribute: { ID: 0x4700, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2607
- valueMin: 0,
1485
+ onokomExtend.fanSpeed({
2608
1486
  valueMax: 5,
2609
- valueStep: 1,
2610
1487
  description: "Fan speed: Auto(0), First(1) - Maximum(5)",
2611
- zigbeeCommandOptions: { manufacturerCode },
2612
1488
  }),
2613
- m.numeric({
2614
- name: "smart_fan_speed",
2615
- cluster: "hvacFanCtrl",
2616
- attribute: { ID: 0x4701, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2617
- valueMin: 0,
1489
+ onokomExtend.smartFanSpeed({
2618
1490
  valueMax: 7,
2619
- valueStep: 1,
2620
1491
  description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
2621
- zigbeeCommandOptions: { manufacturerCode },
2622
1492
  }),
2623
- m.numeric({
2624
- name: "vanes_swing",
2625
- cluster: "hvacThermostat",
2626
- attribute: { ID: 0x4702, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2627
- valueMin: 0,
2628
- valueMax: 3,
2629
- valueStep: 1,
2630
- description: "Vanes swing: Stopped(0), Horizontal and vertical swing(1), Horizontal swing(2), Vertical swing(3)",
2631
- zigbeeCommandOptions: { manufacturerCode },
2632
- }),
2633
- m.enumLookup({
2634
- name: "status_led",
2635
- cluster: "hvacThermostat",
2636
- attribute: { ID: 0x4704, type: zigbee_herdsman_1.Zcl.DataType.ENUM8 },
2637
- lookup: {
2638
- normal_mode: 0,
2639
- disabled_if_no_errors: 1,
2640
- disabled_untill_reboot: 2,
2641
- always_disabled: 3,
2642
- green_untill_reboot: 8,
2643
- red_untill_reboot: 9,
2644
- },
2645
- description: "Status LED",
2646
- zigbeeCommandOptions: { manufacturerCode },
2647
- }),
2648
- m.binary({
2649
- name: "quiet_mode",
2650
- cluster: "hvacFanCtrl",
2651
- attribute: { ID: 0x4710, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2652
- valueOn: ["ON", 1],
2653
- valueOff: ["OFF", 0],
2654
- description: "Quiet mode",
2655
- zigbeeCommandOptions: { manufacturerCode },
2656
- }),
2657
- m.binary({
2658
- name: "eco_mode",
2659
- cluster: "hvacThermostat",
2660
- attribute: { ID: 0x4727, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2661
- valueOn: ["ON", 1],
2662
- valueOff: ["OFF", 0],
2663
- description: "Eco mode",
2664
- zigbeeCommandOptions: { manufacturerCode },
2665
- }),
2666
- m.binary({
2667
- name: "turbo_mode",
2668
- cluster: "hvacFanCtrl",
2669
- attribute: { ID: 0x4711, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2670
- valueOn: ["ON", 1],
2671
- valueOff: ["OFF", 0],
2672
- description: "Turbo mode",
2673
- zigbeeCommandOptions: { manufacturerCode },
1493
+ onokomExtend.vanesSwing(),
1494
+ onokomExtend.statusLed(),
1495
+ onokomExtend.quietMode(),
1496
+ onokomExtend.ecoMode(),
1497
+ onokomExtend.turboMode(),
1498
+ onokomExtend.sleepMode(),
1499
+ onokomExtend.screenLight(),
1500
+ onokomExtend.indoorHeatExchangerTemperature(),
1501
+ ],
1502
+ configure: async (device, coordinatorEndpoint, logger) => {
1503
+ const endpoint = device.getEndpoint(1);
1504
+ await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);
1505
+ await reporting.thermostatTemperature(endpoint);
1506
+ await reporting.onOff(endpoint);
1507
+ },
1508
+ },
1509
+ {
1510
+ zigbeeModel: ["OK-AC-H-TCL-3-ZB-S-A"],
1511
+ model: "OK-AC-H-TCL-3-ZB-S-A",
1512
+ vendor: "ONOKOM",
1513
+ description: "Adapter for semi industrial TCL systems",
1514
+ ota: true,
1515
+ extend: [
1516
+ onokomExtend.onokomHvacThermostatCluster(),
1517
+ onokomExtend.onokomHvacFanCtrlCluster(),
1518
+ onokomExtend.acConnected(),
1519
+ m.onOff({
1520
+ powerOnBehavior: false,
1521
+ description: "On/off state",
2674
1522
  }),
2675
- m.binary({
2676
- name: "sleep_mode",
2677
- cluster: "hvacThermostat",
2678
- attribute: { ID: 0x4728, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2679
- valueOn: ["ON", 1],
2680
- valueOff: ["OFF", 0],
2681
- description: "Sleep mode",
2682
- zigbeeCommandOptions: { manufacturerCode },
1523
+ onokomExtend.currentTemperature(),
1524
+ onokomExtend.targetTemperature({ valueMin: 16, valueMax: 31, valueStep: 0.5 }),
1525
+ onokomExtend.systemMode(),
1526
+ onokomExtend.mode(),
1527
+ onokomExtend.zbFanSpeed(),
1528
+ onokomExtend.verticalVanes(),
1529
+ onokomExtend.horizontalVanes({
1530
+ valueMax: 1,
1531
+ description: "Horizontal vanes: Stopped(0), Swing(1)",
2683
1532
  }),
2684
- m.binary({
2685
- name: "screen_light",
2686
- cluster: "hvacThermostat",
2687
- attribute: { ID: 0x4731, type: zigbee_herdsman_1.Zcl.DataType.BOOLEAN },
2688
- valueOn: ["ON", 1],
2689
- valueOff: ["OFF", 0],
2690
- description: "Screen light",
2691
- zigbeeCommandOptions: { manufacturerCode },
1533
+ onokomExtend.fanSpeed({
1534
+ valueMax: 5,
1535
+ description: "Fan speed: Auto(0), First(1) - Maximum(5)",
2692
1536
  }),
2693
- m.numeric({
2694
- name: "indoor_heat_exchanger_temperature",
2695
- cluster: "hvacThermostat",
2696
- attribute: { ID: 0x4740, type: zigbee_herdsman_1.Zcl.DataType.UINT16 },
2697
- access: "STATE",
2698
- valueMin: 0,
2699
- valueMax: 100,
2700
- valueStep: 1,
2701
- unit: "°C",
2702
- description: "Indoor heat exchanger temperature",
2703
- zigbeeCommandOptions: { manufacturerCode },
1537
+ onokomExtend.smartFanSpeed({
1538
+ valueMax: 7,
1539
+ description: "Smart fan speed: Auto (0), Quiet mode (1), First (2) ... Maximum (6), Turbo(7)",
2704
1540
  }),
1541
+ onokomExtend.vanesSwing(),
1542
+ onokomExtend.statusLed(),
1543
+ onokomExtend.quietMode(),
1544
+ onokomExtend.ecoMode(),
1545
+ onokomExtend.turboMode(),
1546
+ onokomExtend.sleepMode(),
1547
+ onokomExtend.screenLight(),
1548
+ onokomExtend.indoorHeatExchangerTemperature(),
2705
1549
  ],
2706
- fromZigbee: [],
2707
1550
  configure: async (device, coordinatorEndpoint, logger) => {
2708
1551
  const endpoint = device.getEndpoint(1);
2709
1552
  await reporting.bind(endpoint, coordinatorEndpoint, ["hvacThermostat", "hvacFanCtrl", "genOnOff"]);