@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
@@ -33,15 +33,55 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.definitions = void 0;
36
+ exports.definitions = exports.fzLocal = void 0;
37
37
  const zigbee_herdsman_1 = require("@willieee802/zigbee-herdsman");
38
38
  const fz = __importStar(require("../converters/fromZigbee"));
39
39
  const tz = __importStar(require("../converters/toZigbee"));
40
40
  const exposes = __importStar(require("../lib/exposes"));
41
41
  const m = __importStar(require("../lib/modernExtend"));
42
42
  const reporting = __importStar(require("../lib/reporting"));
43
+ const utils = __importStar(require("../lib/utils"));
43
44
  const e = exposes.presets;
44
- const fzLocal = {
45
+ function conditionalPressure() {
46
+ const base = m.pressure();
47
+ // Check whether any endpoint on the device has the msPressureMeasurement input cluster
48
+ function deviceHasPressureCluster(device) {
49
+ if (utils.isDummyDevice(device))
50
+ return true; // docs generation: show it
51
+ return device.endpoints?.some((ep) => ep.supportsInputCluster("msPressureMeasurement"));
52
+ }
53
+ const exposeFn = (device, options) => {
54
+ if (deviceHasPressureCluster(device)) {
55
+ // Resolve the original exposes from m.pressure()
56
+ const result = [];
57
+ for (const item of base.exposes ?? []) {
58
+ if (typeof item === "function") {
59
+ result.push(...item(device, options));
60
+ }
61
+ else {
62
+ result.push(item);
63
+ }
64
+ }
65
+ return result;
66
+ }
67
+ return [];
68
+ };
69
+ return {
70
+ ...base,
71
+ // Replace static exposes with a dynamic function that checks the cluster
72
+ exposes: [exposeFn],
73
+ // Wrap each configure so it only runs when the cluster is present
74
+ configure: (base.configure ?? []).map((configureFn) => {
75
+ return async (device, coordinatorEndpoint, definition) => {
76
+ if (deviceHasPressureCluster(device)) {
77
+ await configureFn(device, coordinatorEndpoint, definition);
78
+ }
79
+ };
80
+ }),
81
+ isModernExtend: true,
82
+ };
83
+ }
84
+ exports.fzLocal = {
45
85
  thirdreality_acceleration: {
46
86
  cluster: "3rVirationSpecialcluster",
47
87
  type: ["attributeReport", "readResponse"],
@@ -64,6 +104,16 @@ const fzLocal = {
64
104
  return { occupancy: (zoneStatus & 1) > 0 };
65
105
  },
66
106
  },
107
+ itcmdr_clicks: {
108
+ cluster: "genMultistateInput",
109
+ type: ["readResponse", "attributeReport"],
110
+ convert: (model, msg, publish, options, meta) => {
111
+ const lookup = { 0: "hold", 1: "single", 2: "double", 3: "triple", 4: "quadruple", 255: "release" };
112
+ const clicks = msg.data.presentValue;
113
+ const action = lookup[clicks] ? lookup[clicks] : "many";
114
+ return { action };
115
+ },
116
+ },
67
117
  };
68
118
  exports.definitions = [
69
119
  {
@@ -83,11 +133,12 @@ exports.definitions = [
83
133
  },
84
134
  extend: [
85
135
  m.deviceAddCustomCluster("3rSwitchGen3SpecialCluster", {
136
+ name: "3rSwitchGen3SpecialCluster",
86
137
  ID: 0xff02,
87
138
  manufacturerCode: 0x1233,
88
139
  attributes: {
89
- onToOffDelay: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
90
- offToOnDelay: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
140
+ onToOffDelay: { name: "onToOffDelay", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
141
+ offToOnDelay: { name: "offToOnDelay", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
91
142
  },
92
143
  commands: {},
93
144
  commandsResponse: {},
@@ -134,11 +185,12 @@ exports.definitions = [
134
185
  ota: true,
135
186
  extend: [
136
187
  m.deviceAddCustomCluster("3rWaterSensorcluster", {
188
+ name: "3rWaterSensorcluster",
137
189
  ID: 0xff01,
138
190
  manufacturerCode: 0x1233,
139
191
  attributes: {
140
- sirenOnOff: { ID: 0x0010, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
141
- sirenMinutes: { ID: 0x0011, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
192
+ sirenOnOff: { name: "sirenOnOff", ID: 0x0010, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
193
+ sirenMinutes: { name: "sirenMinutes", ID: 0x0011, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
142
194
  },
143
195
  commands: {},
144
196
  commandsResponse: {},
@@ -196,10 +248,11 @@ exports.definitions = [
196
248
  },
197
249
  extend: [
198
250
  m.deviceAddCustomCluster("3rMotionSpecialCluster", {
251
+ name: "3rMotionSpecialCluster",
199
252
  ID: 0xff01,
200
253
  manufacturerCode: 0x1233,
201
254
  attributes: {
202
- coolDownTime: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
255
+ coolDownTime: { name: "coolDownTime", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
203
256
  },
204
257
  commands: {},
205
258
  commandsResponse: {},
@@ -217,16 +270,52 @@ exports.definitions = [
217
270
  m.iasZoneAlarm({ zoneType: "occupancy", zoneAttributes: ["alarm_1", "battery_low"] }),
218
271
  m.battery({ voltage: true, percentageReporting: false }),
219
272
  m.deviceAddCustomCluster("3rRadarSpecialCluster", {
273
+ name: "3rRadarSpecialCluster",
220
274
  ID: 0xff01,
221
275
  manufacturerCode: 0x1407,
222
276
  attributes: {
223
- coolDownTime: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
277
+ coolDownTime: { name: "coolDownTime", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
224
278
  },
225
279
  commands: {},
226
280
  commandsResponse: {},
227
281
  }),
228
282
  ],
229
283
  },
284
+ {
285
+ zigbeeModel: ["3RAQ1096Z"],
286
+ model: "3RAQ1096Z",
287
+ vendor: "Third Reality",
288
+ description: "Smart air quality sensor",
289
+ ota: true,
290
+ extend: [
291
+ m.temperature(),
292
+ m.humidity(),
293
+ m.co2(),
294
+ m.deviceAddCustomCluster("3rAirQualitySensorCluster", {
295
+ name: "3rAirQualitySensorCluster",
296
+ ID: 0x042e,
297
+ manufacturerCode: 0x1407,
298
+ attributes: {
299
+ vocIndex: {
300
+ name: "vocIndex",
301
+ ID: 0x0100,
302
+ type: zigbee_herdsman_1.Zcl.DataType.UINT32,
303
+ max: 0xffffffff,
304
+ },
305
+ },
306
+ commands: {},
307
+ commandsResponse: {},
308
+ }),
309
+ m.numeric({
310
+ name: "voc_index",
311
+ cluster: "3rAirQualitySensorCluster",
312
+ attribute: "vocIndex",
313
+ unit: "VOC Index points",
314
+ description: "Measured VOC Index",
315
+ access: "STATE_GET",
316
+ }),
317
+ ],
318
+ },
230
319
  {
231
320
  zigbeeModel: ["3RPL01084Z"],
232
321
  model: "3RPL01084Z",
@@ -237,24 +326,125 @@ exports.definitions = [
237
326
  m.occupancy(),
238
327
  m.illuminance(),
239
328
  m.deviceAddCustomCluster("3r60gRadarSpecialCluster", {
329
+ name: "3r60gRadarSpecialCluster",
240
330
  ID: 0x042e,
241
331
  manufacturerCode: 0x1407,
242
332
  attributes: {
243
- volatileCrganiccCompounds: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT32, write: true, max: 0xffffffff },
333
+ totalVolatileOrganicCompounds: {
334
+ name: "totalVolatileOrganicCompounds",
335
+ ID: 0x0000,
336
+ type: zigbee_herdsman_1.Zcl.DataType.UINT32,
337
+ max: 0xffffffff,
338
+ },
339
+ presenceSensorDetectDistanceLevel: {
340
+ name: "presenceSensorDetectDistanceLevel",
341
+ ID: 0xf002,
342
+ type: zigbee_herdsman_1.Zcl.DataType.UINT8,
343
+ write: true,
344
+ min: 1,
345
+ max: 6,
346
+ },
347
+ tvocSensorCalibration: { name: "tvocSensorCalibration", ID: 0xf001, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, min: 1, max: 1 },
348
+ tvocAlertThreshold: { name: "tvocAlertThreshold", ID: 0xf003, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, min: 3000, max: 50000 },
349
+ motionDetectSensitivityLevel: {
350
+ name: "motionDetectSensitivityLevel",
351
+ ID: 0xf004,
352
+ type: zigbee_herdsman_1.Zcl.DataType.UINT8,
353
+ write: true,
354
+ min: 0,
355
+ max: 20,
356
+ },
357
+ presenceDetectSensitivityLevel: {
358
+ name: "presenceDetectSensitivityLevel",
359
+ ID: 0xf005,
360
+ type: zigbee_herdsman_1.Zcl.DataType.UINT8,
361
+ write: true,
362
+ min: 0,
363
+ max: 20,
364
+ },
365
+ presenceHoldTimeLevel: { name: "presenceHoldTimeLevel", ID: 0xf006, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, min: 1, max: 4 },
366
+ tvocAlertEnable: { name: "tvocAlertEnable", ID: 0xf007, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, min: 0, max: 1 },
244
367
  },
245
368
  commands: {},
246
369
  commandsResponse: {},
247
370
  }),
248
371
  m.numeric({
249
- name: "volatile_organic_compounds",
372
+ name: "total_volatile_organic_compounds",
250
373
  cluster: "3r60gRadarSpecialCluster",
251
- attribute: "volatileCrganiccCompounds",
374
+ attribute: "totalVolatileOrganicCompounds",
252
375
  unit: "ppb",
253
- description: "Measured VOC value",
376
+ description: "Measured TVOC value",
254
377
  access: "STATE_GET",
255
378
  }),
379
+ m.enumLookup({
380
+ name: "tvoc_sensor_calibration",
381
+ lookup: { Reset: 1 },
382
+ cluster: "3r60gRadarSpecialCluster",
383
+ attribute: "tvocSensorCalibration",
384
+ description: "TVOC sensor calibration",
385
+ access: "ALL",
386
+ }),
387
+ m.numeric({
388
+ name: "presence_sensor_sensitivity",
389
+ valueMin: 1,
390
+ valueMax: 6,
391
+ cluster: "3r60gRadarSpecialCluster",
392
+ attribute: "presenceSensorDetectDistanceLevel",
393
+ description: "Presence sensor detect distance level",
394
+ access: "ALL",
395
+ }),
396
+ m.numeric({
397
+ name: "tvoc_alert_threshold",
398
+ valueMin: 3000,
399
+ valueMax: 50000,
400
+ cluster: "3r60gRadarSpecialCluster",
401
+ attribute: "tvocAlertThreshold",
402
+ unit: "ppb",
403
+ description: "TVOC alert threshold",
404
+ access: "ALL",
405
+ }),
406
+ m.binary({
407
+ name: "tvoc_alert_enable",
408
+ valueOn: ["ON", 1],
409
+ valueOff: ["OFF", 0],
410
+ cluster: "3r60gRadarSpecialCluster",
411
+ attribute: "tvocAlertEnable",
412
+ description: "TVOC alert enable",
413
+ access: "ALL",
414
+ }),
415
+ m.numeric({
416
+ name: "motion_detect_sensitivity_level",
417
+ valueMin: 0,
418
+ valueMax: 20,
419
+ cluster: "3r60gRadarSpecialCluster",
420
+ attribute: "motionDetectSensitivityLevel",
421
+ unit: "level",
422
+ description: "Set motion detect sensitivity level",
423
+ access: "ALL",
424
+ }),
425
+ m.numeric({
426
+ name: "presence_detect_sensitivity_level",
427
+ valueMin: 0,
428
+ valueMax: 20,
429
+ cluster: "3r60gRadarSpecialCluster",
430
+ attribute: "presenceDetectSensitivityLevel",
431
+ unit: "level",
432
+ description: "Set Presence detect sensitivity level",
433
+ access: "ALL",
434
+ }),
435
+ m.numeric({
436
+ name: "presence_hold_time_level",
437
+ valueMin: 1,
438
+ valueMax: 4,
439
+ cluster: "3r60gRadarSpecialCluster",
440
+ attribute: "presenceHoldTimeLevel",
441
+ unit: "level",
442
+ description: "Set Presence hold time level",
443
+ access: "ALL",
444
+ }),
256
445
  m.light({
257
446
  color: { modes: ["xy"], enhancedHue: true },
447
+ colorTemp: { range: [154, 500] },
258
448
  }),
259
449
  ],
260
450
  },
@@ -275,10 +465,11 @@ exports.definitions = [
275
465
  },
276
466
  extend: [
277
467
  m.deviceAddCustomCluster("3rDoorSpecialCluster", {
468
+ name: "3rDoorSpecialCluster",
278
469
  ID: 0xff01,
279
470
  manufacturerCode: 0x1233,
280
471
  attributes: {
281
- delayOpenAttrId: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
472
+ delayOpenAttrId: { name: "delayOpenAttrId", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
282
473
  },
283
474
  commands: {},
284
475
  commandsResponse: {},
@@ -295,11 +486,12 @@ exports.definitions = [
295
486
  m.forcePowerSource({ powerSource: "Battery" }),
296
487
  m.iasZoneAlarm({ zoneType: "contact", zoneAttributes: ["alarm_1", "battery_low"] }),
297
488
  m.deviceAddCustomCluster("3rGarageDoorSpecialCluster", {
489
+ name: "3rGarageDoorSpecialCluster",
298
490
  ID: 0xff01,
299
491
  manufacturerCode: 0x1407,
300
492
  attributes: {
301
- delayOpenAttrId: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
302
- zclCabrationAttrId: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
493
+ delayOpenAttrId: { name: "delayOpenAttrId", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
494
+ zclCabrationAttrId: { name: "zclCabrationAttrId", ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
303
495
  },
304
496
  commands: {},
305
497
  commandsResponse: {},
@@ -315,12 +507,13 @@ exports.definitions = [
315
507
  extend: [
316
508
  m.onOff(),
317
509
  m.deviceAddCustomCluster("3rPlugGen1SpecialCluster", {
510
+ name: "3rPlugGen1SpecialCluster",
318
511
  ID: 0xff03,
319
512
  manufacturerCode: 0x1233,
320
513
  attributes: {
321
- onToOffDelay: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
322
- offToOnDelay: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
323
- allowBind: { ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
514
+ onToOffDelay: { name: "onToOffDelay", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
515
+ offToOnDelay: { name: "offToOnDelay", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
516
+ allowBind: { name: "allowBind", ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
324
517
  },
325
518
  commands: {},
326
519
  commandsResponse: {},
@@ -351,11 +544,12 @@ exports.definitions = [
351
544
  exposes: [e.cover_position(), e.battery()],
352
545
  extend: [
353
546
  m.deviceAddCustomCluster("3rRollerShadeSpecialCluster", {
547
+ name: "3rRollerShadeSpecialCluster",
354
548
  ID: 0xfff1,
355
549
  manufacturerCode: 0x1233,
356
550
  attributes: {
357
- infraredOff: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
358
- allowBind: { ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
551
+ infraredOff: { name: "infraredOff", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
552
+ allowBind: { name: "allowBind", ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
359
553
  },
360
554
  commands: {},
361
555
  commandsResponse: {},
@@ -377,19 +571,21 @@ exports.definitions = [
377
571
  model: "3RSB02015Z",
378
572
  vendor: "Third Reality",
379
573
  description: "Third Reality Blind Gen2",
574
+ ota: true,
380
575
  extend: [
381
576
  m.battery(),
382
577
  m.windowCovering({ controls: ["lift"] }),
383
578
  m.commandsWindowCovering({ commands: ["open", "close", "stop"] }),
384
579
  m.deviceAddCustomCluster("3rSmartBlindGen2SpecialCluster", {
580
+ name: "3rSmartBlindGen2SpecialCluster",
385
581
  ID: 0xfff1,
386
582
  manufacturerCode: 0x1233,
387
583
  attributes: {
388
- infraredEnable: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
389
- compensationSpeed: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.INT8, write: true, min: -128 },
390
- limitPosition: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
391
- totalCycleTimes: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
392
- lastRemainingBatteryPercentage: { ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
584
+ infraredEnable: { name: "infraredEnable", ID: 0x0000, type: 0x20, write: true, min: 0, max: 1 },
585
+ compensationSpeed: { name: "compensationSpeed", ID: 0x0001, type: 0x28, write: true, min: -100, max: 100 },
586
+ limitPosition: { name: "limitPosition", ID: 0x0002, type: 0x21, write: true, min: 50, max: 4100 },
587
+ totalCycleTimes: { name: "totalCycleTimes", ID: 0x0003, type: 0x21, write: true, min: 200, max: 334 },
588
+ lastRemainingBatteryPercentage: { name: "lastRemainingBatteryPercentage", ID: 0x0004, type: 0x20, write: true, min: 0, max: 100 },
393
589
  },
394
590
  commands: {},
395
591
  commandsResponse: {},
@@ -414,7 +610,7 @@ exports.definitions = [
414
610
  m.numeric({
415
611
  name: "preset_bottom_position",
416
612
  valueMin: 50,
417
- valueMax: 3800,
613
+ valueMax: 4100,
418
614
  cluster: "3rSmartBlindGen2SpecialCluster",
419
615
  attribute: "limitPosition",
420
616
  description: "Preset the bottom limit position of the blind",
@@ -445,17 +641,18 @@ exports.definitions = [
445
641
  model: "3RSB22BZ",
446
642
  vendor: "Third Reality",
447
643
  description: "Smart button",
448
- fromZigbee: [fz.itcmdr_clicks],
644
+ fromZigbee: [exports.fzLocal.itcmdr_clicks],
449
645
  ota: true,
450
646
  exposes: [e.action(["single", "double", "hold", "release"])],
451
647
  extend: [
452
648
  m.battery(),
453
649
  m.forcePowerSource({ powerSource: "Battery" }),
454
650
  m.deviceAddCustomCluster("3rButtonSpecialCluster", {
651
+ name: "3rButtonSpecialCluster",
455
652
  ID: 0xff01,
456
653
  manufacturerCode: 0x1233,
457
654
  attributes: {
458
- cancelDoubleClick: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
655
+ cancelDoubleClick: { name: "cancelDoubleClick", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
459
656
  },
460
657
  commands: {},
461
658
  commandsResponse: {},
@@ -476,6 +673,7 @@ exports.definitions = [
476
673
  attribute: "presentValue",
477
674
  actionLookup: { release: 255, single: 1, double: 2, hold: 0 },
478
675
  }),
676
+ m.identify(),
479
677
  m.battery(),
480
678
  ],
481
679
  },
@@ -490,12 +688,19 @@ exports.definitions = [
490
688
  m.battery(),
491
689
  m.forcePowerSource({ powerSource: "Battery" }),
492
690
  m.deviceAddCustomCluster("3rSpecialCluster", {
691
+ name: "3rSpecialCluster",
493
692
  ID: 0xff01,
494
693
  manufacturerCode: 0x1233,
495
694
  attributes: {
496
- celsiusDegreeCalibration: { ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
497
- humidityCalibration: { ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
498
- fahrenheitDegreeCalibration: { ID: 0x0033, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
695
+ celsiusDegreeCalibration: { name: "celsiusDegreeCalibration", ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
696
+ humidityCalibration: { name: "humidityCalibration", ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
697
+ fahrenheitDegreeCalibration: {
698
+ name: "fahrenheitDegreeCalibration",
699
+ ID: 0x0033,
700
+ type: zigbee_herdsman_1.Zcl.DataType.INT16,
701
+ write: true,
702
+ min: -32768,
703
+ },
499
704
  },
500
705
  commands: {},
501
706
  commandsResponse: {},
@@ -508,7 +713,63 @@ exports.definitions = [
508
713
  model: "3RTHS0324Z",
509
714
  vendor: "Third Reality",
510
715
  description: "Temperature and Humidity Sensor Lite Gen2",
511
- extend: [m.battery(), m.temperature(), m.humidity(), m.commandsOnOff()],
716
+ extend: [
717
+ m.deviceAddCustomCluster("3rSpecialCluster", {
718
+ name: "3rSpecialCluster",
719
+ ID: 0xff01,
720
+ manufacturerCode: 0x1407,
721
+ attributes: {
722
+ celsiusDegreeCalibration: { name: "celsiusDegreeCalibration", ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
723
+ humidityCalibration: { name: "humidityCalibration", ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
724
+ fahrenheitDegreeCalibration: {
725
+ name: "fahrenheitDegreeCalibration",
726
+ ID: 0x0033,
727
+ type: zigbee_herdsman_1.Zcl.DataType.INT16,
728
+ write: true,
729
+ min: -32768,
730
+ },
731
+ },
732
+ commands: {},
733
+ commandsResponse: {},
734
+ }),
735
+ m.battery(),
736
+ m.temperature(),
737
+ m.humidity(),
738
+ m.commandsOnOff(),
739
+ m.numeric({
740
+ name: "celsius_degree_calibration",
741
+ unit: "°C",
742
+ valueMin: -200,
743
+ valueMax: 200,
744
+ scale: 100,
745
+ cluster: "3rSpecialCluster",
746
+ attribute: "celsiusDegreeCalibration",
747
+ description: "Celsius degree calibration",
748
+ access: "ALL",
749
+ }),
750
+ m.numeric({
751
+ name: "humidity_calibration",
752
+ unit: "%",
753
+ valueMin: -100,
754
+ valueMax: 100,
755
+ scale: 100,
756
+ cluster: "3rSpecialCluster",
757
+ attribute: "humidityCalibration",
758
+ description: "Humidity calibration",
759
+ access: "ALL",
760
+ }),
761
+ m.numeric({
762
+ name: "fahrenheit_degree_calibration",
763
+ unit: "°F",
764
+ valueMin: -200,
765
+ valueMax: 200,
766
+ scale: 100,
767
+ cluster: "3rSpecialCluster",
768
+ attribute: "fahrenheitDegreeCalibration",
769
+ description: "Fahrenheit degree calibration",
770
+ access: "ALL",
771
+ }),
772
+ ],
512
773
  ota: true,
513
774
  },
514
775
  {
@@ -521,12 +782,19 @@ exports.definitions = [
521
782
  m.soilMoisture(),
522
783
  m.battery(),
523
784
  m.deviceAddCustomCluster("3rSoilSpecialCluster", {
785
+ name: "3rSoilSpecialCluster",
524
786
  ID: 0xff01,
525
787
  manufacturerCode: 0x1407,
526
788
  attributes: {
527
- celsiusDegreeCalibration: { ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
528
- humidityCalibration: { ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
529
- fahrenheitDegreeCalibration: { ID: 0x0033, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
789
+ celsiusDegreeCalibration: { name: "celsiusDegreeCalibration", ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
790
+ humidityCalibration: { name: "humidityCalibration", ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
791
+ fahrenheitDegreeCalibration: {
792
+ name: "fahrenheitDegreeCalibration",
793
+ ID: 0x0033,
794
+ type: zigbee_herdsman_1.Zcl.DataType.INT16,
795
+ write: true,
796
+ min: -32768,
797
+ },
530
798
  },
531
799
  commands: {},
532
800
  commandsResponse: {},
@@ -539,7 +807,62 @@ exports.definitions = [
539
807
  model: "3RSM0347Z",
540
808
  vendor: "Third Reality",
541
809
  description: "Smart Soil Moisture Sensor Gen2",
542
- extend: [m.temperature(), m.humidity(), m.soilMoisture(), m.battery()],
810
+ extend: [
811
+ m.battery(),
812
+ m.temperature(),
813
+ m.soilMoisture(),
814
+ m.deviceAddCustomCluster("3rSoilGen2SpecialCluster", {
815
+ name: "3rSoilGen2SpecialCluster",
816
+ ID: 0xff01,
817
+ manufacturerCode: 0x1407,
818
+ attributes: {
819
+ celsiusDegreeCalibration: { name: "celsiusDegreeCalibration", ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
820
+ humidityCalibration: { name: "humidityCalibration", ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
821
+ fahrenheitDegreeCalibration: {
822
+ name: "fahrenheitDegreeCalibration",
823
+ ID: 0x0033,
824
+ type: zigbee_herdsman_1.Zcl.DataType.INT16,
825
+ write: true,
826
+ min: -32768,
827
+ },
828
+ },
829
+ commands: {},
830
+ commandsResponse: {},
831
+ }),
832
+ m.numeric({
833
+ name: "celsius_degree_calibration",
834
+ unit: "°C",
835
+ valueMin: -200,
836
+ valueMax: 200,
837
+ scale: 100,
838
+ cluster: "3rSoilGen2SpecialCluster",
839
+ attribute: "celsiusDegreeCalibration",
840
+ description: "Celsius degree calibration",
841
+ access: "ALL",
842
+ }),
843
+ m.numeric({
844
+ name: "humidity_calibration",
845
+ unit: "%",
846
+ valueMin: -100,
847
+ valueMax: 100,
848
+ scale: 100,
849
+ cluster: "3rSoilGen2SpecialCluster",
850
+ attribute: "humidityCalibration",
851
+ description: "Humidity calibration",
852
+ access: "ALL",
853
+ }),
854
+ m.numeric({
855
+ name: "fahrenheit_degree_calibration",
856
+ unit: "°F",
857
+ valueMin: -200,
858
+ valueMax: 200,
859
+ scale: 100,
860
+ cluster: "3rSoilGen2SpecialCluster",
861
+ attribute: "fahrenheitDegreeCalibration",
862
+ description: "Fahrenheit degree calibration",
863
+ access: "ALL",
864
+ }),
865
+ ],
543
866
  ota: true,
544
867
  },
545
868
  {
@@ -552,12 +875,19 @@ exports.definitions = [
552
875
  m.humidity(),
553
876
  m.battery(),
554
877
  m.deviceAddCustomCluster("3rSpecialCluster", {
878
+ name: "3rSpecialCluster",
555
879
  ID: 0xff01,
556
880
  manufacturerCode: 0x1407,
557
881
  attributes: {
558
- celsiusDegreeCalibration: { ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
559
- humidityCalibration: { ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
560
- fahrenheitDegreeCalibration: { ID: 0x0033, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
882
+ celsiusDegreeCalibration: { name: "celsiusDegreeCalibration", ID: 0x0031, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
883
+ humidityCalibration: { name: "humidityCalibration", ID: 0x0032, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
884
+ fahrenheitDegreeCalibration: {
885
+ name: "fahrenheitDegreeCalibration",
886
+ ID: 0x0033,
887
+ type: zigbee_herdsman_1.Zcl.DataType.INT16,
888
+ write: true,
889
+ min: -32768,
890
+ },
561
891
  },
562
892
  commands: {},
563
893
  commandsResponse: {},
@@ -573,16 +903,42 @@ exports.definitions = [
573
903
  extend: [
574
904
  m.battery({ percentage: true, voltage: true, lowStatus: true, percentageReporting: true }),
575
905
  m.onOff({ powerOnBehavior: false }),
906
+ m.iasZoneAlarm({
907
+ zoneType: "generic",
908
+ zoneAttributes: ["alarm_1"],
909
+ description: "Water shortage warning",
910
+ }),
576
911
  m.deviceAddCustomCluster("3rWateringSpecialCluster", {
912
+ name: "3rWateringSpecialCluster",
577
913
  ID: 0xfff2,
578
914
  manufacturerCode: 0x1407,
579
915
  attributes: {
580
- wateringTimes: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
581
- intervalDay: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
916
+ wateringTimes: { name: "wateringTimes", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, min: 1, max: 1800 },
917
+ intervalDay: { name: "intervalDay", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, min: 0, max: 30 },
582
918
  },
583
919
  commands: {},
584
920
  commandsResponse: {},
585
921
  }),
922
+ m.numeric({
923
+ name: "watering_times",
924
+ cluster: "3rWateringSpecialCluster",
925
+ attribute: "wateringTimes",
926
+ valueMin: 1,
927
+ valueMax: 1800,
928
+ unit: "s",
929
+ description: "watering times",
930
+ access: "ALL",
931
+ }),
932
+ m.numeric({
933
+ name: "interval_day",
934
+ cluster: "3rWateringSpecialCluster",
935
+ attribute: "intervalDay",
936
+ valueMin: 0,
937
+ valueMax: 30,
938
+ unit: "Day",
939
+ description: "interval day",
940
+ access: "ALL",
941
+ }),
586
942
  ],
587
943
  ota: true,
588
944
  },
@@ -617,17 +973,29 @@ exports.definitions = [
617
973
  },
618
974
  extend: [
619
975
  m.deviceAddCustomCluster("3rPlugGen2SpecialCluster", {
976
+ name: "3rPlugGen2SpecialCluster",
620
977
  ID: 0xff03,
621
978
  manufacturerCode: 0x1233,
622
979
  attributes: {
623
- resetTotalEnergy: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
624
- countdownToTurnOff: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
625
- countdownToTurnOn: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
626
- allowBind: { ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
980
+ resetTotalEnergy: { name: "resetTotalEnergy", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
981
+ countdownToTurnOff: { name: "countdownToTurnOff", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
982
+ countdownToTurnOn: { name: "countdownToTurnOn", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
983
+ allowBind: { name: "allowBind", ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
984
+ ledBrightness: { name: "ledBrightness", ID: 0x0010, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0x64 },
627
985
  },
628
986
  commands: {},
629
987
  commandsResponse: {},
630
988
  }),
989
+ m.numeric({
990
+ name: "led_brightness",
991
+ unit: "%",
992
+ valueMin: 0,
993
+ valueMax: 100,
994
+ cluster: "3rPlugGen2SpecialCluster",
995
+ attribute: "ledBrightness",
996
+ description: "Set the brightness of LED",
997
+ access: "ALL",
998
+ }),
631
999
  m.enumLookup({
632
1000
  name: "reset_total_energy",
633
1001
  lookup: { Reset: 1 },
@@ -673,20 +1041,40 @@ exports.definitions = [
673
1041
  m.onOff(),
674
1042
  m.electricityMeter({ acFrequency: true, powerFactor: true }),
675
1043
  m.deviceAddCustomCluster("3rPlugGen3Specialcluster", {
1044
+ name: "3rPlugGen3Specialcluster",
676
1045
  ID: 0xff03,
677
1046
  manufacturerCode: 0x1407,
678
1047
  attributes: {
679
- resetTotalEnergy: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
680
- countdownToTurnOff: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
681
- countdownToTurnOn: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
682
- allowBind: { ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
683
- powerRiseThreshold: { ID: 0x0040, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, min: 0x01, max: 0xc80 },
684
- powerDropThreshold: { ID: 0x0041, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, min: 0x01, max: 0xc80 },
685
- meteringOnlyMode: { ID: 0x0050, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1048
+ resetTotalEnergy: { name: "resetTotalEnergy", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1049
+ countdownToTurnOff: { name: "countdownToTurnOff", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1050
+ countdownToTurnOn: { name: "countdownToTurnOn", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1051
+ allowBind: { name: "allowBind", ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1052
+ powerRiseThreshold: { name: "powerRiseThreshold", ID: 0x0040, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, min: 0x01, max: 0xc80 },
1053
+ powerDropThreshold: { name: "powerDropThreshold", ID: 0x0041, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, min: 0x01, max: 0xc80 },
1054
+ meteringOnlyMode: { name: "meteringOnlyMode", ID: 0x0050, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
686
1055
  },
687
1056
  commands: {},
688
1057
  commandsResponse: {},
689
1058
  }),
1059
+ m.deviceAddCustomCluster("genBasic", {
1060
+ name: "genBasic",
1061
+ ID: zigbee_herdsman_1.Zcl.Clusters.genBasic.ID,
1062
+ attributes: {
1063
+ ledBrightness: { name: "ledBrightness", ID: 0xff01, type: zigbee_herdsman_1.Zcl.DataType.UINT8, manufacturerCode: 0x1407, write: true, max: 0x64 },
1064
+ },
1065
+ commands: {},
1066
+ commandsResponse: {},
1067
+ }),
1068
+ m.numeric({
1069
+ name: "led_brightness",
1070
+ unit: "%",
1071
+ valueMin: 0,
1072
+ valueMax: 100,
1073
+ cluster: "genBasic",
1074
+ attribute: "ledBrightness",
1075
+ description: "Set the brightness of LED",
1076
+ access: "ALL",
1077
+ }),
690
1078
  m.enumLookup({
691
1079
  name: "reset_total_energy",
692
1080
  lookup: { Reset: 1 },
@@ -761,12 +1149,22 @@ exports.definitions = [
761
1149
  m.onOff({ endpointNames: ["2"], description: "On/off state of the switch right/top" }),
762
1150
  m.electricityMeter({ acFrequency: true, powerFactor: true, endpointNames: ["2"], energy: { divisor: 1000, multiplier: 1 } }),
763
1151
  m.deviceAddCustomCluster("3rDualPlugSpecialcluster", {
1152
+ name: "3rDualPlugSpecialcluster",
764
1153
  ID: 0xff03,
765
1154
  manufacturerCode: 0x1407,
766
1155
  attributes: {
767
- resetTotalEnergy: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
768
- countdownToTurnOff: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
769
- countdownToTurnOn: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1156
+ resetTotalEnergy: { name: "resetTotalEnergy", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1157
+ countdownToTurnOff: { name: "countdownToTurnOff", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1158
+ countdownToTurnOn: { name: "countdownToTurnOn", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1159
+ },
1160
+ commands: {},
1161
+ commandsResponse: {},
1162
+ }),
1163
+ m.deviceAddCustomCluster("genBasic", {
1164
+ name: "genBasic",
1165
+ ID: 0x0000,
1166
+ attributes: {
1167
+ redLedBrightness: { name: "redLedBrightness", ID: 0xff01, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, min: 0, max: 100 },
770
1168
  },
771
1169
  commands: {},
772
1170
  commandsResponse: {},
@@ -833,6 +1231,16 @@ exports.definitions = [
833
1231
  description: "(OFF-ON)",
834
1232
  access: "ALL",
835
1233
  }),
1234
+ m.numeric({
1235
+ name: "red_led_brightness",
1236
+ unit: "%",
1237
+ valueMin: 0,
1238
+ valueMax: 100,
1239
+ cluster: "genBasic",
1240
+ attribute: "redLedBrightness",
1241
+ description: "Set red led brightness",
1242
+ access: "ALL",
1243
+ }),
836
1244
  ],
837
1245
  },
838
1246
  {
@@ -840,7 +1248,7 @@ exports.definitions = [
840
1248
  model: "3RVS01031Z",
841
1249
  vendor: "Third Reality",
842
1250
  description: "Zigbee vibration sensor",
843
- fromZigbee: [fz.ias_vibration_alarm_1, fz.battery, fzLocal.thirdreality_acceleration],
1251
+ fromZigbee: [fz.ias_vibration_alarm_1, fz.battery, exports.fzLocal.thirdreality_acceleration],
844
1252
  toZigbee: [],
845
1253
  ota: true,
846
1254
  exposes: [e.vibration(), e.battery_low(), e.battery(), e.battery_voltage(), e.x_axis(), e.y_axis(), e.z_axis()],
@@ -852,13 +1260,14 @@ exports.definitions = [
852
1260
  },
853
1261
  extend: [
854
1262
  m.deviceAddCustomCluster("3rVirationSpecialcluster", {
1263
+ name: "3rVirationSpecialcluster",
855
1264
  ID: 0xfff1,
856
1265
  manufacturerCode: 0x1233,
857
1266
  attributes: {
858
- coolDownTime: { ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
859
- xAxis: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
860
- yAxis: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
861
- zAxis: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
1267
+ coolDownTime: { name: "coolDownTime", ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1268
+ xAxis: { name: "xAxis", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
1269
+ yAxis: { name: "yAxis", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
1270
+ zAxis: { name: "zAxis", ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.INT16, write: true, min: -32768 },
862
1271
  },
863
1272
  commands: {},
864
1273
  commandsResponse: {},
@@ -874,12 +1283,13 @@ exports.definitions = [
874
1283
  extend: [
875
1284
  m.light({ color: true }),
876
1285
  m.deviceAddCustomCluster("r3Specialcluster", {
1286
+ name: "r3Specialcluster",
877
1287
  ID: 0xfc00,
878
1288
  manufacturerCode: 0x130d,
879
1289
  attributes: {
880
- coldDownTime: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
881
- localRoutinTime: { ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
882
- luxThreshold: { ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1290
+ coldDownTime: { name: "coldDownTime", ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1291
+ localRoutinTime: { name: "localRoutinTime", ID: 0x0004, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1292
+ luxThreshold: { name: "luxThreshold", ID: 0x0005, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
883
1293
  },
884
1294
  commands: {},
885
1295
  commandsResponse: {},
@@ -887,27 +1297,39 @@ exports.definitions = [
887
1297
  m.illuminance(),
888
1298
  m.forcePowerSource({ powerSource: "Mains (single phase)" }),
889
1299
  ],
890
- fromZigbee: [fzLocal.thirdreality_private_motion_sensor, fz.ias_occupancy_alarm_1_report],
1300
+ fromZigbee: [exports.fzLocal.thirdreality_private_motion_sensor, fz.ias_occupancy_alarm_1_report],
891
1301
  exposes: [e.occupancy()],
892
1302
  },
893
1303
  {
894
- zigbeeModel: ["3RCB01057Z", "3RCB02070Z"],
1304
+ zigbeeModel: ["3RCB01057Z", "3RCB02070Z", "3RCB1095Z"],
895
1305
  model: "3RCB01057Z",
896
1306
  vendor: "Third Reality",
897
1307
  description: "Smart Color Bulb ZL1",
898
- whiteLabel: [{ vendor: "Third Reality", model: "3RCB02070Z", description: "Smart Color Bulb ZL4", fingerprint: [{ modelID: "3RCB02070Z" }] }],
1308
+ whiteLabel: [
1309
+ { vendor: "Third Reality", model: "3RCB02070Z", description: "Smart Color Bulb ZL4", fingerprint: [{ modelID: "3RCB02070Z" }] },
1310
+ { vendor: "Third Reality", model: "3RCB1095Z", description: "Smart Color Bulb ZL2", fingerprint: [{ modelID: "3RCB1095Z" }] },
1311
+ ],
899
1312
  ota: true,
900
1313
  extend: [
901
1314
  m.light({ colorTemp: { range: [154, 500] }, color: { modes: ["xy", "hs"], enhancedHue: false } }),
902
- m.deviceAddCustomCluster("3rColorSpecialCluster", {
1315
+ m.deviceAddCustomCluster("3rColorLightSpecialCluster", {
1316
+ name: "3rColorLightSpecialCluster",
903
1317
  ID: 0xff04,
904
1318
  manufacturerCode: 0x1407,
905
1319
  attributes: {
906
- allowBind: { ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1320
+ allowBind: { name: "allowBind", ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0x01 },
907
1321
  },
908
1322
  commands: {},
909
1323
  commandsResponse: {},
910
1324
  }),
1325
+ m.enumLookup({
1326
+ name: "start_bind",
1327
+ lookup: { StartBind: 1 },
1328
+ cluster: "3rColorLightSpecialCluster",
1329
+ attribute: "allowBind",
1330
+ description: "Start bind the light to the controller",
1331
+ access: "ALL",
1332
+ }),
911
1333
  ],
912
1334
  },
913
1335
  {
@@ -941,17 +1363,29 @@ exports.definitions = [
941
1363
  },
942
1364
  extend: [
943
1365
  m.deviceAddCustomCluster("3rPlugE2Specialcluster", {
1366
+ name: "3rPlugE2Specialcluster",
944
1367
  ID: 0xff03,
945
1368
  manufacturerCode: 0x1233,
946
1369
  attributes: {
947
- resetTotalEnergy: { ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
948
- countdownToTurnOff: { ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
949
- countdownToTurnOn: { ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
950
- allowBind: { ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1370
+ resetTotalEnergy: { name: "resetTotalEnergy", ID: 0x0000, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1371
+ countdownToTurnOff: { name: "countdownToTurnOff", ID: 0x0001, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1372
+ countdownToTurnOn: { name: "countdownToTurnOn", ID: 0x0002, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1373
+ allowBind: { name: "allowBind", ID: 0x0020, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1374
+ ledBrightness: { name: "ledBrightness", ID: 0x0010, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0x64 },
951
1375
  },
952
1376
  commands: {},
953
1377
  commandsResponse: {},
954
1378
  }),
1379
+ m.numeric({
1380
+ name: "led_brightness",
1381
+ unit: "%",
1382
+ valueMin: 0,
1383
+ valueMax: 100,
1384
+ cluster: "3rPlugE2Specialcluster",
1385
+ attribute: "ledBrightness",
1386
+ description: "Set the brightness of LED",
1387
+ access: "ALL",
1388
+ }),
955
1389
  m.enumLookup({
956
1390
  name: "reset_total_energy",
957
1391
  lookup: { Reset: 1 },
@@ -986,41 +1420,18 @@ exports.definitions = [
986
1420
  zigbeeModel: ["3RAP0149BZ"],
987
1421
  model: "3RAP0149BZ",
988
1422
  vendor: "Third Reality",
989
- description: "Smart air pressure sensor",
1423
+ description: "Smart Filter Sensor",
990
1424
  extend: [
991
1425
  m.battery(),
992
- m.pressure({ attribute: { ID: 0xff01, type: zigbee_herdsman_1.Zcl.DataType.UINT32 }, name: "pressure", unit: "Pa", scale: 1 }),
993
- m.commandsOnOff(),
994
- m.deviceAddCustomCluster("3rAirsensorSpecialCluster", {
995
- ID: 0xff01,
996
- manufacturerCode: 0x1407,
997
- attributes: {
998
- sendCommandUpThreshold: { ID: 0x0040, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
999
- sendCommandDownThreshold: { ID: 0x0041, type: zigbee_herdsman_1.Zcl.DataType.UINT16, write: true, max: 0xffff },
1000
- },
1001
- commands: {},
1002
- commandsResponse: {},
1003
- }),
1004
- m.numeric({
1005
- name: "pressure_raised_threshold",
1006
- unit: "Pa",
1007
- valueMin: 0,
1008
- valueMax: 65535,
1009
- cluster: "3rAirsensorSpecialCluster",
1010
- attribute: "sendCommandUpThreshold",
1011
- description: "Reports sudden air-pressure changes. Pressure rise and fall alerts can be enabled separately. Threshold adjustable.",
1012
- access: "ALL",
1013
- }),
1014
1426
  m.numeric({
1015
- name: "pressure_falls_threshold",
1016
- unit: "Pa",
1017
- valueMin: 0,
1018
- valueMax: 65535,
1019
- cluster: "3rAirsensorSpecialCluster",
1020
- attribute: "sendCommandDownThreshold",
1021
- description: "Reports sudden air-pressure changes. Pressure rise and fall alerts can be enabled separately. Threshold adjustable.",
1022
- access: "ALL",
1427
+ name: "dirty_level",
1428
+ unit: "%",
1429
+ cluster: "genAnalogInput",
1430
+ attribute: "presentValue",
1431
+ description: "Measure dirty level",
1432
+ access: "STATE_GET",
1023
1433
  }),
1434
+ conditionalPressure(),
1024
1435
  ],
1025
1436
  ota: true,
1026
1437
  },
@@ -1033,22 +1444,22 @@ exports.definitions = [
1033
1444
  m.battery(),
1034
1445
  m.iasZoneAlarm({ zoneType: "occupancy", zoneAttributes: ["alarm_1"] }),
1035
1446
  m.deviceAddCustomCluster("3r24gRadarcluster", {
1447
+ name: "3r24gRadarcluster",
1036
1448
  ID: 0xff01,
1037
1449
  manufacturerCode: 0x1407,
1038
1450
  attributes: {
1039
- sensorSensitive: { ID: 0x0060, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1040
- sensorCalibration: { ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1451
+ sensorSensitive: { name: "sensorSensitive", ID: 0x0060, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1452
+ sensorCalibration: { name: "sensorCalibration", ID: 0x0003, type: zigbee_herdsman_1.Zcl.DataType.UINT8, write: true, max: 0xff },
1041
1453
  },
1042
1454
  commands: {},
1043
1455
  commandsResponse: {},
1044
1456
  }),
1045
- m.binary({
1046
- name: "sensor_calibation",
1047
- valueOn: ["ON", 1],
1048
- valueOff: ["OFF", 0],
1457
+ m.enumLookup({
1458
+ name: "sensor_calibration",
1459
+ lookup: { Press: 1 },
1049
1460
  cluster: "3r24gRadarcluster",
1050
1461
  attribute: "sensorCalibration",
1051
- description: "sensor calibationit",
1462
+ description: "sensor calibration",
1052
1463
  access: "ALL",
1053
1464
  }),
1054
1465
  m.numeric({