zigbee-herdsman-converters 21.0.0-pre.0 → 21.0.0-pre.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/CHANGELOG.md +191 -0
  2. package/converters/fromZigbee.d.ts +6 -7
  3. package/converters/fromZigbee.d.ts.map +1 -1
  4. package/converters/fromZigbee.js +58 -34
  5. package/converters/fromZigbee.js.map +1 -1
  6. package/converters/toZigbee.js +1 -1
  7. package/converters/toZigbee.js.map +1 -1
  8. package/devices/adeo.d.ts.map +1 -1
  9. package/devices/adeo.js +1 -2
  10. package/devices/adeo.js.map +1 -1
  11. package/devices/adurosmart.d.ts.map +1 -1
  12. package/devices/adurosmart.js +22 -2
  13. package/devices/adurosmart.js.map +1 -1
  14. package/devices/aeotec.js +1 -1
  15. package/devices/aeotec.js.map +1 -1
  16. package/devices/airam.d.ts.map +1 -1
  17. package/devices/airam.js +1 -13
  18. package/devices/airam.js.map +1 -1
  19. package/devices/amina.d.ts.map +1 -1
  20. package/devices/amina.js +1 -2
  21. package/devices/amina.js.map +1 -1
  22. package/devices/aurora_lighting.d.ts.map +1 -1
  23. package/devices/aurora_lighting.js +2 -3
  24. package/devices/aurora_lighting.js.map +1 -1
  25. package/devices/bitron.d.ts.map +1 -1
  26. package/devices/bitron.js +1 -2
  27. package/devices/bitron.js.map +1 -1
  28. package/devices/bosch.d.ts.map +1 -1
  29. package/devices/bosch.js +11 -10
  30. package/devices/bosch.js.map +1 -1
  31. package/devices/bticino.d.ts.map +1 -1
  32. package/devices/bticino.js +2 -3
  33. package/devices/bticino.js.map +1 -1
  34. package/devices/busch_jaeger.d.ts.map +1 -1
  35. package/devices/busch_jaeger.js +1 -11
  36. package/devices/busch_jaeger.js.map +1 -1
  37. package/devices/candeo.d.ts.map +1 -1
  38. package/devices/candeo.js +22 -72
  39. package/devices/candeo.js.map +1 -1
  40. package/devices/chacon.js +1 -1
  41. package/devices/chacon.js.map +1 -1
  42. package/devices/ctm.d.ts.map +1 -1
  43. package/devices/ctm.js +5 -8
  44. package/devices/ctm.js.map +1 -1
  45. package/devices/custom_devices_diy.d.ts.map +1 -1
  46. package/devices/custom_devices_diy.js +14 -11
  47. package/devices/custom_devices_diy.js.map +1 -1
  48. package/devices/danalock.d.ts.map +1 -1
  49. package/devices/danalock.js +1 -2
  50. package/devices/danalock.js.map +1 -1
  51. package/devices/danfoss.d.ts.map +1 -1
  52. package/devices/danfoss.js +1 -2
  53. package/devices/danfoss.js.map +1 -1
  54. package/devices/datek.d.ts.map +1 -1
  55. package/devices/datek.js +2 -4
  56. package/devices/datek.js.map +1 -1
  57. package/devices/develco.d.ts.map +1 -1
  58. package/devices/develco.js +17 -18
  59. package/devices/develco.js.map +1 -1
  60. package/devices/diyruz.d.ts.map +1 -1
  61. package/devices/diyruz.js +1 -2
  62. package/devices/diyruz.js.map +1 -1
  63. package/devices/dresden_elektronik.d.ts.map +1 -1
  64. package/devices/dresden_elektronik.js +3 -27
  65. package/devices/dresden_elektronik.js.map +1 -1
  66. package/devices/ecodim.d.ts.map +1 -1
  67. package/devices/ecodim.js +3 -4
  68. package/devices/ecodim.js.map +1 -1
  69. package/devices/ecozy.d.ts.map +1 -1
  70. package/devices/ecozy.js +1 -2
  71. package/devices/ecozy.js.map +1 -1
  72. package/devices/elko.js +3 -3
  73. package/devices/elko.js.map +1 -1
  74. package/devices/eurotronic.d.ts.map +1 -1
  75. package/devices/eurotronic.js +1 -2
  76. package/devices/eurotronic.js.map +1 -1
  77. package/devices/fantem.d.ts.map +1 -1
  78. package/devices/fantem.js +0 -1
  79. package/devices/fantem.js.map +1 -1
  80. package/devices/frient.js +1 -1
  81. package/devices/frient.js.map +1 -1
  82. package/devices/futurehome.d.ts.map +1 -1
  83. package/devices/futurehome.js +1 -2
  84. package/devices/futurehome.js.map +1 -1
  85. package/devices/gledopto.d.ts.map +1 -1
  86. package/devices/gledopto.js +44 -34
  87. package/devices/gledopto.js.map +1 -1
  88. package/devices/gmmts.d.ts.map +1 -1
  89. package/devices/gmmts.js +1 -2
  90. package/devices/gmmts.js.map +1 -1
  91. package/devices/heiman.d.ts.map +1 -1
  92. package/devices/heiman.js +3 -4
  93. package/devices/heiman.js.map +1 -1
  94. package/devices/heimgard_technologies.d.ts.map +1 -1
  95. package/devices/heimgard_technologies.js +5 -6
  96. package/devices/heimgard_technologies.js.map +1 -1
  97. package/devices/icasa.d.ts.map +1 -1
  98. package/devices/icasa.js +2 -25
  99. package/devices/icasa.js.map +1 -1
  100. package/devices/ikea.d.ts.map +1 -1
  101. package/devices/ikea.js +65 -60
  102. package/devices/ikea.js.map +1 -1
  103. package/devices/iluminize.d.ts.map +1 -1
  104. package/devices/iluminize.js +1 -2
  105. package/devices/iluminize.js.map +1 -1
  106. package/devices/immax.d.ts.map +1 -1
  107. package/devices/immax.js +3 -4
  108. package/devices/immax.js.map +1 -1
  109. package/devices/index.d.ts +1 -0
  110. package/devices/index.d.ts.map +1 -1
  111. package/devices/index.js +4 -0
  112. package/devices/index.js.map +1 -1
  113. package/devices/innr.d.ts.map +1 -1
  114. package/devices/innr.js +35 -35
  115. package/devices/innr.js.map +1 -1
  116. package/devices/inovelli.d.ts.map +1 -1
  117. package/devices/inovelli.js +3 -4
  118. package/devices/inovelli.js.map +1 -1
  119. package/devices/insta.d.ts.map +1 -1
  120. package/devices/insta.js +3 -12
  121. package/devices/insta.js.map +1 -1
  122. package/devices/javis.js +1 -1
  123. package/devices/javis.js.map +1 -1
  124. package/devices/jethome.d.ts.map +1 -1
  125. package/devices/jethome.js +1 -2
  126. package/devices/jethome.js.map +1 -1
  127. package/devices/kmpcil.d.ts.map +1 -1
  128. package/devices/kmpcil.js +1 -10
  129. package/devices/kmpcil.js.map +1 -1
  130. package/devices/konke.d.ts.map +1 -1
  131. package/devices/konke.js +2 -3
  132. package/devices/konke.js.map +1 -1
  133. package/devices/leedarson.d.ts.map +1 -1
  134. package/devices/leedarson.js +3 -11
  135. package/devices/leedarson.js.map +1 -1
  136. package/devices/legrand.d.ts.map +1 -1
  137. package/devices/legrand.js +31 -32
  138. package/devices/legrand.js.map +1 -1
  139. package/devices/leviton.d.ts.map +1 -1
  140. package/devices/leviton.js +1 -2
  141. package/devices/leviton.js.map +1 -1
  142. package/devices/lidl.d.ts.map +1 -1
  143. package/devices/lidl.js +1 -2
  144. package/devices/lidl.js.map +1 -1
  145. package/devices/lixee.d.ts.map +1 -1
  146. package/devices/lixee.js +1 -2
  147. package/devices/lixee.js.map +1 -1
  148. package/devices/lumi.d.ts.map +1 -1
  149. package/devices/lumi.js +25 -81
  150. package/devices/lumi.js.map +1 -1
  151. package/devices/lupus.d.ts.map +1 -1
  152. package/devices/lupus.js +3 -4
  153. package/devices/lupus.js.map +1 -1
  154. package/devices/lutron.d.ts.map +1 -1
  155. package/devices/lutron.js +7 -5
  156. package/devices/lutron.js.map +1 -1
  157. package/devices/lytko.d.ts.map +1 -1
  158. package/devices/lytko.js +6 -7
  159. package/devices/lytko.js.map +1 -1
  160. package/devices/meazon.d.ts.map +1 -1
  161. package/devices/meazon.js +2 -3
  162. package/devices/meazon.js.map +1 -1
  163. package/devices/moes.js +2 -2
  164. package/devices/moes.js.map +1 -1
  165. package/devices/muller_licht.d.ts.map +1 -1
  166. package/devices/muller_licht.js +5 -6
  167. package/devices/muller_licht.js.map +1 -1
  168. package/devices/namron.d.ts.map +1 -1
  169. package/devices/namron.js +18 -19
  170. package/devices/namron.js.map +1 -1
  171. package/devices/neo.d.ts.map +1 -1
  172. package/devices/neo.js +68 -0
  173. package/devices/neo.js.map +1 -1
  174. package/devices/net2grid.d.ts.map +1 -1
  175. package/devices/net2grid.js +1 -2
  176. package/devices/net2grid.js.map +1 -1
  177. package/devices/nodon.d.ts.map +1 -1
  178. package/devices/nodon.js +13 -14
  179. package/devices/nodon.js.map +1 -1
  180. package/devices/nue_3a.d.ts.map +1 -1
  181. package/devices/nue_3a.js +3 -4
  182. package/devices/nue_3a.js.map +1 -1
  183. package/devices/osram.d.ts.map +1 -1
  184. package/devices/osram.js +20 -27
  185. package/devices/osram.js.map +1 -1
  186. package/devices/owon.d.ts.map +1 -1
  187. package/devices/owon.js +2 -3
  188. package/devices/owon.js.map +1 -1
  189. package/devices/perenio.d.ts.map +1 -1
  190. package/devices/perenio.js +3 -4
  191. package/devices/perenio.js.map +1 -1
  192. package/devices/philips.d.ts.map +1 -1
  193. package/devices/philips.js +31 -16
  194. package/devices/philips.js.map +1 -1
  195. package/devices/pushok.d.ts.map +1 -1
  196. package/devices/pushok.js +13 -11
  197. package/devices/pushok.js.map +1 -1
  198. package/devices/salus_controls.d.ts.map +1 -1
  199. package/devices/salus_controls.js +9 -10
  200. package/devices/salus_controls.js.map +1 -1
  201. package/devices/saswell.d.ts.map +1 -1
  202. package/devices/saswell.js +2 -1
  203. package/devices/saswell.js.map +1 -1
  204. package/devices/schneider_electric.d.ts.map +1 -1
  205. package/devices/schneider_electric.js +117 -17
  206. package/devices/schneider_electric.js.map +1 -1
  207. package/devices/securifi.d.ts.map +1 -1
  208. package/devices/securifi.js +1 -2
  209. package/devices/securifi.js.map +1 -1
  210. package/devices/sengled.d.ts.map +1 -1
  211. package/devices/sengled.js +46 -27
  212. package/devices/sengled.js.map +1 -1
  213. package/devices/shinasystem.d.ts.map +1 -1
  214. package/devices/shinasystem.js +22 -23
  215. package/devices/shinasystem.js.map +1 -1
  216. package/devices/sinope.d.ts.map +1 -1
  217. package/devices/sinope.js +7 -9
  218. package/devices/sinope.js.map +1 -1
  219. package/devices/smartthings.d.ts.map +1 -1
  220. package/devices/smartthings.js +3 -10
  221. package/devices/smartthings.js.map +1 -1
  222. package/devices/somfy.d.ts.map +1 -1
  223. package/devices/somfy.js +2 -9
  224. package/devices/somfy.js.map +1 -1
  225. package/devices/sonoff.d.ts.map +1 -1
  226. package/devices/sonoff.js +240 -11
  227. package/devices/sonoff.js.map +1 -1
  228. package/devices/stelpro.d.ts.map +1 -1
  229. package/devices/stelpro.js +4 -5
  230. package/devices/stelpro.js.map +1 -1
  231. package/devices/sunricher.d.ts.map +1 -1
  232. package/devices/sunricher.js +23 -15
  233. package/devices/sunricher.js.map +1 -1
  234. package/devices/swann.d.ts.map +1 -1
  235. package/devices/swann.js +1 -2
  236. package/devices/swann.js.map +1 -1
  237. package/devices/sylvania.d.ts.map +1 -1
  238. package/devices/sylvania.js +2 -11
  239. package/devices/sylvania.js.map +1 -1
  240. package/devices/tech.d.ts +4 -0
  241. package/devices/tech.d.ts.map +1 -0
  242. package/devices/tech.js +118 -0
  243. package/devices/tech.js.map +1 -0
  244. package/devices/terncy.d.ts.map +1 -1
  245. package/devices/terncy.js +5 -7
  246. package/devices/terncy.js.map +1 -1
  247. package/devices/third_reality.d.ts.map +1 -1
  248. package/devices/third_reality.js +19 -20
  249. package/devices/third_reality.js.map +1 -1
  250. package/devices/tplink.js +1 -1
  251. package/devices/tplink.js.map +1 -1
  252. package/devices/trust.d.ts.map +1 -1
  253. package/devices/trust.js +1 -2
  254. package/devices/trust.js.map +1 -1
  255. package/devices/tuya.d.ts.map +1 -1
  256. package/devices/tuya.js +157 -83
  257. package/devices/tuya.js.map +1 -1
  258. package/devices/ubisys.d.ts.map +1 -1
  259. package/devices/ubisys.js +8 -9
  260. package/devices/ubisys.js.map +1 -1
  261. package/devices/uhome.d.ts.map +1 -1
  262. package/devices/uhome.js +1 -2
  263. package/devices/uhome.js.map +1 -1
  264. package/devices/viessmann.d.ts.map +1 -1
  265. package/devices/viessmann.js +1 -2
  266. package/devices/viessmann.js.map +1 -1
  267. package/devices/wirenboard.d.ts.map +1 -1
  268. package/devices/wirenboard.js +3 -4
  269. package/devices/wirenboard.js.map +1 -1
  270. package/devices/xyzroe.d.ts.map +1 -1
  271. package/devices/xyzroe.js +1 -4
  272. package/devices/xyzroe.js.map +1 -1
  273. package/devices/yandex.d.ts +4 -0
  274. package/devices/yandex.d.ts.map +1 -0
  275. package/devices/yandex.js +398 -0
  276. package/devices/yandex.js.map +1 -0
  277. package/devices/zen.d.ts.map +1 -1
  278. package/devices/zen.js +2 -4
  279. package/devices/zen.js.map +1 -1
  280. package/devices/zigbeetlc.d.ts +1 -0
  281. package/devices/zigbeetlc.d.ts.map +1 -1
  282. package/devices/zigbeetlc.js +3 -3
  283. package/devices/zigbeetlc.js.map +1 -1
  284. package/index.d.ts +8 -6
  285. package/index.d.ts.map +1 -1
  286. package/index.js +105 -58
  287. package/index.js.map +1 -1
  288. package/lib/exposes.d.ts +2 -3
  289. package/lib/exposes.d.ts.map +1 -1
  290. package/lib/exposes.js +11 -10
  291. package/lib/exposes.js.map +1 -1
  292. package/lib/ikea.d.ts +1 -49
  293. package/lib/ikea.d.ts.map +1 -1
  294. package/lib/ikea.js +3 -72
  295. package/lib/ikea.js.map +1 -1
  296. package/lib/ledvance.d.ts.map +1 -1
  297. package/lib/ledvance.js +5 -3
  298. package/lib/ledvance.js.map +1 -1
  299. package/lib/legacy.d.ts +203 -924
  300. package/lib/legacy.d.ts.map +1 -1
  301. package/lib/legacy.js +177 -1924
  302. package/lib/legacy.js.map +1 -1
  303. package/lib/lumi.d.ts +0 -142
  304. package/lib/lumi.d.ts.map +1 -1
  305. package/lib/lumi.js +6 -292
  306. package/lib/lumi.js.map +1 -1
  307. package/lib/modernExtend.d.ts +4 -7
  308. package/lib/modernExtend.d.ts.map +1 -1
  309. package/lib/modernExtend.js +71 -116
  310. package/lib/modernExtend.js.map +1 -1
  311. package/lib/ota.d.ts +71 -0
  312. package/lib/ota.d.ts.map +1 -0
  313. package/lib/ota.js +663 -0
  314. package/lib/ota.js.map +1 -0
  315. package/lib/philips.d.ts.map +1 -1
  316. package/lib/philips.js +2 -3
  317. package/lib/philips.js.map +1 -1
  318. package/lib/types.d.ts +55 -47
  319. package/lib/types.d.ts.map +1 -1
  320. package/lib/utils.d.ts +1 -2
  321. package/lib/utils.d.ts.map +1 -1
  322. package/lib/utils.js +1 -7
  323. package/lib/utils.js.map +1 -1
  324. package/package.json +26 -12
  325. package/lib/ota/common.d.ts +0 -31
  326. package/lib/ota/common.d.ts.map +0 -1
  327. package/lib/ota/common.js +0 -630
  328. package/lib/ota/common.js.map +0 -1
  329. package/lib/ota/gmmts.d.ts +0 -8
  330. package/lib/ota/gmmts.d.ts.map +0 -1
  331. package/lib/ota/gmmts.js +0 -62
  332. package/lib/ota/gmmts.js.map +0 -1
  333. package/lib/ota/index.d.ts +0 -15
  334. package/lib/ota/index.d.ts.map +0 -1
  335. package/lib/ota/index.js +0 -48
  336. package/lib/ota/index.js.map +0 -1
  337. package/lib/ota/inovelli.d.ts +0 -8
  338. package/lib/ota/inovelli.d.ts.map +0 -1
  339. package/lib/ota/inovelli.js +0 -91
  340. package/lib/ota/inovelli.js.map +0 -1
  341. package/lib/ota/jethome.d.ts +0 -9
  342. package/lib/ota/jethome.d.ts.map +0 -1
  343. package/lib/ota/jethome.js +0 -92
  344. package/lib/ota/jethome.js.map +0 -1
  345. package/lib/ota/ledvance.d.ts +0 -11
  346. package/lib/ota/ledvance.d.ts.map +0 -1
  347. package/lib/ota/ledvance.js +0 -75
  348. package/lib/ota/ledvance.js.map +0 -1
  349. package/lib/ota/salus.d.ts +0 -11
  350. package/lib/ota/salus.d.ts.map +0 -1
  351. package/lib/ota/salus.js +0 -99
  352. package/lib/ota/salus.js.map +0 -1
  353. package/lib/ota/securifi.d.ts +0 -4
  354. package/lib/ota/securifi.d.ts.map +0 -1
  355. package/lib/ota/securifi.js +0 -48
  356. package/lib/ota/securifi.js.map +0 -1
  357. package/lib/ota/tradfri.d.ts +0 -13
  358. package/lib/ota/tradfri.d.ts.map +0 -1
  359. package/lib/ota/tradfri.js +0 -72
  360. package/lib/ota/tradfri.js.map +0 -1
  361. package/lib/ota/ubisys.d.ts +0 -20
  362. package/lib/ota/ubisys.d.ts.map +0 -1
  363. package/lib/ota/ubisys.js +0 -93
  364. package/lib/ota/ubisys.js.map +0 -1
  365. package/lib/ota/zigbeeOTA.d.ts +0 -12
  366. package/lib/ota/zigbeeOTA.d.ts.map +0 -1
  367. package/lib/ota/zigbeeOTA.js +0 -143
  368. package/lib/ota/zigbeeOTA.js.map +0 -1
