@smarthome.exchange/integrations 1.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/changelog.md +84 -0
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/core/classes.configstore.d.ts +2 -0
  4. package/dist_ts/core/classes.configstore.js +84 -27
  5. package/dist_ts/core/classes.nativehomeadmission.d.ts +19 -0
  6. package/dist_ts/core/classes.nativehomeadmission.js +84 -0
  7. package/dist_ts/core/classes.nativeintegrationowner.d.ts +81 -0
  8. package/dist_ts/core/classes.nativeintegrationowner.js +273 -0
  9. package/dist_ts/core/classes.runtimemanager.d.ts +2 -0
  10. package/dist_ts/core/classes.runtimemanager.js +11 -3
  11. package/dist_ts/core/index.d.ts +2 -0
  12. package/dist_ts/core/index.js +3 -1
  13. package/dist_ts/core/types.d.ts +16 -0
  14. package/dist_ts/integrations/braviatv/braviatv.classes.client.d.ts +23 -72
  15. package/dist_ts/integrations/braviatv/braviatv.classes.client.js +265 -625
  16. package/dist_ts/integrations/braviatv/braviatv.classes.configflow.d.ts +7 -7
  17. package/dist_ts/integrations/braviatv/braviatv.classes.configflow.js +51 -68
  18. package/dist_ts/integrations/braviatv/braviatv.classes.integration.d.ts +8 -11
  19. package/dist_ts/integrations/braviatv/braviatv.classes.integration.js +186 -135
  20. package/dist_ts/integrations/braviatv/braviatv.discovery.js +12 -11
  21. package/dist_ts/integrations/braviatv/braviatv.mapper.d.ts +6 -14
  22. package/dist_ts/integrations/braviatv/braviatv.mapper.js +37 -131
  23. package/dist_ts/integrations/braviatv/braviatv.types.d.ts +55 -133
  24. package/dist_ts/integrations/braviatv/braviatv.validation.d.ts +7 -0
  25. package/dist_ts/integrations/braviatv/braviatv.validation.js +72 -0
  26. package/dist_ts/integrations/broadlink/broadlink.actions.d.ts +2 -0
  27. package/dist_ts/integrations/broadlink/broadlink.actions.js +36 -0
  28. package/dist_ts/integrations/broadlink/broadlink.classes.client.d.ts +21 -19
  29. package/dist_ts/integrations/broadlink/broadlink.classes.client.js +185 -124
  30. package/dist_ts/integrations/broadlink/broadlink.classes.configflow.d.ts +5 -4
  31. package/dist_ts/integrations/broadlink/broadlink.classes.configflow.js +64 -83
  32. package/dist_ts/integrations/broadlink/broadlink.classes.integration.d.ts +16 -19
  33. package/dist_ts/integrations/broadlink/broadlink.classes.integration.js +114 -59
  34. package/dist_ts/integrations/broadlink/broadlink.mapper.d.ts +3 -2
  35. package/dist_ts/integrations/broadlink/broadlink.mapper.js +2 -1
  36. package/dist_ts/integrations/broadlink/broadlink.selected.mapper.d.ts +10 -0
  37. package/dist_ts/integrations/broadlink/broadlink.selected.mapper.js +41 -0
  38. package/dist_ts/integrations/broadlink/broadlink.types.d.ts +43 -7
  39. package/dist_ts/integrations/broadlink/broadlink.validation.d.ts +7 -0
  40. package/dist_ts/integrations/broadlink/broadlink.validation.js +63 -0
  41. package/dist_ts/integrations/daikin/daikin.classes.client.d.ts +10 -52
  42. package/dist_ts/integrations/daikin/daikin.classes.client.js +55 -614
  43. package/dist_ts/integrations/daikin/daikin.classes.configflow.d.ts +8 -12
  44. package/dist_ts/integrations/daikin/daikin.classes.configflow.js +77 -138
  45. package/dist_ts/integrations/daikin/daikin.classes.integration.d.ts +7 -24
  46. package/dist_ts/integrations/daikin/daikin.classes.integration.js +175 -67
  47. package/dist_ts/integrations/daikin/daikin.discovery.d.ts +11 -24
  48. package/dist_ts/integrations/daikin/daikin.discovery.js +98 -305
  49. package/dist_ts/integrations/daikin/daikin.mapper.d.ts +6 -7
  50. package/dist_ts/integrations/daikin/daikin.mapper.js +95 -155
  51. package/dist_ts/integrations/daikin/daikin.types.d.ts +24 -44
  52. package/dist_ts/integrations/daikin/daikin.types.js +1 -1
  53. package/dist_ts/integrations/daikin/daikin.validation.d.ts +5 -0
  54. package/dist_ts/integrations/daikin/daikin.validation.js +53 -0
  55. package/dist_ts/integrations/deconz/deconz.classes.client.d.ts +37 -29
  56. package/dist_ts/integrations/deconz/deconz.classes.client.js +521 -294
  57. package/dist_ts/integrations/deconz/deconz.classes.configflow.d.ts +6 -1
  58. package/dist_ts/integrations/deconz/deconz.classes.configflow.js +63 -33
  59. package/dist_ts/integrations/deconz/deconz.classes.integration.d.ts +4 -3
  60. package/dist_ts/integrations/deconz/deconz.classes.integration.js +85 -40
  61. package/dist_ts/integrations/deconz/deconz.mapper.d.ts +1 -0
  62. package/dist_ts/integrations/deconz/deconz.mapper.js +24 -6
  63. package/dist_ts/integrations/deconz/deconz.types.d.ts +43 -6
  64. package/dist_ts/integrations/deconz/deconz.validation.d.ts +7 -1
  65. package/dist_ts/integrations/deconz/deconz.validation.js +215 -4
  66. package/dist_ts/integrations/denonavr/denonavr.classes.client.d.ts +31 -40
  67. package/dist_ts/integrations/denonavr/denonavr.classes.client.js +149 -404
  68. package/dist_ts/integrations/denonavr/denonavr.classes.configflow.d.ts +7 -2
  69. package/dist_ts/integrations/denonavr/denonavr.classes.configflow.js +44 -36
  70. package/dist_ts/integrations/denonavr/denonavr.classes.integration.d.ts +6 -11
  71. package/dist_ts/integrations/denonavr/denonavr.classes.integration.js +192 -113
  72. package/dist_ts/integrations/denonavr/denonavr.discovery.d.ts +10 -18
  73. package/dist_ts/integrations/denonavr/denonavr.discovery.js +71 -193
  74. package/dist_ts/integrations/denonavr/denonavr.mapper.d.ts +5 -13
  75. package/dist_ts/integrations/denonavr/denonavr.mapper.js +35 -159
  76. package/dist_ts/integrations/denonavr/denonavr.types.d.ts +55 -90
  77. package/dist_ts/integrations/denonavr/denonavr.validation.d.ts +10 -0
  78. package/dist_ts/integrations/denonavr/denonavr.validation.js +86 -0
  79. package/dist_ts/integrations/esphome/esphome.classes.client.d.ts +19 -7
  80. package/dist_ts/integrations/esphome/esphome.classes.client.js +183 -89
  81. package/dist_ts/integrations/esphome/esphome.classes.configflow.d.ts +5 -2
  82. package/dist_ts/integrations/esphome/esphome.classes.configflow.js +43 -33
  83. package/dist_ts/integrations/esphome/esphome.classes.integration.d.ts +8 -6
  84. package/dist_ts/integrations/esphome/esphome.classes.integration.js +71 -43
  85. package/dist_ts/integrations/esphome/esphome.discovery.js +4 -12
  86. package/dist_ts/integrations/esphome/esphome.mapper.d.ts +2 -2
  87. package/dist_ts/integrations/esphome/esphome.mapper.js +6 -4
  88. package/dist_ts/integrations/esphome/esphome.types.d.ts +31 -6
  89. package/dist_ts/integrations/esphome/esphome.types.js +1 -1
  90. package/dist_ts/integrations/esphome/esphome.validation.d.ts +7 -0
  91. package/dist_ts/integrations/esphome/esphome.validation.js +66 -0
  92. package/dist_ts/integrations/homeassistant/homeassistant.classes.client.d.ts +32 -4
  93. package/dist_ts/integrations/homeassistant/homeassistant.classes.client.js +345 -116
  94. package/dist_ts/integrations/homeassistant/homeassistant.classes.integration.d.ts +8 -5
  95. package/dist_ts/integrations/homeassistant/homeassistant.classes.integration.js +34 -8
  96. package/dist_ts/integrations/homeassistant/homeassistant.classes.runtime.d.ts +7 -4
  97. package/dist_ts/integrations/homeassistant/homeassistant.classes.runtime.js +44 -56
  98. package/dist_ts/integrations/homeassistant/homeassistant.types.d.ts +12 -1
  99. package/dist_ts/integrations/hue/hue.classes.client.d.ts +6 -1
  100. package/dist_ts/integrations/hue/hue.classes.client.js +120 -45
  101. package/dist_ts/integrations/hue/hue.classes.configflow.js +16 -7
  102. package/dist_ts/integrations/hue/hue.classes.integration.d.ts +2 -0
  103. package/dist_ts/integrations/hue/hue.classes.integration.js +103 -30
  104. package/dist_ts/integrations/hue/hue.validation.d.ts +1 -0
  105. package/dist_ts/integrations/hue/hue.validation.js +14 -4
  106. package/dist_ts/integrations/kodi/kodi.classes.client.d.ts +11 -45
  107. package/dist_ts/integrations/kodi/kodi.classes.client.js +84 -310
  108. package/dist_ts/integrations/kodi/kodi.classes.configflow.d.ts +9 -8
  109. package/dist_ts/integrations/kodi/kodi.classes.configflow.js +53 -48
  110. package/dist_ts/integrations/kodi/kodi.classes.integration.d.ts +11 -11
  111. package/dist_ts/integrations/kodi/kodi.classes.integration.js +114 -171
  112. package/dist_ts/integrations/kodi/kodi.discovery.js +53 -29
  113. package/dist_ts/integrations/kodi/kodi.mapper.d.ts +7 -2
  114. package/dist_ts/integrations/kodi/kodi.mapper.js +48 -10
  115. package/dist_ts/integrations/kodi/kodi.types.d.ts +32 -28
  116. package/dist_ts/integrations/kodi/kodi.validation.d.ts +9 -0
  117. package/dist_ts/integrations/kodi/kodi.validation.js +62 -0
  118. package/dist_ts/integrations/modbus/modbus.classes.client.d.ts +15 -61
  119. package/dist_ts/integrations/modbus/modbus.classes.client.js +117 -776
  120. package/dist_ts/integrations/modbus/modbus.classes.configflow.d.ts +9 -5
  121. package/dist_ts/integrations/modbus/modbus.classes.configflow.js +70 -38
  122. package/dist_ts/integrations/modbus/modbus.classes.integration.d.ts +6 -17
  123. package/dist_ts/integrations/modbus/modbus.classes.integration.js +133 -57
  124. package/dist_ts/integrations/modbus/modbus.discovery.d.ts +5 -8
  125. package/dist_ts/integrations/modbus/modbus.discovery.js +38 -93
  126. package/dist_ts/integrations/modbus/modbus.mapper.d.ts +8 -32
  127. package/dist_ts/integrations/modbus/modbus.mapper.js +71 -431
  128. package/dist_ts/integrations/modbus/modbus.types.d.ts +82 -332
  129. package/dist_ts/integrations/modbus/modbus.validation.d.ts +10 -0
  130. package/dist_ts/integrations/modbus/modbus.validation.js +128 -0
  131. package/dist_ts/integrations/mqtt/mqtt.classes.client.d.ts +15 -2
  132. package/dist_ts/integrations/mqtt/mqtt.classes.client.js +173 -23
  133. package/dist_ts/integrations/mqtt/mqtt.classes.configflow.d.ts +5 -1
  134. package/dist_ts/integrations/mqtt/mqtt.classes.configflow.js +53 -33
  135. package/dist_ts/integrations/mqtt/mqtt.classes.integration.d.ts +4 -1
  136. package/dist_ts/integrations/mqtt/mqtt.classes.integration.js +127 -56
  137. package/dist_ts/integrations/mqtt/mqtt.classes.session.d.ts +13 -0
  138. package/dist_ts/integrations/mqtt/mqtt.classes.session.js +130 -0
  139. package/dist_ts/integrations/mqtt/mqtt.mapper.d.ts +3 -0
  140. package/dist_ts/integrations/mqtt/mqtt.mapper.js +44 -1
  141. package/dist_ts/integrations/mqtt/mqtt.types.d.ts +46 -0
  142. package/dist_ts/integrations/mqtt/mqtt.validation.d.ts +7 -0
  143. package/dist_ts/integrations/mqtt/mqtt.validation.js +180 -0
  144. package/dist_ts/integrations/nanoleaf/nanoleaf.classes.client.d.ts +12 -34
  145. package/dist_ts/integrations/nanoleaf/nanoleaf.classes.client.js +143 -231
  146. package/dist_ts/integrations/nanoleaf/nanoleaf.classes.configflow.d.ts +6 -1
  147. package/dist_ts/integrations/nanoleaf/nanoleaf.classes.configflow.js +105 -18
  148. package/dist_ts/integrations/nanoleaf/nanoleaf.classes.integration.d.ts +8 -8
  149. package/dist_ts/integrations/nanoleaf/nanoleaf.classes.integration.js +141 -155
  150. package/dist_ts/integrations/nanoleaf/nanoleaf.credentials.d.ts +9 -0
  151. package/dist_ts/integrations/nanoleaf/nanoleaf.credentials.js +35 -0
  152. package/dist_ts/integrations/nanoleaf/nanoleaf.mapper.d.ts +6 -18
  153. package/dist_ts/integrations/nanoleaf/nanoleaf.mapper.js +45 -220
  154. package/dist_ts/integrations/nanoleaf/nanoleaf.types.d.ts +33 -147
  155. package/dist_ts/integrations/nanoleaf/nanoleaf.validation.d.ts +6 -0
  156. package/dist_ts/integrations/nanoleaf/nanoleaf.validation.js +82 -0
  157. package/dist_ts/integrations/onkyo/onkyo.classes.client.d.ts +15 -20
  158. package/dist_ts/integrations/onkyo/onkyo.classes.client.js +161 -404
  159. package/dist_ts/integrations/onkyo/onkyo.classes.configflow.d.ts +9 -4
  160. package/dist_ts/integrations/onkyo/onkyo.classes.configflow.js +51 -6
  161. package/dist_ts/integrations/onkyo/onkyo.classes.integration.d.ts +22 -6
  162. package/dist_ts/integrations/onkyo/onkyo.classes.integration.js +144 -11
  163. package/dist_ts/integrations/onkyo/onkyo.discovery.d.ts +6 -1
  164. package/dist_ts/integrations/onkyo/onkyo.discovery.js +40 -4
  165. package/dist_ts/integrations/onkyo/onkyo.mapper.d.ts +7 -8
  166. package/dist_ts/integrations/onkyo/onkyo.mapper.js +45 -12
  167. package/dist_ts/integrations/onkyo/onkyo.types.d.ts +58 -8
  168. package/dist_ts/integrations/onkyo/onkyo.types.js +13 -102
  169. package/dist_ts/integrations/onkyo/onkyo.validation.d.ts +16 -0
  170. package/dist_ts/integrations/onkyo/onkyo.validation.js +77 -0
  171. package/dist_ts/integrations/panasonic_viera/panasonic_viera.classes.client.d.ts +25 -25
  172. package/dist_ts/integrations/panasonic_viera/panasonic_viera.classes.client.js +116 -360
  173. package/dist_ts/integrations/panasonic_viera/panasonic_viera.classes.configflow.d.ts +11 -3
  174. package/dist_ts/integrations/panasonic_viera/panasonic_viera.classes.configflow.js +76 -6
  175. package/dist_ts/integrations/panasonic_viera/panasonic_viera.classes.integration.d.ts +26 -4
  176. package/dist_ts/integrations/panasonic_viera/panasonic_viera.classes.integration.js +142 -9
  177. package/dist_ts/integrations/panasonic_viera/panasonic_viera.discovery.d.ts +2 -1
  178. package/dist_ts/integrations/panasonic_viera/panasonic_viera.discovery.js +31 -4
  179. package/dist_ts/integrations/panasonic_viera/panasonic_viera.mapper.d.ts +9 -9
  180. package/dist_ts/integrations/panasonic_viera/panasonic_viera.mapper.js +31 -149
  181. package/dist_ts/integrations/panasonic_viera/panasonic_viera.types.d.ts +51 -11
  182. package/dist_ts/integrations/panasonic_viera/panasonic_viera.types.js +22 -87
  183. package/dist_ts/integrations/panasonic_viera/panasonic_viera.validation.d.ts +6 -0
  184. package/dist_ts/integrations/panasonic_viera/panasonic_viera.validation.js +56 -0
  185. package/dist_ts/integrations/pioneer/pioneer.classes.client.d.ts +31 -16
  186. package/dist_ts/integrations/pioneer/pioneer.classes.client.js +167 -409
  187. package/dist_ts/integrations/pioneer/pioneer.classes.configflow.d.ts +10 -3
  188. package/dist_ts/integrations/pioneer/pioneer.classes.configflow.js +66 -6
  189. package/dist_ts/integrations/pioneer/pioneer.classes.integration.d.ts +13 -5
  190. package/dist_ts/integrations/pioneer/pioneer.classes.integration.js +239 -11
  191. package/dist_ts/integrations/pioneer/pioneer.discovery.d.ts +14 -1
  192. package/dist_ts/integrations/pioneer/pioneer.discovery.js +51 -4
  193. package/dist_ts/integrations/pioneer/pioneer.mapper.d.ts +14 -8
  194. package/dist_ts/integrations/pioneer/pioneer.mapper.js +54 -12
  195. package/dist_ts/integrations/pioneer/pioneer.types.d.ts +79 -12
  196. package/dist_ts/integrations/pioneer/pioneer.types.js +12 -76
  197. package/dist_ts/integrations/pioneer/pioneer.validation.d.ts +10 -0
  198. package/dist_ts/integrations/pioneer/pioneer.validation.js +85 -0
  199. package/dist_ts/integrations/samsungtv/samsungtv.classes.client.d.ts +4 -2
  200. package/dist_ts/integrations/samsungtv/samsungtv.classes.client.js +41 -16
  201. package/dist_ts/integrations/samsungtv/samsungtv.classes.configflow.d.ts +5 -0
  202. package/dist_ts/integrations/samsungtv/samsungtv.classes.configflow.js +20 -7
  203. package/dist_ts/integrations/samsungtv/samsungtv.classes.integration.d.ts +1 -0
  204. package/dist_ts/integrations/samsungtv/samsungtv.classes.integration.js +53 -50
  205. package/dist_ts/integrations/samsungtv/samsungtv.types.d.ts +4 -1
  206. package/dist_ts/integrations/shelly/shelly.classes.client.d.ts +26 -30
  207. package/dist_ts/integrations/shelly/shelly.classes.client.js +504 -276
  208. package/dist_ts/integrations/shelly/shelly.classes.configflow.d.ts +8 -3
  209. package/dist_ts/integrations/shelly/shelly.classes.configflow.js +43 -38
  210. package/dist_ts/integrations/shelly/shelly.classes.integration.d.ts +6 -6
  211. package/dist_ts/integrations/shelly/shelly.classes.integration.js +103 -101
  212. package/dist_ts/integrations/shelly/shelly.classes.subscription.d.ts +4 -0
  213. package/dist_ts/integrations/shelly/shelly.classes.subscription.js +24 -2
  214. package/dist_ts/integrations/shelly/shelly.mapper.d.ts +1 -2
  215. package/dist_ts/integrations/shelly/shelly.mapper.js +21 -20
  216. package/dist_ts/integrations/shelly/shelly.rpc.js +4 -1
  217. package/dist_ts/integrations/shelly/shelly.types.d.ts +42 -2
  218. package/dist_ts/integrations/shelly/shelly.types.js +11 -2
  219. package/dist_ts/integrations/shelly/shelly.validation.d.ts +7 -0
  220. package/dist_ts/integrations/shelly/shelly.validation.js +79 -0
  221. package/dist_ts/integrations/sonos/sonos.classes.client.d.ts +79 -22
  222. package/dist_ts/integrations/sonos/sonos.classes.client.js +427 -139
  223. package/dist_ts/integrations/sonos/sonos.classes.configflow.d.ts +9 -2
  224. package/dist_ts/integrations/sonos/sonos.classes.configflow.js +26 -28
  225. package/dist_ts/integrations/sonos/sonos.classes.integration.d.ts +7 -6
  226. package/dist_ts/integrations/sonos/sonos.classes.integration.js +289 -224
  227. package/dist_ts/integrations/sonos/sonos.config.d.ts +6 -1
  228. package/dist_ts/integrations/sonos/sonos.config.js +23 -2
  229. package/dist_ts/integrations/sonos/sonos.mapper.d.ts +1 -1
  230. package/dist_ts/integrations/sonos/sonos.mapper.js +14 -9
  231. package/dist_ts/integrations/sonos/sonos.matchers.js +3 -3
  232. package/dist_ts/integrations/sonos/sonos.types.d.ts +26 -1
  233. package/dist_ts/integrations/soundtouch/soundtouch.classes.client.d.ts +13 -36
  234. package/dist_ts/integrations/soundtouch/soundtouch.classes.client.js +179 -502
  235. package/dist_ts/integrations/soundtouch/soundtouch.classes.configflow.d.ts +6 -1
  236. package/dist_ts/integrations/soundtouch/soundtouch.classes.configflow.js +50 -40
  237. package/dist_ts/integrations/soundtouch/soundtouch.classes.integration.d.ts +14 -15
  238. package/dist_ts/integrations/soundtouch/soundtouch.classes.integration.js +108 -128
  239. package/dist_ts/integrations/soundtouch/soundtouch.discovery.d.ts +2 -20
  240. package/dist_ts/integrations/soundtouch/soundtouch.discovery.js +23 -113
  241. package/dist_ts/integrations/soundtouch/soundtouch.mapper.d.ts +3 -12
  242. package/dist_ts/integrations/soundtouch/soundtouch.mapper.js +35 -189
  243. package/dist_ts/integrations/soundtouch/soundtouch.types.d.ts +57 -142
  244. package/dist_ts/integrations/soundtouch/soundtouch.types.js +18 -3
  245. package/dist_ts/integrations/soundtouch/soundtouch.validation.d.ts +22 -0
  246. package/dist_ts/integrations/soundtouch/soundtouch.validation.js +65 -0
  247. package/dist_ts/integrations/tasmota/tasmota.classes.integration.d.ts +5 -0
  248. package/dist_ts/integrations/tasmota/tasmota.classes.integration.js +23 -7
  249. package/dist_ts/integrations/tasmota/tasmota.classes.runtime.d.ts +19 -5
  250. package/dist_ts/integrations/tasmota/tasmota.classes.runtime.js +115 -41
  251. package/dist_ts/integrations/tasmota/tasmota.config.js +23 -1
  252. package/dist_ts/integrations/tasmota/tasmota.credentials.d.ts +11 -0
  253. package/dist_ts/integrations/tasmota/tasmota.credentials.js +97 -0
  254. package/dist_ts/integrations/tasmota/tasmota.discovery.d.ts +7 -1
  255. package/dist_ts/integrations/tasmota/tasmota.discovery.js +108 -30
  256. package/dist_ts/integrations/tasmota/tasmota.mapper.d.ts +2 -2
  257. package/dist_ts/integrations/tasmota/tasmota.mapper.js +7 -7
  258. package/dist_ts/integrations/tasmota/tasmota.types.d.ts +41 -2
  259. package/dist_ts/integrations/tuya/tuya.classes.integration.d.ts +4 -1
  260. package/dist_ts/integrations/tuya/tuya.classes.integration.js +79 -110
  261. package/dist_ts/integrations/tuya/tuya.classes.runtime.d.ts +5 -2
  262. package/dist_ts/integrations/tuya/tuya.classes.runtime.js +73 -26
  263. package/dist_ts/integrations/tuya/tuya.mapper.js +2 -2
  264. package/dist_ts/integrations/tuya/tuya.types.d.ts +3 -0
  265. package/dist_ts/integrations/tuya/tuya.validation.d.ts +2 -2
  266. package/dist_ts/integrations/tuya/tuya.validation.js +6 -11
  267. package/dist_ts/integrations/webostv/webostv.classes.client.d.ts +6 -5
  268. package/dist_ts/integrations/webostv/webostv.classes.client.js +147 -76
  269. package/dist_ts/integrations/webostv/webostv.classes.configflow.d.ts +7 -2
  270. package/dist_ts/integrations/webostv/webostv.classes.configflow.js +36 -20
  271. package/dist_ts/integrations/webostv/webostv.classes.integration.d.ts +4 -4
  272. package/dist_ts/integrations/webostv/webostv.classes.integration.js +46 -54
  273. package/dist_ts/integrations/webostv/webostv.mapper.js +5 -5
  274. package/dist_ts/integrations/webostv/webostv.types.d.ts +16 -3
  275. package/dist_ts/integrations/webostv/webostv.types.js +1 -1
  276. package/dist_ts/integrations/webostv/webostv.validation.d.ts +3 -1
  277. package/dist_ts/integrations/webostv/webostv.validation.js +23 -1
  278. package/dist_ts/integrations/wiz/index.d.ts +1 -0
  279. package/dist_ts/integrations/wiz/index.js +2 -1
  280. package/dist_ts/integrations/wiz/wiz.classes.client.d.ts +14 -28
  281. package/dist_ts/integrations/wiz/wiz.classes.client.js +93 -229
  282. package/dist_ts/integrations/wiz/wiz.classes.configflow.d.ts +6 -4
  283. package/dist_ts/integrations/wiz/wiz.classes.configflow.js +38 -67
  284. package/dist_ts/integrations/wiz/wiz.classes.integration.d.ts +10 -21
  285. package/dist_ts/integrations/wiz/wiz.classes.integration.js +204 -44
  286. package/dist_ts/integrations/wiz/wiz.discovery.d.ts +10 -31
  287. package/dist_ts/integrations/wiz/wiz.discovery.js +48 -249
  288. package/dist_ts/integrations/wiz/wiz.mapper.d.ts +7 -51
  289. package/dist_ts/integrations/wiz/wiz.mapper.js +82 -668
  290. package/dist_ts/integrations/wiz/wiz.types.d.ts +34 -208
  291. package/dist_ts/integrations/wiz/wiz.validation.d.ts +8 -0
  292. package/dist_ts/integrations/wiz/wiz.validation.js +72 -0
  293. package/dist_ts/integrations/yamaha/index.d.ts +1 -0
  294. package/dist_ts/integrations/yamaha/index.js +2 -1
  295. package/dist_ts/integrations/yamaha/yamaha.classes.client.d.ts +30 -4
  296. package/dist_ts/integrations/yamaha/yamaha.classes.client.js +162 -6
  297. package/dist_ts/integrations/yamaha/yamaha.classes.configflow.d.ts +10 -3
  298. package/dist_ts/integrations/yamaha/yamaha.classes.configflow.js +106 -6
  299. package/dist_ts/integrations/yamaha/yamaha.classes.integration.d.ts +22 -4
  300. package/dist_ts/integrations/yamaha/yamaha.classes.integration.js +243 -8
  301. package/dist_ts/integrations/yamaha/yamaha.discovery.d.ts +13 -1
  302. package/dist_ts/integrations/yamaha/yamaha.discovery.js +57 -4
  303. package/dist_ts/integrations/yamaha/yamaha.mapper.d.ts +16 -8
  304. package/dist_ts/integrations/yamaha/yamaha.mapper.js +58 -12
  305. package/dist_ts/integrations/yamaha/yamaha.types.d.ts +73 -6
  306. package/dist_ts/integrations/yamaha/yamaha.types.js +8 -94
  307. package/dist_ts/integrations/yamaha/yamaha.validation.d.ts +12 -0
  308. package/dist_ts/integrations/yamaha/yamaha.validation.js +89 -0
  309. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.configflow.d.ts +6 -1
  310. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.configflow.js +18 -8
  311. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.integration.d.ts +4 -1
  312. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.integration.js +54 -6
  313. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.runtime.d.ts +12 -6
  314. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.runtime.js +73 -59
  315. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.mapper.d.ts +3 -2
  316. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.mapper.js +17 -12
  317. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.types.d.ts +31 -2
  318. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.validation.d.ts +9 -1
  319. package/dist_ts/integrations/zigbee2mqtt/zigbee2mqtt.validation.js +57 -7
  320. package/dist_ts/integrations/zwave_js/zwave_js.classes.client.d.ts +10 -4
  321. package/dist_ts/integrations/zwave_js/zwave_js.classes.client.js +167 -31
  322. package/dist_ts/integrations/zwave_js/zwave_js.classes.configflow.d.ts +6 -1
  323. package/dist_ts/integrations/zwave_js/zwave_js.classes.configflow.js +57 -35
  324. package/dist_ts/integrations/zwave_js/zwave_js.classes.integration.d.ts +3 -1
  325. package/dist_ts/integrations/zwave_js/zwave_js.classes.integration.js +59 -37
  326. package/dist_ts/integrations/zwave_js/zwave_js.discovery.js +3 -3
  327. package/dist_ts/integrations/zwave_js/zwave_js.mapper.js +41 -24
  328. package/dist_ts/integrations/zwave_js/zwave_js.types.d.ts +25 -3
  329. package/dist_ts/integrations/zwave_js/zwave_js.validation.d.ts +6 -2
  330. package/dist_ts/integrations/zwave_js/zwave_js.validation.js +52 -17
  331. package/dist_ts/plugins.d.ts +2 -1
  332. package/dist_ts/plugins.js +3 -2
  333. package/package.json +9 -9
  334. package/readme.md +539 -8
  335. package/ts/00_commitinfo_data.ts +1 -1
  336. package/ts/core/classes.configstore.ts +84 -27
  337. package/ts/core/classes.nativehomeadmission.ts +96 -0
  338. package/ts/core/classes.nativeintegrationowner.ts +302 -0
  339. package/ts/core/classes.runtimemanager.ts +11 -2
  340. package/ts/core/index.ts +2 -0
  341. package/ts/core/types.ts +18 -0
  342. package/ts/integrations/braviatv/braviatv.classes.client.ts +245 -709
  343. package/ts/integrations/braviatv/braviatv.classes.configflow.ts +47 -76
  344. package/ts/integrations/braviatv/braviatv.classes.integration.ts +167 -147
  345. package/ts/integrations/braviatv/braviatv.discovery.ts +11 -10
  346. package/ts/integrations/braviatv/braviatv.mapper.ts +39 -142
  347. package/ts/integrations/braviatv/braviatv.types.ts +53 -173
  348. package/ts/integrations/braviatv/braviatv.validation.ts +68 -0
  349. package/ts/integrations/broadlink/broadlink.actions.ts +31 -0
  350. package/ts/integrations/broadlink/broadlink.classes.client.ts +170 -144
  351. package/ts/integrations/broadlink/broadlink.classes.configflow.ts +59 -89
  352. package/ts/integrations/broadlink/broadlink.classes.integration.ts +110 -64
  353. package/ts/integrations/broadlink/broadlink.mapper.ts +5 -4
  354. package/ts/integrations/broadlink/broadlink.selected.mapper.ts +46 -0
  355. package/ts/integrations/broadlink/broadlink.types.ts +48 -8
  356. package/ts/integrations/broadlink/broadlink.validation.ts +66 -0
  357. package/ts/integrations/daikin/daikin.classes.client.ts +52 -661
  358. package/ts/integrations/daikin/daikin.classes.configflow.ts +72 -152
  359. package/ts/integrations/daikin/daikin.classes.integration.ts +166 -71
  360. package/ts/integrations/daikin/daikin.discovery.ts +94 -346
  361. package/ts/integrations/daikin/daikin.mapper.ts +83 -166
  362. package/ts/integrations/daikin/daikin.types.ts +27 -48
  363. package/ts/integrations/daikin/daikin.validation.ts +51 -0
  364. package/ts/integrations/daikin/readme.md +83 -0
  365. package/ts/integrations/deconz/deconz.classes.client.ts +348 -252
  366. package/ts/integrations/deconz/deconz.classes.configflow.ts +57 -29
  367. package/ts/integrations/deconz/deconz.classes.integration.ts +69 -37
  368. package/ts/integrations/deconz/deconz.mapper.ts +22 -5
  369. package/ts/integrations/deconz/deconz.types.ts +49 -6
  370. package/ts/integrations/deconz/deconz.validation.ts +177 -4
  371. package/ts/integrations/deconz/readme.md +15 -1
  372. package/ts/integrations/denonavr/denonavr.classes.client.ts +132 -421
  373. package/ts/integrations/denonavr/denonavr.classes.configflow.ts +44 -37
  374. package/ts/integrations/denonavr/denonavr.classes.integration.ts +171 -117
  375. package/ts/integrations/denonavr/denonavr.discovery.ts +67 -220
  376. package/ts/integrations/denonavr/denonavr.mapper.ts +36 -182
  377. package/ts/integrations/denonavr/denonavr.types.ts +48 -111
  378. package/ts/integrations/denonavr/denonavr.validation.ts +87 -0
  379. package/ts/integrations/esphome/esphome.classes.client.ts +179 -94
  380. package/ts/integrations/esphome/esphome.classes.configflow.ts +40 -33
  381. package/ts/integrations/esphome/esphome.classes.integration.ts +63 -36
  382. package/ts/integrations/esphome/esphome.discovery.ts +3 -12
  383. package/ts/integrations/esphome/esphome.mapper.ts +9 -7
  384. package/ts/integrations/esphome/esphome.types.ts +35 -6
  385. package/ts/integrations/esphome/esphome.validation.ts +66 -0
  386. package/ts/integrations/esphome/readme.md +20 -6
  387. package/ts/integrations/homeassistant/homeassistant.classes.client.ts +353 -125
  388. package/ts/integrations/homeassistant/homeassistant.classes.integration.ts +35 -18
  389. package/ts/integrations/homeassistant/homeassistant.classes.runtime.ts +50 -63
  390. package/ts/integrations/homeassistant/homeassistant.types.ts +17 -1
  391. package/ts/integrations/homeassistant/readme.md +22 -6
  392. package/ts/integrations/hue/hue.classes.client.ts +110 -41
  393. package/ts/integrations/hue/hue.classes.configflow.ts +12 -6
  394. package/ts/integrations/hue/hue.classes.integration.ts +92 -26
  395. package/ts/integrations/hue/hue.validation.ts +13 -3
  396. package/ts/integrations/hue/readme.md +3 -3
  397. package/ts/integrations/kodi/kodi.classes.client.ts +72 -352
  398. package/ts/integrations/kodi/kodi.classes.configflow.ts +52 -55
  399. package/ts/integrations/kodi/kodi.classes.integration.ts +97 -178
  400. package/ts/integrations/kodi/kodi.discovery.ts +49 -28
  401. package/ts/integrations/kodi/kodi.mapper.ts +52 -10
  402. package/ts/integrations/kodi/kodi.types.ts +33 -58
  403. package/ts/integrations/kodi/kodi.validation.ts +60 -0
  404. package/ts/integrations/modbus/modbus.classes.client.ts +100 -842
  405. package/ts/integrations/modbus/modbus.classes.configflow.ts +70 -41
  406. package/ts/integrations/modbus/modbus.classes.integration.ts +115 -60
  407. package/ts/integrations/modbus/modbus.discovery.ts +38 -106
  408. package/ts/integrations/modbus/modbus.mapper.ts +64 -467
  409. package/ts/integrations/modbus/modbus.types.ts +64 -381
  410. package/ts/integrations/modbus/modbus.validation.ts +119 -0
  411. package/ts/integrations/mqtt/mqtt.classes.client.ts +136 -19
  412. package/ts/integrations/mqtt/mqtt.classes.configflow.ts +45 -32
  413. package/ts/integrations/mqtt/mqtt.classes.integration.ts +99 -38
  414. package/ts/integrations/mqtt/mqtt.classes.session.ts +118 -0
  415. package/ts/integrations/mqtt/mqtt.mapper.ts +43 -1
  416. package/ts/integrations/mqtt/mqtt.types.ts +52 -0
  417. package/ts/integrations/mqtt/mqtt.validation.ts +157 -0
  418. package/ts/integrations/mqtt/readme.md +12 -3
  419. package/ts/integrations/nanoleaf/nanoleaf.classes.client.ts +115 -249
  420. package/ts/integrations/nanoleaf/nanoleaf.classes.configflow.ts +90 -19
  421. package/ts/integrations/nanoleaf/nanoleaf.classes.integration.ts +130 -181
  422. package/ts/integrations/nanoleaf/nanoleaf.credentials.ts +39 -0
  423. package/ts/integrations/nanoleaf/nanoleaf.mapper.ts +47 -260
  424. package/ts/integrations/nanoleaf/nanoleaf.types.ts +29 -147
  425. package/ts/integrations/nanoleaf/nanoleaf.validation.ts +77 -0
  426. package/ts/integrations/onkyo/onkyo.classes.client.ts +148 -457
  427. package/ts/integrations/onkyo/onkyo.classes.configflow.ts +52 -6
  428. package/ts/integrations/onkyo/onkyo.classes.integration.ts +121 -12
  429. package/ts/integrations/onkyo/onkyo.discovery.ts +41 -3
  430. package/ts/integrations/onkyo/onkyo.mapper.ts +46 -19
  431. package/ts/integrations/onkyo/onkyo.types.ts +55 -110
  432. package/ts/integrations/onkyo/onkyo.validation.ts +85 -0
  433. package/ts/integrations/onkyo/readme.md +126 -0
  434. package/ts/integrations/panasonic_viera/panasonic_viera.classes.client.ts +101 -398
  435. package/ts/integrations/panasonic_viera/panasonic_viera.classes.configflow.ts +69 -5
  436. package/ts/integrations/panasonic_viera/panasonic_viera.classes.integration.ts +141 -9
  437. package/ts/integrations/panasonic_viera/panasonic_viera.discovery.ts +32 -3
  438. package/ts/integrations/panasonic_viera/panasonic_viera.mapper.ts +34 -161
  439. package/ts/integrations/panasonic_viera/panasonic_viera.types.ts +52 -96
  440. package/ts/integrations/panasonic_viera/panasonic_viera.validation.ts +56 -0
  441. package/ts/integrations/pioneer/pioneer.classes.client.ts +132 -428
  442. package/ts/integrations/pioneer/pioneer.classes.configflow.ts +67 -5
  443. package/ts/integrations/pioneer/pioneer.classes.integration.ts +225 -11
  444. package/ts/integrations/pioneer/pioneer.discovery.ts +45 -3
  445. package/ts/integrations/pioneer/pioneer.mapper.ts +57 -13
  446. package/ts/integrations/pioneer/pioneer.types.ts +87 -85
  447. package/ts/integrations/pioneer/pioneer.validation.ts +84 -0
  448. package/ts/integrations/samsungtv/readme.md +11 -5
  449. package/ts/integrations/samsungtv/samsungtv.classes.client.ts +40 -15
  450. package/ts/integrations/samsungtv/samsungtv.classes.configflow.ts +21 -6
  451. package/ts/integrations/samsungtv/samsungtv.classes.integration.ts +53 -38
  452. package/ts/integrations/samsungtv/samsungtv.types.ts +4 -1
  453. package/ts/integrations/shelly/readme.md +22 -7
  454. package/ts/integrations/shelly/shelly.classes.client.ts +386 -269
  455. package/ts/integrations/shelly/shelly.classes.configflow.ts +43 -38
  456. package/ts/integrations/shelly/shelly.classes.integration.ts +92 -111
  457. package/ts/integrations/shelly/shelly.classes.subscription.ts +24 -1
  458. package/ts/integrations/shelly/shelly.mapper.ts +19 -20
  459. package/ts/integrations/shelly/shelly.rpc.ts +2 -0
  460. package/ts/integrations/shelly/shelly.types.ts +50 -2
  461. package/ts/integrations/shelly/shelly.validation.ts +76 -0
  462. package/ts/integrations/sonos/readme.md +117 -38
  463. package/ts/integrations/sonos/sonos.classes.client.ts +392 -123
  464. package/ts/integrations/sonos/sonos.classes.configflow.ts +25 -28
  465. package/ts/integrations/sonos/sonos.classes.integration.ts +211 -186
  466. package/ts/integrations/sonos/sonos.config.ts +24 -2
  467. package/ts/integrations/sonos/sonos.mapper.ts +13 -8
  468. package/ts/integrations/sonos/sonos.matchers.ts +2 -2
  469. package/ts/integrations/sonos/sonos.types.ts +30 -1
  470. package/ts/integrations/soundtouch/soundtouch.classes.client.ts +152 -571
  471. package/ts/integrations/soundtouch/soundtouch.classes.configflow.ts +47 -42
  472. package/ts/integrations/soundtouch/soundtouch.classes.integration.ts +95 -150
  473. package/ts/integrations/soundtouch/soundtouch.discovery.ts +21 -133
  474. package/ts/integrations/soundtouch/soundtouch.mapper.ts +36 -207
  475. package/ts/integrations/soundtouch/soundtouch.types.ts +50 -195
  476. package/ts/integrations/soundtouch/soundtouch.validation.ts +60 -0
  477. package/ts/integrations/tasmota/readme.md +16 -5
  478. package/ts/integrations/tasmota/tasmota.classes.integration.ts +24 -6
  479. package/ts/integrations/tasmota/tasmota.classes.runtime.ts +112 -43
  480. package/ts/integrations/tasmota/tasmota.config.ts +17 -0
  481. package/ts/integrations/tasmota/tasmota.credentials.ts +92 -0
  482. package/ts/integrations/tasmota/tasmota.discovery.ts +87 -24
  483. package/ts/integrations/tasmota/tasmota.mapper.ts +6 -6
  484. package/ts/integrations/tasmota/tasmota.types.ts +43 -2
  485. package/ts/integrations/tuya/readme.md +52 -10
  486. package/ts/integrations/tuya/tuya.classes.integration.ts +69 -98
  487. package/ts/integrations/tuya/tuya.classes.runtime.ts +70 -24
  488. package/ts/integrations/tuya/tuya.mapper.ts +1 -1
  489. package/ts/integrations/tuya/tuya.types.ts +4 -0
  490. package/ts/integrations/tuya/tuya.validation.ts +5 -8
  491. package/ts/integrations/webostv/readme.md +115 -22
  492. package/ts/integrations/webostv/webostv.classes.client.ts +123 -50
  493. package/ts/integrations/webostv/webostv.classes.configflow.ts +35 -15
  494. package/ts/integrations/webostv/webostv.classes.integration.ts +44 -37
  495. package/ts/integrations/webostv/webostv.mapper.ts +4 -4
  496. package/ts/integrations/webostv/webostv.types.ts +18 -3
  497. package/ts/integrations/webostv/webostv.validation.ts +22 -1
  498. package/ts/integrations/wiz/index.ts +1 -0
  499. package/ts/integrations/wiz/wiz.classes.client.ts +84 -254
  500. package/ts/integrations/wiz/wiz.classes.configflow.ts +39 -70
  501. package/ts/integrations/wiz/wiz.classes.integration.ts +189 -45
  502. package/ts/integrations/wiz/wiz.discovery.ts +48 -291
  503. package/ts/integrations/wiz/wiz.mapper.ts +81 -754
  504. package/ts/integrations/wiz/wiz.types.ts +24 -224
  505. package/ts/integrations/wiz/wiz.validation.ts +73 -0
  506. package/ts/integrations/yamaha/index.ts +1 -0
  507. package/ts/integrations/yamaha/yamaha.classes.client.ts +150 -6
  508. package/ts/integrations/yamaha/yamaha.classes.configflow.ts +100 -5
  509. package/ts/integrations/yamaha/yamaha.classes.integration.ts +236 -8
  510. package/ts/integrations/yamaha/yamaha.discovery.ts +52 -3
  511. package/ts/integrations/yamaha/yamaha.mapper.ts +65 -13
  512. package/ts/integrations/yamaha/yamaha.types.ts +77 -97
  513. package/ts/integrations/yamaha/yamaha.validation.ts +86 -0
  514. package/ts/integrations/zigbee2mqtt/readme.md +22 -27
  515. package/ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.configflow.ts +16 -7
  516. package/ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.integration.ts +53 -6
  517. package/ts/integrations/zigbee2mqtt/zigbee2mqtt.classes.runtime.ts +62 -49
  518. package/ts/integrations/zigbee2mqtt/zigbee2mqtt.mapper.ts +17 -11
  519. package/ts/integrations/zigbee2mqtt/zigbee2mqtt.types.ts +35 -2
  520. package/ts/integrations/zigbee2mqtt/zigbee2mqtt.validation.ts +53 -7
  521. package/ts/integrations/zwave_js/readme.md +42 -9
  522. package/ts/integrations/zwave_js/zwave_js.classes.client.ts +155 -31
  523. package/ts/integrations/zwave_js/zwave_js.classes.configflow.ts +55 -31
  524. package/ts/integrations/zwave_js/zwave_js.classes.integration.ts +57 -35
  525. package/ts/integrations/zwave_js/zwave_js.discovery.ts +2 -2
  526. package/ts/integrations/zwave_js/zwave_js.mapper.ts +37 -23
  527. package/ts/integrations/zwave_js/zwave_js.types.ts +26 -3
  528. package/ts/integrations/zwave_js/zwave_js.validation.ts +52 -18
  529. package/ts/plugins.ts +2 -1