package/index.d.ts CHANGED
@@ -3,17 +3,19 @@ import fromZigbee from './converters/fromZigbee';
3
3
  import toZigbee from './converters/toZigbee';
4
4
  import * as configureKey from './lib/configureKey';
5
5
  import * as logger from './lib/logger';
6
- import * as ota from './lib/ota';
7
- import { Definition, DefinitionWithExtend, Expose, KeyValue, OnEventData, OnEventType, Option, OtaUpdateAvailableResult, Tz, Zh } from './lib/types';
8
- export { Definition as Definition, OnEventType as OnEventType, Feature as Feature, Expose as Expose, Option as Option, Numeric as Numeric, Binary as Binary, Enum as Enum, Text as Text, Composite as Composite, List as List, Light as Light, Climate as Climate, Switch as Switch, Lock as Lock, Cover as Cover, Fan as Fan, toZigbee as toZigbee, fromZigbee as fromZigbee, Tz as Tz, OtaUpdateAvailableResult as OtaUpdateAvailableResult, ota as ota, };
6
+ import { Definition, DefinitionWithExtend, Expose, KeyValue, OnEventData, OnEventType, Option, Tz, Zh } from './lib/types';
7
+ export type { Ota } from './lib/types';
8
+ export { Definition as Definition, OnEventType as OnEventType, Feature as Feature, Expose as Expose, Option as Option, Numeric as Numeric, Binary as Binary, Enum as Enum, Text as Text, Composite as Composite, List as List, Light as Light, Climate as Climate, Switch as Switch, Lock as Lock, Cover as Cover, Fan as Fan, toZigbee as toZigbee, fromZigbee as fromZigbee, Tz as Tz, };
9
+ export * as ota from './lib/ota';
9
10
  export declare const getConfigureKey: typeof configureKey.getConfigureKey;
10
11
  export declare const definitions: Definition[];
11
12
  export declare function postProcessConvertedFromZigbeeMessage(definition: Definition, payload: KeyValue, options: KeyValue): void;
13
+ export declare function removeExternalDefinitions(converterName?: string): void;
12
14
  export declare function addDefinition(definition: DefinitionWithExtend): void;
13
- export declare function findByDevice(device: Zh.Device, generateForUnknown?: boolean): Promise<Definition>;
14
- export declare function findDefinition(device: Zh.Device, generateForUnknown?: boolean): Promise<Definition>;
15
+ export declare function findByDevice(device: Zh.Device, generateForUnknown?: boolean): Promise<Definition | undefined>;
16
+ export declare function findDefinition(device: Zh.Device, generateForUnknown?: boolean): Promise<Definition | undefined>;
15
17
  export declare function generateExternalDefinitionSource(device: Zh.Device): Promise<string>;
16
- export declare function findByModel(model: string): Definition;
18
+ export declare function findByModel(model: string): Definition | undefined;
17
19
  export declare function onEvent(type: OnEventType, data: OnEventData, device: Zh.Device): Promise<void>;
18
20
  export declare const setLogger: typeof logger.setLogger;
19
21
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAMnI,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAE7C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAInD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,EAEH,UAAU,EAGV,oBAAoB,EACpB,MAAM,EAEN,QAAQ,EAER,WAAW,EACX,WAAW,EACX,MAAM,EACN,wBAAwB,EACxB,EAAE,EACF,EAAE,EACL,MAAM,aAAa,CAAC;AAKrB,OAAO,EACH,UAAU,IAAI,UAAU,EACxB,WAAW,IAAI,WAAW,EAC1B,OAAO,IAAI,OAAO,EAClB,MAAM,IAAI,MAAM,EAChB,MAAM,IAAI,MAAM,EAChB,OAAO,IAAI,OAAO,EAClB,MAAM,IAAI,MAAM,EAChB,IAAI,IAAI,IAAI,EACZ,IAAI,IAAI,IAAI,EACZ,SAAS,IAAI,SAAS,EACtB,IAAI,IAAI,IAAI,EACZ,KAAK,IAAI,KAAK,EACd,OAAO,IAAI,OAAO,EAClB,MAAM,IAAI,MAAM,EAChB,IAAI,IAAI,IAAI,EACZ,KAAK,IAAI,KAAK,EACd,GAAG,IAAI,GAAG,EACV,QAAQ,IAAI,QAAQ,EACpB,UAAU,IAAI,UAAU,EACxB,EAAE,IAAI,EAAE,EACR,wBAAwB,IAAI,wBAAwB,EACpD,GAAG,IAAI,GAAG,GACb,CAAC;AAEF,eAAO,MAAM,eAAe,qCAA+B,CAAC;AAI5D,eAAO,MAAM,WAAW,EAAE,UAAU,EAAO,CAAC;AA4O5C,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,QAajH;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,oBAAoB,QAgB7D;AAMD,wBAAsB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAE,OAAe,uBAcxF;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA8ChH;AAED,wBAAsB,gCAAgC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzF;AAqCD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,cAUxC;AAID,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,iBAoCpF;AAED,eAAO,MAAM,SAAS,yBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AAMnI,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAE7C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAInD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAEH,UAAU,EAGV,oBAAoB,EACpB,MAAM,EAEN,QAAQ,EAER,WAAW,EACX,WAAW,EACX,MAAM,EACN,EAAE,EACF,EAAE,EACL,MAAM,aAAa,CAAC;AAKrB,YAAY,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,EACH,UAAU,IAAI,UAAU,EACxB,WAAW,IAAI,WAAW,EAC1B,OAAO,IAAI,OAAO,EAClB,MAAM,IAAI,MAAM,EAChB,MAAM,IAAI,MAAM,EAChB,OAAO,IAAI,OAAO,EAClB,MAAM,IAAI,MAAM,EAChB,IAAI,IAAI,IAAI,EACZ,IAAI,IAAI,IAAI,EACZ,SAAS,IAAI,SAAS,EACtB,IAAI,IAAI,IAAI,EACZ,KAAK,IAAI,KAAK,EACd,OAAO,IAAI,OAAO,EAClB,MAAM,IAAI,MAAM,EAChB,IAAI,IAAI,IAAI,EACZ,KAAK,IAAI,KAAK,EACd,GAAG,IAAI,GAAG,EACV,QAAQ,IAAI,QAAQ,EACpB,UAAU,IAAI,UAAU,EACxB,EAAE,IAAI,EAAE,GACX,CAAC;AACF,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAEjC,eAAO,MAAM,eAAe,qCAA+B,CAAC;AAI5D,eAAO,MAAM,WAAW,EAAE,UAAU,EAAO,CAAC;AAkT5C,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAcxH;AAED,wBAAgB,yBAAyB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAyBtE;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAoBpE;AAMD,wBAAsB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAiB1H;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAiD5H;AAED,wBAAsB,gCAAgC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzF;AAuCD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAajE;AAID,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CpG;AAED,eAAO,MAAM,SAAS,yBAAmB,CAAC"}
package/index.js CHANGED
@@ -28,6 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.setLogger = exports.definitions = exports.getConfigureKey = exports.ota = exports.fromZigbee = exports.toZigbee = void 0;
30
30
  exports.postProcessConvertedFromZigbeeMessage = postProcessConvertedFromZigbeeMessage;