@@ -1,341 +1,91 @@
1
- export type TModbusTransport = 'tcp' | 'udp' | 'rtuovertcp' | 'serial';
2
- export type TModbusRegisterType = 'holding' | 'input';
3
- export type TModbusCoilType = 'coil' | 'discrete_input';
4
- export type TModbusDataType = 'custom' | 'string' | 'int' | 'integer' | 'int16' | 'int32' | 'int64' | 'uint' | 'uint16' | 'uint32' | 'uint64' | 'float' | 'float16' | 'float32' | 'float64';
5
- export type TModbusSwap = 'byte' | 'word' | 'word_byte';
6
- export type TModbusEntityPlatform = 'sensor' | 'binary_sensor' | 'switch' | 'number';
7
- export type TModbusEventType = 'snapshot_refreshed' | 'command_mapped' | 'command_executed' | 'command_failed' | 'register_read' | 'register_written' | 'coil_read' | 'coil_written';
8
- export interface IModbusConfig {
9
- hubs?: IModbusHubConfig[];
10
- modbus?: IModbusHubConfig[];
11
- snapshot?: IModbusSnapshot;
12
- manualEntries?: IModbusManualTcpEntry[];
13
- connected?: boolean;
14
- timeoutMs?: number;
15
- commandExecutor?: (commandArg: IModbusCommand) => Promise<IModbusCommandResult | unknown>;
16
- }
17
- export interface IHomeAssistantModbusConfig extends IModbusConfig {
18
- }
19
- export interface IModbusHubConfig {
20
- id?: string;
21
- name?: string;
22
- type?: TModbusTransport;
23
- host?: string;
24
- port?: number | string;
25
- timeout?: number;
26
- timeoutMs?: number;
27
- delay?: number;
28
- messageWaitMilliseconds?: number;
29
- message_wait_milliseconds?: number;
30
- slave?: number;
31
- unit?: number;
32
- unitId?: number;
33
- deviceAddress?: number;
34
- device_address?: number;
35
- connected?: boolean;
36
- manufacturer?: string;
37
- model?: string;
38
- serialNumber?: string;
39
- serial_number?: string;
40
- metadata?: Record<string, unknown>;
41
- slaves?: IModbusSlaveConfig[];
42
- registers?: IModbusRegisterConfig[];
43
- coils?: IModbusCoilConfig[];
44
- sensors?: IModbusRegisterConfig[];
45
- binarySensors?: IModbusCoilConfig[];
46
- binary_sensors?: IModbusCoilConfig[];
47
- switches?: IModbusSwitchConfig[];
48
- numbers?: IModbusNumberConfig[];
49
- }
50
- export interface IModbusSlaveConfig {
51
- id?: string;
52
- unitId?: number;
53
- unit?: number;
54
- slave?: number;
55
- deviceAddress?: number;
56
- device_address?: number;
57
- name?: string;
58
- connected?: boolean;
59
- manufacturer?: string;
60
- model?: string;
61
- serialNumber?: string;
62
- serial_number?: string;
63
- metadata?: Record<string, unknown>;
64
- }
65
- export interface IModbusEntityConfigBase {
66
- id?: string;
67
- name: string;
68
- uniqueId?: string;
69
- unique_id?: string;
70
- platform?: TModbusEntityPlatform;
71
- address: number;
72
- slave?: number;
73
- unit?: number;
74
- unitId?: number;
75
- deviceAddress?: number;
76
- device_address?: number;
77
- scanInterval?: number;
78
- scan_interval?: number;
79
- deviceClass?: string;
80
- device_class?: string;
81
- available?: boolean;
82
- metadata?: Record<string, unknown>;
83
- }
84
- export interface IModbusRegisterConfig extends IModbusEntityConfigBase {
85
- platform?: 'sensor' | 'number';
86
- inputType?: TModbusRegisterType;
87
- input_type?: TModbusRegisterType;
88
- registerType?: TModbusRegisterType;
89
- register_type?: TModbusRegisterType;
90
- count?: number;
91
- dataType?: TModbusDataType;
92
- data_type?: TModbusDataType;
93
- structure?: string;
94
- scale?: number;
95
- offset?: number;
96
- precision?: number;
97
- swap?: TModbusSwap;
98
- unitOfMeasurement?: string;
99
- unit_of_measurement?: string;
100
- stateClass?: string;
101
- state_class?: string;
102
- minValue?: number;
103
- min_value?: number;
104
- maxValue?: number;
105
- max_value?: number;
106
- nanValue?: number;
107
- nan_value?: number;
108
- zeroSuppress?: number;
109
- zero_suppress?: number;
110
- min?: number;
111
- max?: number;
112
- step?: number;
113
- writable?: boolean;
114
- value?: number | string | null;
115
- registers?: number[];
116
- }
117
- export interface IModbusNumberConfig extends IModbusRegisterConfig {
118
- platform?: 'number';
119
- writable?: true;
120
- }
121
- export interface IModbusCoilConfig extends IModbusEntityConfigBase {
122
- platform?: 'binary_sensor' | 'switch';
123
- inputType?: TModbusCoilType | TModbusRegisterType;
124
- input_type?: TModbusCoilType | TModbusRegisterType;
125
- coilType?: TModbusCoilType;
126
- coil_type?: TModbusCoilType;
127
- count?: number;
128
- slaveCount?: number;
129
- slave_count?: number;
130
- virtualCount?: number;
131
- virtual_count?: number;
132
- writable?: boolean;
133
- value?: boolean | number | null;
134
- bits?: boolean[];
135
- }
136
- export interface IModbusSwitchConfig extends IModbusCoilConfig {
137
- platform?: 'switch';
138
- writeType?: TModbusWriteType;
139
- write_type?: TModbusWriteType;
140
- commandOn?: number;
141
- command_on?: number;
142
- commandOff?: number;
143
- command_off?: number;
144
- stateOn?: number[];
145
- state_on?: number[];
146
- stateOff?: number[];
147
- state_off?: number[];
148
- verify?: IModbusSwitchVerifyConfig | null;
149
- }
150
- export interface IModbusSwitchVerifyConfig {
151
- address?: number;
152
- inputType?: TModbusCoilType | TModbusRegisterType;
153
- input_type?: TModbusCoilType | TModbusRegisterType;
154
- delay?: number;
155
- stateOn?: number[];
156
- state_on?: number[];
157
- stateOff?: number[];
158
- state_off?: number[];
1
+ import type * as plugins from '../../plugins.js';
2
+ import type { INativeIntegrationOwnerOptions } from '../../core/classes.nativeintegrationowner.js';
3
+ export interface IModbusIntegrationOptions extends INativeIntegrationOwnerOptions {
4
+ }
5
+ export interface IModbusMappingBase {
6
+ readonly id: string;
7
+ readonly name: string;
8
+ /** Zero-based wire address; no 40001 notation or vendor interpretation. */
9
+ readonly address: number;
10
+ readonly quantity?: number;
11
+ }
12
+ export interface IModbusCoilMapping extends IModbusMappingBase {
13
+ readonly kind: 'coil';
14
+ /** Owner permission for one absolute FC5 write. Requires quantity one. */
15
+ readonly write?: true;
16
+ }
17
+ export interface IModbusDiscreteInputMapping extends IModbusMappingBase {
18
+ readonly kind: 'discrete_input';
19
+ }
20
+ export interface IModbusHoldingRegisterMapping extends IModbusMappingBase {
21
+ readonly kind: 'holding';
22
+ /** Inclusive unsigned raw bounds for one FC6 write. Requires quantity one. */
23
+ readonly write?: {
24
+ readonly minimum: number;
25
+ readonly maximum: number;
26
+ };
159
27
  }
160
- export type TModbusWriteType = 'holding' | 'holdings' | 'coil' | 'coils';
161
- export interface IModbusRegisterState {
162
- hubId?: string;
163
- unitId: number;
164
- address: number;
165
- count: number;
166
- inputType: TModbusRegisterType;
167
- dataType: TModbusDataType;
168
- registers?: number[];
169
- value?: number | string | number[] | null;
170
- updatedAt?: string;
171
- metadata?: Record<string, unknown>;
28
+ export interface IModbusInputRegisterMapping extends IModbusMappingBase {
29
+ readonly kind: 'input';
172
30
  }
173
- export interface IModbusCoilState {
174
- hubId?: string;
175
- unitId: number;
176
- address: number;
177
- count: number;
178
- inputType: TModbusCoilType | TModbusRegisterType;
179
- bits?: boolean[];
180
- value?: boolean | number | null;
181
- updatedAt?: string;
182
- metadata?: Record<string, unknown>;
31
+ export type TModbusMapping = IModbusCoilMapping | IModbusDiscreteInputMapping | IModbusHoldingRegisterMapping | IModbusInputRegisterMapping;
32
+ export type TModbusNormalizedMapping = TModbusMapping & {
33
+ readonly quantity: number;
34
+ };
35
+ export interface IModbusConfig {
36
+ readonly homeId: string;
37
+ readonly address: string;
38
+ readonly unitId: number;
39
+ readonly expectedVendorName: string;
40
+ readonly expectedProductCode: string;
41
+ readonly expectedRevision?: string;
42
+ readonly allowUnencryptedLan: true;
43
+ readonly mappings: readonly TModbusMapping[];
44
+ readonly port?: number;
45
+ readonly localAddress?: string;
46
+ readonly name?: string;
47
+ readonly timeoutMs?: number;
48
+ readonly maxQueuedOperations?: number;
183
49
  }
184
- export interface IModbusEntitySnapshot {
185
- id: string;
186
- name: string;
187
- uniqueId: string;
188
- platform: TModbusEntityPlatform;
189
- hubId: string;
190
- hubName: string;
191
- unitId: number;
192
- address: number;
193
- available: boolean;
194
- writable: boolean;
195
- register?: IModbusRegisterState;
196
- coil?: IModbusCoilState;
197
- state?: unknown;
198
- attributes?: Record<string, unknown>;
50
+ export interface IHomeAssistantModbusConfig extends IModbusConfig {
199
51
  }
200
- export interface IModbusSlaveSnapshot {
201
- id: string;
202
- hubId: string;
203
- unitId: number;
204
- name: string;
205
- online: boolean;
206
- manufacturer?: string;
207
- model?: string;
208
- serialNumber?: string;
209
- registers: IModbusRegisterState[];
210
- coils: IModbusCoilState[];
211
- metadata?: Record<string, unknown>;
52
+ export interface IModbusNormalizedConfig extends Omit<IModbusConfig, 'mappings' | 'port' | 'timeoutMs' | 'maxQueuedOperations'> {
53
+ readonly mappings: readonly TModbusNormalizedMapping[];
54
+ readonly port: number;
55
+ readonly timeoutMs: number;
56
+ readonly maxQueuedOperations: number;
212
57
  }
213
- export interface IModbusHubSnapshot {
214
- id: string;
215
- name: string;
216
- type: TModbusTransport;
217
- host?: string;
218
- port?: number | string;
219
- online: boolean;
220
- manufacturer?: string;
221
- model?: string;
222
- serialNumber?: string;
223
- unsupportedReason?: string;
224
- slaves: IModbusSlaveSnapshot[];
225
- registers: IModbusRegisterState[];
226
- coils: IModbusCoilState[];
227
- entities: IModbusEntitySnapshot[];
228
- metadata?: Record<string, unknown>;
58
+ export interface IModbusObservation {
59
+ readonly mapping: TModbusNormalizedMapping;
60
+ readonly identity: plugins.ecobridgeDeviceManager.IModbusIdentity;
61
+ readonly values: readonly boolean[] | readonly number[];
62
+ readonly observedAt: string;
229
63
  }
230
64
  export interface IModbusSnapshot {
231
- hubs: IModbusHubSnapshot[];
232
- events: IModbusEvent[];
233
- connected: boolean;
234
- updatedAt: string;
235
- raw?: Record<string, unknown>;
236
- }
237
- export interface IModbusEvent {
238
- type: TModbusEventType;
239
- command?: IModbusCommand;
240
- hubId?: string;
241
- hubName?: string;
242
- unitId?: number;
243
- entityId?: string;
244
- deviceId?: string;
245
- uniqueId?: string;
246
- data?: unknown;
247
- timestamp: number;
248
- }
249
- export type IModbusCommand = IModbusRefreshCommand | IModbusReadRegisterCommand | IModbusWriteRegisterCommand | IModbusReadCoilCommand | IModbusWriteCoilCommand | IModbusStopCommand | IModbusRestartCommand;
250
- export interface IModbusCommandBase {
251
- hub?: string;
252
- hubId?: string;
253
- unitId?: number;
254
- slave?: number;
255
- entityId?: string;
256
- deviceId?: string;
257
- uniqueId?: string;
258
- }
259
- export interface IModbusRefreshCommand extends IModbusCommandBase {
260
- type: 'refresh';
261
- }
262
- export interface IModbusStopCommand extends IModbusCommandBase {
263
- type: 'stop';
264
- }
265
- export interface IModbusRestartCommand extends IModbusCommandBase {
266
- type: 'restart';
267
- }
268
- export interface IModbusReadRegisterCommand extends IModbusCommandBase {
269
- type: 'read_register';
270
- address: number;
271
- count?: number;
272
- inputType?: TModbusRegisterType;
273
- dataType?: TModbusDataType;
274
- }
275
- export interface IModbusWriteRegisterCommand extends IModbusCommandBase {
276
- type: 'write_register';
277
- address: number;
278
- value: number | number[];
279
- }
280
- export interface IModbusReadCoilCommand extends IModbusCommandBase {
281
- type: 'read_coil';
282
- address: number;
283
- count?: number;
284
- inputType?: TModbusCoilType;
285
- }
286
- export interface IModbusWriteCoilCommand extends IModbusCommandBase {
287
- type: 'write_coil';
288
- address: number;
289
- value: boolean | boolean[] | number | number[];
290
- }
291
- export interface IModbusCommandResult {
292
- success: boolean;
293
- error?: string;
294
- data?: unknown;
295
- }
296
- export interface IModbusTcpCommandShape {
297
- transport: 'tcp';
298
- host?: string;
299
- port?: number;
300
- unitId: number;
301
- transactionId: number;
302
- functionCode: number;
303
- functionName: string;
304
- address?: number;
305
- quantity?: number;
306
- values?: number[] | boolean[];
307
- mbap: {
308
- transactionId: number;
309
- protocolId: 0;
310
- length: number;
311
- unitId: number;
312
- };
313
- pduHex: string;
314
- requestHex: string;
315
- }
316
- export interface IModbusTcpResponse {
317
- transactionId: number;
318
- unitId: number;
319
- functionCode: number;
320
- registers?: number[];
321
- bits?: boolean[];
322
- address?: number;
323
- quantity?: number;
324
- rawHex: string;
325
- }
65
+ readonly config: IModbusNormalizedConfig;
66
+ readonly identity: plugins.ecobridgeDeviceManager.IModbusIdentity;
67
+ readonly observations: readonly IModbusObservation[];
68
+ readonly observedAt: string;
69
+ }
70
+ export type TModbusCommand = {
71
+ readonly type: 'read';
72
+ readonly mappingId: string;
73
+ } | {
74
+ readonly type: 'write_coil';
75
+ readonly mappingId: string;
76
+ readonly value: boolean;
77
+ } | {
78
+ readonly type: 'write_register';
79
+ readonly mappingId: string;
80
+ readonly value: number;
81
+ };
326
82
  export interface IModbusManualTcpEntry {
327
- host?: string;
328
- port?: number;
329
- type?: TModbusTransport;
330
- protocol?: string;
331
- name?: string;
332
- id?: string;
333
- unitId?: number;
334
- slave?: number;
335
- manufacturer?: string;
336
- model?: string;
337
- serialNumber?: string;
338
- metadata?: Record<string, unknown>;
339
- }
340
- export interface IModbusDiscoveryEntry extends IModbusManualTcpEntry {
83
+ readonly integrationDomain: 'modbus';
84
+ readonly address: string;
85
+ readonly unitId: number;
86
+ readonly expectedVendorName: string;
87
+ readonly expectedProductCode: string;
88
+ readonly expectedRevision?: string;
89
+ readonly port?: number;
90
+ readonly name?: string;
341
91
  }
@@ -0,0 +1,10 @@
1
+ import type { IModbusNormalizedConfig, TModbusCommand, TModbusNormalizedMapping } from './modbus.types.js';
2
+ export declare function modbusRecord(valueArg: unknown, allowedArg?: readonly string[]): Record<string, unknown>;
3
+ export declare function modbusText(valueArg: unknown, nameArg: string, maximumArg?: number): string;
4
+ export declare function modbusIdentityText(valueArg: unknown): string;
5
+ export declare function modbusAddress(valueArg: unknown): string;
6
+ export declare function modbusInteger(valueArg: unknown, minimumArg: number, maximumArg: number): number;
7
+ export declare function modbusUnit(valueArg: unknown): number;
8
+ export declare function normalizeModbusConfig(valueArg: unknown): IModbusNormalizedConfig;
9
+ export declare function modbusMappings(valueArg: unknown): readonly TModbusNormalizedMapping[];
10
+ export declare function modbusCommand(valueArg: unknown, configArg: IModbusNormalizedConfig): TModbusCommand;
@@ -0,0 +1,128 @@
1
+ import * as plugins from '../../plugins.js';
2
+ export function modbusRecord(valueArg, allowedArg) {
3
+ if (!valueArg || typeof valueArg !== 'object' || Array.isArray(valueArg) || ![Object.prototype, null].includes(Object.getPrototypeOf(valueArg))) {
4
+ throw new TypeError('Modbus inputs must be plain data objects.');
5
+ }
6
+ const result = {};
7
+ for (const key of Reflect.ownKeys(valueArg)) {
8
+ const descriptor = Object.getOwnPropertyDescriptor(valueArg, key);
9
+ if (typeof key !== 'string' || allowedArg && !allowedArg.includes(key) || !descriptor || !('value' in descriptor) || !descriptor.enumerable) {
10
+ throw new TypeError('Modbus inputs may not contain accessors, symbols, hidden or unsupported fields.');
11
+ }
12
+ Object.defineProperty(result, key, { value: descriptor.value, enumerable: true });
13
+ }
14
+ return result;
15
+ }
16
+ export function modbusText(valueArg, nameArg, maximumArg = 256) {
17
+ if (typeof valueArg !== 'string' || !valueArg.length || valueArg.length > maximumArg || valueArg !== valueArg.trim() || /[\p{Cc}\p{Cs}]/u.test(valueArg)) {
18
+ throw new TypeError(`Modbus ${nameArg} requires bounded nonempty text without control characters.`);
19
+ }
20
+ return valueArg;
21
+ }
22
+ export function modbusIdentityText(valueArg) {
23
+ if (typeof valueArg !== 'string' || !/^[\x20-\x7e]{1,244}$/.test(valueArg))
24
+ throw new TypeError('Modbus identity requires exact bounded printable ASCII text.');
25
+ return valueArg;
26
+ }
27
+ export function modbusAddress(valueArg) {
28
+ if (typeof valueArg !== 'string' || plugins.net.isIP(valueArg) !== 4)
29
+ throw new TypeError('Modbus requires an explicitly selected local IPv4 address.');
30
+ const parts = valueArg.split('.').map(Number);
31
+ const local = parts[0] === 10 || parts[0] === 127 || parts[0] === 172 && parts[1] >= 16 && parts[1] <= 31 ||
32
+ parts[0] === 192 && parts[1] === 168 || parts[0] === 169 && parts[1] === 254;
33
+ if (!local || parts[3] === 255)
34
+ throw new TypeError('Modbus requires a private, link-local or loopback unicast IPv4 address.');
35
+ return valueArg;
36
+ }
37
+ export function modbusInteger(valueArg, minimumArg, maximumArg) {
38
+ if (typeof valueArg !== 'number' || !Number.isSafeInteger(valueArg) || valueArg < minimumArg || valueArg > maximumArg) {
39
+ throw new TypeError(`Modbus value must be an integer from ${minimumArg} through ${maximumArg}.`);
40
+ }
41
+ return valueArg;
42
+ }
43
+ export function modbusUnit(valueArg) {
44
+ const unit = modbusInteger(valueArg, 1, 255);
45
+ if (unit > 247 && unit !== 255)
46
+ throw new TypeError('Modbus requires an explicit unit 1–247 or direct TCP unit 255.');
47
+ return unit;
48
+ }
49
+ export function normalizeModbusConfig(valueArg) {
50
+ const value = modbusRecord(valueArg, ['homeId', 'address', 'unitId', 'expectedVendorName', 'expectedProductCode', 'expectedRevision',
51
+ 'allowUnencryptedLan', 'mappings', 'port', 'localAddress', 'name', 'timeoutMs', 'maxQueuedOperations']);
52
+ if (value.allowUnencryptedLan !== true)
53
+ throw new TypeError('Modbus requires explicit acceptance of unencrypted LAN transport.');
54
+ const mappings = modbusMappings(value.mappings);
55
+ return Object.freeze({
56
+ homeId: modbusText(value.homeId, 'homeId'), address: modbusAddress(value.address), unitId: modbusUnit(value.unitId),
57
+ expectedVendorName: modbusIdentityText(value.expectedVendorName), expectedProductCode: modbusIdentityText(value.expectedProductCode),
58
+ ...(value.expectedRevision === undefined ? {} : { expectedRevision: modbusIdentityText(value.expectedRevision) }),
59
+ ...(value.localAddress === undefined ? {} : { localAddress: modbusAddress(value.localAddress) }),
60
+ ...(value.name === undefined ? {} : { name: modbusText(value.name, 'name', 128) }), allowUnencryptedLan: true,
61
+ port: modbusInteger(value.port === undefined ? 502 : value.port, 1, 65535),
62
+ timeoutMs: modbusInteger(value.timeoutMs === undefined ? 5000 : value.timeoutMs, 1, 60000),
63
+ maxQueuedOperations: modbusInteger(value.maxQueuedOperations === undefined ? 16 : value.maxQueuedOperations, 1, 128), mappings,
64
+ });
65
+ }
66
+ export function modbusMappings(valueArg) {
67
+ if (!Array.isArray(valueArg) || valueArg.length < 1 || valueArg.length > 64)
68
+ throw new TypeError('Modbus requires one through 64 explicit owner read mappings.');
69
+ if (Reflect.ownKeys(valueArg).some((key) => key !== 'length' && (typeof key !== 'string' || !/^(0|[1-9]\d*)$/.test(key))))
70
+ throw new TypeError('Modbus mapping lists contain only indexed data entries.');
71
+ const mappings = [];
72
+ for (let index = 0; index < valueArg.length; index++) {
73
+ const descriptor = Object.getOwnPropertyDescriptor(valueArg, String(index));
74
+ if (!descriptor || !('value' in descriptor) || !descriptor.enumerable)
75
+ throw new TypeError('Modbus mappings must be dense enumerable data entries.');
76
+ const value = modbusRecord(descriptor.value, ['id', 'name', 'address', 'quantity', 'kind', 'write']);
77
+ const id = modbusText(value.id, 'mapping id', 64);
78
+ if (!/^[a-z0-9][a-z0-9_-]*$/.test(id))
79
+ throw new TypeError('Modbus mapping IDs require lowercase letters, digits, underscore or hyphen.');
80
+ const name = modbusText(value.name, 'mapping name', 128);
81
+ const address = modbusInteger(value.address, 0, 65535);
82
+ const kind = value.kind;
83
+ if (kind !== 'coil' && kind !== 'discrete_input' && kind !== 'holding' && kind !== 'input')
84
+ throw new TypeError('Modbus mapping kind is unsupported.');
85
+ const quantity = modbusInteger(value.quantity === undefined ? 1 : value.quantity, 1, kind === 'coil' || kind === 'discrete_input' ? 2000 : 125);
86
+ if (address + quantity > 65536)
87
+ throw new TypeError('Modbus mapping exceeds the zero-based address space.');
88
+ if (mappings.some((mapping) => mapping.id === id || mapping.kind === kind && address < mapping.address + mapping.quantity && mapping.address < address + quantity)) {
89
+ throw new TypeError('Modbus mappings require unique IDs and nonoverlapping ranges per read kind.');
90
+ }
91
+ let mapping;
92
+ if (value.write === undefined)
93
+ mapping = { id, name, address, quantity, kind };
94
+ else {
95
+ if (quantity !== 1)
96
+ throw new TypeError('Modbus write permission requires one absolute mapped address.');
97
+ if (kind === 'coil' && value.write === true)
98
+ mapping = { id, name, address, quantity, kind, write: true };
99
+ else if (kind === 'holding') {
100
+ const write = modbusRecord(value.write, ['minimum', 'maximum']);
101
+ const minimum = modbusInteger(write.minimum, 0, 65535);
102
+ const maximum = modbusInteger(write.maximum, minimum, 65535);
103
+ mapping = { id, name, address, quantity, kind, write: Object.freeze({ minimum, maximum }) };
104
+ }
105
+ else
106
+ throw new TypeError('Modbus permits explicit single-coil or bounded single-holding-register writes only.');
107
+ }
108
+ mappings.push(Object.freeze(mapping));
109
+ }
110
+ return Object.freeze(mappings);
111
+ }
112
+ export function modbusCommand(valueArg, configArg) {
113
+ const value = modbusRecord(valueArg, ['type', 'mappingId', 'value']);
114
+ const mappingId = modbusText(value.mappingId, 'mapping id', 64);
115
+ const mapping = configArg.mappings.find((entry) => entry.id === mappingId);
116
+ if (!mapping)
117
+ throw new TypeError('Modbus command must target one explicitly owned read mapping.');
118
+ if (value.type === 'read' && !Object.hasOwn(value, 'value'))
119
+ return Object.freeze({ type: 'read', mappingId });
120
+ if (value.type === 'write_coil' && mapping.kind === 'coil' && mapping.write === true && typeof value.value === 'boolean') {
121
+ return Object.freeze({ type: 'write_coil', mappingId, value: value.value });
122
+ }
123
+ if (value.type === 'write_register' && mapping.kind === 'holding' && mapping.write !== undefined) {
124
+ return Object.freeze({ type: 'write_register', mappingId, value: modbusInteger(value.value, mapping.write.minimum, mapping.write.maximum) });
125
+ }
126
+ throw new TypeError('Modbus command is outside the explicit mapping write permission or absolute raw value contract.');
127
+ }
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYnVzLnZhbGlkYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9pbnRlZ3JhdGlvbnMvbW9kYnVzL21vZGJ1cy52YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFHNUMsTUFBTSxVQUFVLFlBQVksQ0FBQyxRQUFpQixFQUFFLFVBQThCO0lBQzVFLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hKLE1BQU0sSUFBSSxTQUFTLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQTRCLEVBQUUsQ0FBQztJQUMzQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1SSxNQUFNLElBQUksU0FBUyxDQUFDLGlGQUFpRixDQUFDLENBQUM7UUFDekcsQ0FBQztRQUNELE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxF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
@@ -1,25 +1,32 @@
1
- import type { IMqttConfig, IMqttConnectionState, IMqttMessage, IMqttPublishOptions, IMqttSnapshot } from './mqtt.types.js';
1
+ import type { IMqttConfig, IMqttConnectionState, IMqttMessage, IMqttPublishOptions, IMqttSnapshot, IMqttTransportCredentials } from './mqtt.types.js';
2
2
  type TMqttMessageHandler = (messageArg: IMqttMessage) => void;
3
3
  type TMqttStateHandler = (stateArg: IMqttConnectionState) => void;
4
4
  export declare const mqttTopicMatches: (filterArg: string, topicArg: string) => boolean;
5
5
  export declare const validateMqttTopic: (topicArg: string, filterArg?: boolean) => void;
6
6
  export declare class MqttClient {
7
7
  private readonly config;
8
+ private readonly credentials;
8
9
  private client?;
9
10
  private startPromise?;
10
11
  private destroyPromise?;
11
12
  private cleanupPromise;
13
+ private retryPromise?;
14
+ private readonly transportCleanups;
12
15
  private destroyed;
13
16
  private ready;
14
17
  private hasStarted;
15
18
  private generation;
19
+ private currentGeneration?;
20
+ private currentStream?;
16
21
  private readonly subscriptions;
17
22
  private readonly messageHandlers;
18
23
  private readonly stateHandlers;
19
24
  private readonly messages;
25
+ private readonly currentMessageTopics;
20
26
  private readonly persistentTopics;
21
27
  private readonly brokerTopics;
22
28
  private readonly pendingOperations;
29
+ private readonly publications;
23
30
  private topicSync?;
24
31
  private topicSyncRequested;
25
32
  private bufferedBytes;
@@ -28,16 +35,20 @@ export declare class MqttClient {
28
35
  private readonly maxMessageTopics;
29
36
  private readonly maxPayloadBytes;
30
37
  private readonly maxBufferedBytes;
31
- constructor(config: IMqttConfig);
38
+ constructor(config: IMqttConfig, credentials?: IMqttTransportCredentials);
32
39
  get connected(): boolean;
33
40
  isHealthy(): boolean;
34
41
  onConnectionState(handlerArg: TMqttStateHandler): () => void;
35
42
  onMessage(handlerArg: TMqttMessageHandler): () => void;
36
43
  getSnapshot(abortSignalArg?: AbortSignal): Promise<IMqttSnapshot>;
44
+ /** Live broker observations only, including arrivals before readiness; never starts a transport. */
45
+ getCurrentSnapshot(): IMqttMessage[];
37
46
  start(abortSignalArg?: AbortSignal): Promise<void>;
38
47
  publish(optionsArg: IMqttPublishOptions, abortSignalArg?: AbortSignal): Promise<void>;
39
48
  subscribe(topicArg: string, handlerArg?: TMqttMessageHandler, abortSignalArg?: AbortSignal): Promise<() => Promise<void>>;
40
49
  destroy(): Promise<void>;
50
+ /** Retry retained close handles only; this never admits a connection or replays application effects. */
51
+ retryCleanup(): Promise<void>;
41
52
  private startConnection;
42
53
  private initializeConnection;
43
54
  private synchronizeTopics;
@@ -45,9 +56,11 @@ export declare class MqttClient {
45
56
  private handleMessage;
46
57
  private storeMessage;
47
58
  private removeMessage;
59
+ private clearCurrentGeneration;
48
60
  private destroyConnection;
49
61
  private failConnection;
50
62
  private closeClient;
63
+ private performClientClose;
51
64
  private bounded;
52
65
  private rejectOperations;
53
66
  private emitState;