31
+ exports.removeExternalDefinitions = removeExternalDefinitions;
31
32
  exports.addDefinition = addDefinition;
32
33
  exports.findByDevice = findByDevice;
33
34
  exports.findDefinition = findDefinition;
@@ -46,38 +47,54 @@ const exposesLib = __importStar(require("./lib/exposes"));
46
47
  const exposes_1 = require("./lib/exposes");
47
48
  const generateDefinition_1 = require("./lib/generateDefinition");
48
49
  const logger = __importStar(require("./lib/logger"));
49
- const ota = __importStar(require("./lib/ota"));
50
- exports.ota = ota;
51
50
  const utils = __importStar(require("./lib/utils"));
52
51
  const NS = 'zhc';
52
+ exports.ota = __importStar(require("./lib/ota"));
53
53
  exports.getConfigureKey = configureKey.getConfigureKey;
54
54
  // key: zigbeeModel, value: array of definitions (most of the times 1)
55
55
  const lookup = new Map();
56
56
  exports.definitions = [];
57
+ // expected to be at the beginning of `definitions` array
58
+ let externalDefinitionsCount = 0;
57
59
  function arrayEquals(as, bs) {
58
- if (as.length !== bs.length)
60
+ if (as.length !== bs.length) {
59
61
  return false;
60
- for (const a of as)
61
- if (!bs.includes(a))
62
+ }
63
+ for (const a of as) {
64
+ if (!bs.includes(a)) {
62
65
  return false;
66
+ }
67
+ }
63
68
  return true;
64
69
  }
65
70
  function addToLookup(zigbeeModel, definition) {
66
- zigbeeModel = zigbeeModel ? zigbeeModel.toLowerCase() : null;
67
- if (!lookup.has(zigbeeModel)) {
68
- lookup.set(zigbeeModel, []);
71
+ const lookupModel = zigbeeModel ? zigbeeModel.toLowerCase() : 'null';
72
+ if (!lookup.has(lookupModel)) {
73
+ lookup.set(lookupModel, []);
74
+ }
75
+ // key created above as needed
76
+ if (!lookup.get(lookupModel).includes(definition)) {
77
+ lookup.get(lookupModel).splice(0, 0, definition);
69
78
  }
70
- if (!lookup.get(zigbeeModel).includes(definition)) {
71
- lookup.get(zigbeeModel).splice(0, 0, definition);
79
+ }
80
+ function removeFromLookup(zigbeeModel, definition) {
81
+ const lookupModel = zigbeeModel ? zigbeeModel.toLowerCase() : 'null';
82
+ if (lookup.has(lookupModel)) {
83
+ const i = lookup.get(lookupModel).indexOf(definition);
84
+ if (i > -1) {
85
+ lookup.get(lookupModel).splice(i, 1);
86
+ }
87
+ if (lookup.get(lookupModel).length === 0) {
88
+ lookup.delete(lookupModel);
89
+ }
72
90
  }
73
91
  }
74
92
  function getFromLookup(zigbeeModel) {
75
- zigbeeModel = zigbeeModel ? zigbeeModel.toLowerCase() : null;
76
- if (lookup.has(zigbeeModel)) {
77
- return lookup.get(zigbeeModel);
93
+ const lookupModel = zigbeeModel ? zigbeeModel.toLowerCase() : 'null';
94
+ if (lookup.has(lookupModel)) {
95
+ return lookup.get(lookupModel);
78
96
  }
79
- zigbeeModel = zigbeeModel ? zigbeeModel.replace(/\0(.|\n)*$/g, '').trim() : null;
80
- return lookup.get(zigbeeModel);
97
+ return lookup.get(lookupModel.replace(/\0(.|\n)*$/g, '').trim());
81
98
  }
82
99
  const converterRequiredFields = {
83
100
  model: 'String',
@@ -88,14 +105,10 @@ const converterRequiredFields = {
88
105
  };
89
106
  function validateDefinition(definition) {
90
107
  for (const [field, expectedType] of Object.entries(converterRequiredFields)) {
91
- // @ts-expect-error ignore
92
- assert_1.default.notStrictEqual(null, definition[field], `Converter field ${field} is null`);
93
- // @ts-expect-error ignore
94
- assert_1.default.notStrictEqual(undefined, definition[field], `Converter field ${field} is undefined`);
95
- // @ts-expect-error ignore
96
- const msg = `Converter field ${field} expected type doenst match to ${definition[field]}`;
97
- // @ts-expect-error ignore
98
- assert_1.default.strictEqual(definition[field].constructor.name, expectedType, msg);
108
+ const val = definition[field];
109
+ (0, assert_1.default)(val !== null, `Converter field ${field} is null`);
110
+ (0, assert_1.default)(val !== undefined, `Converter field ${field} is undefined`);
111
+ (0, assert_1.default)(val.constructor.name === expectedType, `Converter field ${field} expected type doenst match to ${val}`);
99
112
  }
100
113
  assert_1.default.ok(Array.isArray(definition.exposes) || typeof definition.exposes === 'function', 'Exposes incorrect');
101
114
  }
@@ -138,23 +151,26 @@ function processExtensions(definition) {
138
151
  if (!ext.isModernExtend) {
139
152
  assert_1.default.fail(`'${definition.model}' has legacy extend in modern extend`);
140
153
  }
141
- if (ext.toZigbee)
154
+ if (ext.toZigbee) {
142
155
  toZigbee.push(...ext.toZigbee);
143
- if (ext.fromZigbee)
156
+ }
157
+ if (ext.fromZigbee) {
144
158
  fromZigbee.push(...ext.fromZigbee);
145
- if (ext.exposes)
159
+ }
160
+ if (ext.exposes) {
146
161
  allExposes.push(...ext.exposes);
147
- if (ext.meta)
148
- meta = { ...ext.meta, ...meta };
162
+ }
163
+ if (ext.meta) {
164
+ meta = Object.assign({}, ext.meta, meta);
165
+ }
149
166
  // Filter `undefined` configures, e.g. returned by setupConfigureForReporting.
150
- if (ext.configure)
151
- configures.push(...ext.configure.filter((c) => c));
152
- if (ext.onEvent)
167
+ if (ext.configure) {
168
+ configures.push(...ext.configure.filter((c) => c != undefined));
169
+ }
170
+ if (ext.onEvent) {
153
171
  onEvents.push(ext.onEvent);
172
+ }
154
173
  if (ext.ota) {
155
- if (ota && ext.ota !== ota) {
156
- assert_1.default.fail(`'${definition.model}' has multiple 'ota', this is not allowed`);
157
- }
158
174
  ota = ext.ota;
159
175
  }
160
176
  if (ext.endpoint) {
@@ -179,7 +195,7 @@ function processExtensions(definition) {
179
195
  const uniqueActions = actions.filter((value, index, array) => array.indexOf(value) === index);
180
196
  allExposes.push(exposesLib.presets.action(uniqueActions));
181
197
  }
182
- let configure = null;
198
+ let configure;
183
199
  if (configures.length !== 0) {
184
200
  configure = async (device, coordinatorEndpoint, configureDefinition) => {
185
201
  for (const func of configures) {
@@ -187,7 +203,7 @@ function processExtensions(definition) {
187
203
  }
188
204
  };
189
205
  }
190
- let onEvent = null;
206
+ let onEvent;
191
207
  if (onEvents.length !== 0) {
192
208
  onEvent = async (type, data, device, settings, state) => {
193
209
  for (const func of onEvents) {
@@ -224,19 +240,23 @@ function prepareDefinition(definition) {
224
240
  if (definition.exposes && Array.isArray(definition.exposes) && !definition.exposes.find((e) => e.name === 'linkquality')) {
225
241
  definition.exposes = definition.exposes.concat([exposesLib.presets.linkquality()]);
226
242
  }
227
- validateDefinition(definition);
243
+ if (definition.externalConverterName) {
244
+ validateDefinition(definition);
245
+ }
228
246
  // Add all the options
229
- if (!definition.options)
247
+ if (!definition.options) {
230
248
  definition.options = [];
249
+ }
231
250
  const optionKeys = definition.options.map((o) => o.name);
232
251
  // Add calibration/precision options based on expose
233
- for (const expose of Array.isArray(definition.exposes) ? definition.exposes : definition.exposes(null, null)) {
252
+ for (const expose of Array.isArray(definition.exposes) ? definition.exposes : definition.exposes(undefined, undefined)) {
234
253
  if (!optionKeys.includes(expose.name) &&
235
254
  utils.isNumericExpose(expose) &&
236
255
  expose.name in utils.calibrateAndPrecisionRoundOptionsDefaultPrecision) {
237
256
  // Battery voltage is not calibratable
238
- if (expose.name === 'voltage' && expose.unit === 'mV')
257
+ if (expose.name === 'voltage' && expose.unit === 'mV') {
239
258
  continue;
259
+ }
240
260
  const type = utils.calibrateAndPrecisionRoundOptionsIsPercentual(expose.name) ? 'percentual' : 'absolute';
241
261
  definition.options.push(exposesLib.options.calibration(expose.name, type));
242
262
  if (utils.calibrateAndPrecisionRoundOptionsDefaultPrecision[expose.name] !== 0) {
@@ -261,9 +281,9 @@ function prepareDefinition(definition) {
261
281
  function postProcessConvertedFromZigbeeMessage(definition, payload, options) {
262
282
  // Apply calibration/precision options
263
283
  for (const [key, value] of Object.entries(payload)) {
264
- const definitionExposes = Array.isArray(definition.exposes) ? definition.exposes : definition.exposes(null, null);
284
+ const definitionExposes = Array.isArray(definition.exposes) ? definition.exposes : definition.exposes(undefined, undefined);
265
285
  const expose = definitionExposes.find((e) => e.property === key);
266
- if (expose?.name in utils.calibrateAndPrecisionRoundOptionsDefaultPrecision && value !== '' && utils.isNumber(value)) {
286
+ if (expose?.name && expose.name in utils.calibrateAndPrecisionRoundOptionsDefaultPrecision && value !== '' && utils.isNumber(value)) {
267
287
  try {
268
288
  payload[key] = utils.calibrateAndPrecisionRoundOptions(value, options, expose.name);
269
289
  }
@@ -273,15 +293,39 @@ function postProcessConvertedFromZigbeeMessage(definition, payload, options) {
273
293
  }
274
294
  }
275
295
  }
296
+ function removeExternalDefinitions(converterName) {
297
+ for (let i = 0; i < externalDefinitionsCount; i++) {
298
+ const definition = exports.definitions[i];
299
+ if (converterName && definition.externalConverterName !== converterName) {
300
+ continue;
301
+ }
302
+ if ('zigbeeModel' in definition && definition.zigbeeModel) {
303
+ for (const zigbeeModel of definition.zigbeeModel) {
304
+ removeFromLookup(zigbeeModel, definition);
305
+ }
306
+ }
307
+ if ('fingerprint' in definition && definition.fingerprint) {
308
+ for (const fingerprint of definition.fingerprint) {
309
+ removeFromLookup(fingerprint.modelID, definition);
310
+ }
311
+ }
312
+ exports.definitions.splice(i, 1);
313
+ externalDefinitionsCount--;
314
+ i--;
315
+ }
316
+ }
276
317
  function addDefinition(definition) {
277
318
  definition = prepareDefinition(definition);
278
319
  exports.definitions.splice(0, 0, definition);
279
- if ('fingerprint' in definition) {
320
+ if (definition.externalConverterName) {
321
+ externalDefinitionsCount++;
322
+ }
323
+ if ('fingerprint' in definition && definition.fingerprint) {
280
324
  for (const fingerprint of definition.fingerprint) {
281
325
  addToLookup(fingerprint.modelID, definition);
282
326
  }
283
327
  }
284
- if ('zigbeeModel' in definition) {
328
+ if ('zigbeeModel' in definition && definition.zigbeeModel) {
285
329
  for (const zigbeeModel of definition.zigbeeModel) {
286
330
  addToLookup(zigbeeModel, definition);
287
331
  }
@@ -307,12 +351,12 @@ async function findByDevice(device, generateForUnknown = false) {
307
351
  }
308
352
  async function findDefinition(device, generateForUnknown = false) {
309
353
  if (!device) {
310
- return null;
354
+ return undefined;
311
355
  }
312
356
  const candidates = getFromLookup(device.modelID);
313
357
  if (!candidates) {
314
358
  if (!generateForUnknown || device.type === 'Coordinator') {
315
- return null;
359
+ return undefined;
316
360
  }
317
361
  // Do not add this definition to cache,
318
362
  // as device configuration might change.
@@ -323,12 +367,13 @@ async function findDefinition(device, generateForUnknown = false) {
323
367
  }
324
368
  else {
325
369
  // First try to match based on fingerprint, return the first matching one.
326
- const fingerprintMatch = { priority: null, definition: null };
370
+ const fingerprintMatch = { priority: undefined, definition: undefined };
327
371
  for (const candidate of candidates) {
328
372
  if (candidate.fingerprint) {
329
373
  for (const fingerprint of candidate.fingerprint) {
330
374
  const priority = fingerprint.priority ?? 0;
331
- if (isFingerprintMatch(fingerprint, device) && (!fingerprintMatch.definition || priority > fingerprintMatch.priority)) {
375
+ if (isFingerprintMatch(fingerprint, device) &&
376
+ (fingerprintMatch.priority === undefined || priority > fingerprintMatch.priority)) {
332
377
  fingerprintMatch.definition = candidate;
333
378
  fingerprintMatch.priority = priority;
334
379
  }
@@ -340,12 +385,12 @@ async function findDefinition(device, generateForUnknown = false) {
340
385
  }
341
386
  // Match based on fingerprint failed, return first matching definition based on zigbeeModel
342
387
  for (const candidate of candidates) {
343
- if (candidate.zigbeeModel && candidate.zigbeeModel.includes(device.modelID)) {
388
+ if (candidate.zigbeeModel && device.modelID && candidate.zigbeeModel.includes(device.modelID)) {
344
389
  return candidate;
345
390
  }
346
391
  }
347
392
  }
348
- return null;
393
+ return undefined;
349
394
  }
350
395
  async function generateExternalDefinitionSource(device) {
351
396
  return (await (0, generateDefinition_1.generateDefinition)(device)).externalDefinitionSource;
@@ -362,18 +407,20 @@ function isFingerprintMatch(fingerprint, device) {
362
407
  (!fingerprint.softwareBuildID || device.softwareBuildID === fingerprint.softwareBuildID) &&
363
408
  (!fingerprint.stackVersion || device.stackVersion === fingerprint.stackVersion) &&
364
409
  (!fingerprint.zclVersion || device.zclVersion === fingerprint.zclVersion) &&
365
- (!fingerprint.ieeeAddr || device.ieeeAddr.match(fingerprint.ieeeAddr)) &&
410
+ (!fingerprint.ieeeAddr || device.ieeeAddr.match(fingerprint.ieeeAddr) !== null) &&
366
411
  (!fingerprint.endpoints ||
367
412
  arrayEquals(device.endpoints.map((e) => e.ID), fingerprint.endpoints.map((e) => e.ID)));
368
413
  if (match && fingerprint.endpoints) {
369
414
  for (const fingerprintEndpoint of fingerprint.endpoints) {
370
- const deviceEndpoint = device.getEndpoint(fingerprintEndpoint.ID);
415
+ const deviceEndpoint = fingerprintEndpoint.ID !== undefined ? device.getEndpoint(fingerprintEndpoint.ID) : undefined;
371
416
  match =
372
417
  match &&
373
- (!fingerprintEndpoint.deviceID || deviceEndpoint.deviceID === fingerprintEndpoint.deviceID) &&
374
- (!fingerprintEndpoint.profileID || deviceEndpoint.profileID === fingerprintEndpoint.profileID) &&
375
- (!fingerprintEndpoint.inputClusters || arrayEquals(deviceEndpoint.inputClusters, fingerprintEndpoint.inputClusters)) &&
376
- (!fingerprintEndpoint.outputClusters || arrayEquals(deviceEndpoint.outputClusters, fingerprintEndpoint.outputClusters));
418
+ (!fingerprintEndpoint.deviceID || (deviceEndpoint !== undefined && deviceEndpoint.deviceID === fingerprintEndpoint.deviceID)) &&
419
+ (!fingerprintEndpoint.profileID || (deviceEndpoint !== undefined && deviceEndpoint.profileID === fingerprintEndpoint.profileID)) &&
420
+ (!fingerprintEndpoint.inputClusters ||
421
+ (deviceEndpoint !== undefined && arrayEquals(deviceEndpoint.inputClusters, fingerprintEndpoint.inputClusters))) &&
422
+ (!fingerprintEndpoint.outputClusters ||
423
+ (deviceEndpoint !== undefined && arrayEquals(deviceEndpoint.outputClusters, fingerprintEndpoint.outputClusters)));
377
424
  }
378
425
  }
379
426
  return match;
@@ -385,8 +432,8 @@ function findByModel(model) {
385
432
  */
386
433
  model = model.toLowerCase();
387
434
  return exports.definitions.find((definition) => {
388
- const whiteLabelMatch = definition.whiteLabel && definition.whiteLabel.find((dd) => dd.model.toLowerCase() === model);
389
- return definition.model.toLowerCase() == model || whiteLabelMatch;
435
+ return (definition.model.toLowerCase() == model ||
436
+ (definition.whiteLabel && definition.whiteLabel.find((dwl) => dwl.model.toLowerCase() === model)));
390
437
  });
391
438
  }
392
439
  // Can be used to handle events for devices which are not fully paired yet (no modelID).
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"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"}
package/lib/exposes.d.ts CHANGED
@@ -155,18 +155,18 @@ export declare const options: {
155
155
  occupancy_timeout: () => Numeric;
156
156
  occupancy_timeout_2: () => Numeric;
157
157
  vibration_timeout: () => Numeric;
158
- simulated_brightness: (extraNote?: string) => Composite;
158
+ simulated_brightness: () => Composite;
159
159
  no_occupancy_since_true: () => List;
160
160
  no_occupancy_since_false: () => List;
161
161
  presence_timeout: () => Numeric;
162
162
  no_position_support: () => Binary;
163
163
  transition: () => Numeric;
164
- legacy: () => Binary;
165
164
  measurement_poll_interval: (extraNote?: string) => Numeric;
166
165
  illuminance_below_threshold_check: () => Binary;
167
166
  state_action: () => Binary;
168
167
  identify_timeout: () => Numeric;
169
168
  cover_position_tilt_disable_report: () => Binary;
169
+ local_temperature_based_on_sensor: () => Binary;
170
170
  };
171
171
  export declare const presets: {
172
172
  binary: (name: string, access: number, valueOn: string | boolean, valueOff: string | boolean) => Binary;
@@ -233,7 +233,6 @@ export declare const presets: {
233
233
  holiday_temperature: () => Numeric;
234
234
  humidity: () => Numeric;
235
235
  illuminance: () => Numeric;
236
- illuminance_lux: () => Numeric;
237
236
  brightness_state: () => Enum;
238
237
  keypad_lockout: () => Enum;
239
238
  led_disabled_night: () => Binary;
@@ -1 +1 @@
1
- {"version":3,"file":"exposes.d.ts","sourceRoot":"","sources":["../src/lib/exposes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exposes.d.ts","sourceRoot":"","sources":["../src/lib/exposes.ts"],"names":[],"mappings":"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"}
package/lib/exposes.js CHANGED
@@ -339,13 +339,13 @@ class Light extends Base {
339
339
  if (!disableFeatures.includes('on_transition_time')) {
340
340
  levelConfig = levelConfig.withFeature(new Numeric('on_transition_time', exports.access.ALL)
341
341
  .withLabel('ON transition time')
342
- .withPreset('disabled', 65535, 'Use on_off_transition_time value')
342
+ .withPreset('disabled', 'disabled', 'Use on_off_transition_time value')
343
343
  .withDescription('Represents the time taken to move the current level from the minimum level to the maximum level when an On command is received'));
344
344
  }
345
345
  if (!disableFeatures.includes('off_transition_time')) {
346
346
  levelConfig = levelConfig.withFeature(new Numeric('off_transition_time', exports.access.ALL)
347
347
  .withLabel('OFF transition time')
348
- .withPreset('disabled', 65535, 'Use on_off_transition_time value')
348
+ .withPreset('disabled', 'disabled', 'Use on_off_transition_time value')
349
349
  .withDescription('Represents the time taken to move the current level from the maximum level to the minimum level when an Off command is received'));
350
350
  }
351
351
  if (!disableFeatures.includes('execute_if_off')) {
@@ -355,15 +355,15 @@ class Light extends Base {
355
355
  levelConfig = levelConfig.withFeature(new Numeric('on_level', exports.access.ALL)
356
356
  .withValueMin(1)
357
357
  .withValueMax(254)
358
- .withPreset('previous', 255, 'Use previous value')
358
+ .withPreset('previous', 'previous', 'Use previous value')
359
359
  .withDescription('Specifies the level that shall be applied, when an on/toggle command causes the light to turn on.'));
360
360
  }
361
361
  if (!disableFeatures.includes('current_level_startup')) {
362
362
  levelConfig = levelConfig.withFeature(new Numeric('current_level_startup', exports.access.ALL)
363
363
  .withValueMin(1)
364
364
  .withValueMax(254)
365
- .withPreset('minimum', 0, 'Use minimum permitted value')
366
- .withPreset('previous', 255, 'Use previous value')
365
+ .withPreset('minimum', 'minimum', 'Use minimum permitted value')
366
+ .withPreset('previous', 'previous', 'Use previous value')
367
367
  .withDescription('Defines the desired startup level for a device when it is supplied with power'));
368
368
  }
369
369
  levelConfig = levelConfig.withDescription('Configure genLevelCtrl');
@@ -669,8 +669,8 @@ exports.options = {
669
669
  vibration_timeout: () => new Numeric(`vibration_timeout`, exports.access.SET)
670
670
  .withValueMin(0)
671
671
  .withDescription('Time in seconds after which vibration is cleared after detecting it (default 90 seconds).'),
672
- simulated_brightness: (extraNote = '') => new Composite('simulated_brightness', 'simulated_brightness', exports.access.SET)
673
- .withDescription(`Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta. The action_brightness_delta indicates the delta for each interval. ${extraNote}`)
672
+ simulated_brightness: () => new Composite('simulated_brightness', 'simulated_brightness', exports.access.SET)
673
+ .withDescription(`Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta. The action_brightness_delta indicates the delta for each interval.`)
674
674
  .withFeature(new Numeric('delta', exports.access.SET).withValueMin(0).withDescription('Delta per interval, 20 by default'))
675
675
  .withFeature(new Numeric('interval', exports.access.SET).withValueMin(0).withUnit('ms').withDescription('Interval duration')),
676
676
  no_occupancy_since_true: () => new List(`no_occupancy_since`, exports.access.SET, new Numeric('time', exports.access.STATE_SET)).withDescription('Sends a message the last time occupancy (occupancy: true) was detected. When setting this for example to [10, 60] a `{"no_occupancy_since": 10}` will be send after 10 seconds and a `{"no_occupancy_since": 60}` after 60 seconds.'),
@@ -682,7 +682,6 @@ exports.options = {
682
682
  transition: () => new Numeric(`transition`, exports.access.SET)
683
683
  .withValueMin(0)
684
684
  .withDescription('Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition).'),
685
- legacy: () => new Binary(`legacy`, exports.access.SET, true, false).withDescription(`Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).`),
686
685
  measurement_poll_interval: (extraNote = '') => new Numeric(`measurement_poll_interval`, exports.access.SET)
687
686
  .withValueMin(-1)
688
687
  .withDescription(`This device does not support reporting electric measurements so it is polled instead. The default poll interval is 60 seconds, set to -1 to disable.${extraNote}`),
@@ -693,6 +692,9 @@ exports.options = {
693
692
  .withValueMin(1)
694
693
  .withValueMax(30),
695
694
  cover_position_tilt_disable_report: () => new Binary(`cover_position_tilt_disable_report`, exports.access.SET, true, false).withDescription(`Do not publish set cover target position as a normal 'position' value (default false).`),
695
+ local_temperature_based_on_sensor: () => new Binary(`local_temperature_based_on_sensor`, exports.access.SET, true, false)
696
+ .withLabel('Local temperature sensor reporting')
697
+ .withDescription(`Base local temperature on sensor choice (default false).`),
696
698
  };
697
699
  exports.presets = {
698
700
  // Generic
@@ -802,8 +804,7 @@ exports.presets = {
802
804
  hcho: () => new Numeric('hcho', exports.access.STATE).withLabel('HCHO').withUnit('mg/m³').withDescription('Measured HCHO value'),
803
805
  holiday_temperature: () => new Numeric('holiday_temperature', exports.access.STATE_SET).withUnit('°C').withDescription('Holiday temperature').withValueMin(0).withValueMax(30),
804
806
  humidity: () => new Numeric('humidity', exports.access.STATE).withUnit('%').withDescription('Measured relative humidity'),
805
- illuminance: () => new Numeric('illuminance', exports.access.STATE).withDescription('Raw measured illuminance'),
806
- illuminance_lux: () => new Numeric('illuminance_lux', exports.access.STATE).withLabel('Illuminance (lux)').withUnit('lx').withDescription('Measured illuminance in lux'),
807
+ illuminance: () => new Numeric('illuminance', exports.access.STATE).withDescription('Measured illuminance').withUnit('lx'),
807
808
  brightness_state: () => new Enum('brightness_state', exports.access.STATE, ['low', 'middle', 'high', 'strong']).withDescription('Brightness state'),
808
809
  keypad_lockout: () => new Enum('keypad_lockout', exports.access.ALL, ['unlock', 'lock1', 'lock2']).withDescription('Enables/disables physical input on the device'),
809
810
  led_disabled_night: () => new Binary('led_disabled_night', exports.access.ALL, true, false)