matterbridge 3.4.7 → 3.5.0-dev-20260113-96c82db

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 (449) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/broadcastServer.d.ts +0 -115
  3. package/dist/broadcastServer.js +0 -117
  4. package/dist/broadcastServerTypes.d.ts +0 -43
  5. package/dist/broadcastServerTypes.js +0 -24
  6. package/dist/cli.d.ts +0 -24
  7. package/dist/cli.js +1 -97
  8. package/dist/cliEmitter.d.ts +0 -36
  9. package/dist/cliEmitter.js +0 -37
  10. package/dist/cliHistory.d.ts +0 -42
  11. package/dist/cliHistory.js +0 -38
  12. package/dist/clusters/export.d.ts +0 -1
  13. package/dist/clusters/export.js +0 -2
  14. package/dist/deviceManager.d.ts +0 -108
  15. package/dist/deviceManager.js +1 -113
  16. package/dist/devices/airConditioner.d.ts +0 -75
  17. package/dist/devices/airConditioner.js +0 -57
  18. package/dist/devices/batteryStorage.d.ts +0 -43
  19. package/dist/devices/batteryStorage.js +1 -48
  20. package/dist/devices/cooktop.d.ts +0 -55
  21. package/dist/devices/cooktop.js +0 -56
  22. package/dist/devices/dishwasher.d.ts +0 -55
  23. package/dist/devices/dishwasher.js +0 -57
  24. package/dist/devices/evse.d.ts +0 -57
  25. package/dist/devices/evse.js +10 -74
  26. package/dist/devices/export.d.ts +0 -1
  27. package/dist/devices/export.js +0 -5
  28. package/dist/devices/extractorHood.d.ts +0 -41
  29. package/dist/devices/extractorHood.js +0 -43
  30. package/dist/devices/heatPump.d.ts +0 -43
  31. package/dist/devices/heatPump.js +2 -50
  32. package/dist/devices/laundryDryer.d.ts +0 -58
  33. package/dist/devices/laundryDryer.js +3 -62
  34. package/dist/devices/laundryWasher.d.ts +0 -64
  35. package/dist/devices/laundryWasher.js +4 -70
  36. package/dist/devices/microwaveOven.d.ts +1 -77
  37. package/dist/devices/microwaveOven.js +5 -88
  38. package/dist/devices/oven.d.ts +0 -82
  39. package/dist/devices/oven.js +0 -85
  40. package/dist/devices/refrigerator.d.ts +0 -100
  41. package/dist/devices/refrigerator.js +0 -102
  42. package/dist/devices/roboticVacuumCleaner.d.ts +0 -83
  43. package/dist/devices/roboticVacuumCleaner.js +9 -100
  44. package/dist/devices/solarPower.d.ts +0 -36
  45. package/dist/devices/solarPower.js +0 -38
  46. package/dist/devices/speaker.d.ts +0 -79
  47. package/dist/devices/speaker.js +0 -84
  48. package/dist/devices/temperatureControl.d.ts +0 -21
  49. package/dist/devices/temperatureControl.js +3 -24
  50. package/dist/devices/waterHeater.d.ts +0 -74
  51. package/dist/devices/waterHeater.js +2 -82
  52. package/dist/dgram/coap.d.ts +0 -171
  53. package/dist/dgram/coap.js +13 -126
  54. package/dist/dgram/dgram.d.ts +0 -99
  55. package/dist/dgram/dgram.js +2 -114
  56. package/dist/dgram/mb_coap.d.ts +0 -23
  57. package/dist/dgram/mb_coap.js +3 -41
  58. package/dist/dgram/mb_mdns.d.ts +0 -23
  59. package/dist/dgram/mb_mdns.js +24 -80
  60. package/dist/dgram/mdns.d.ts +4 -187
  61. package/dist/dgram/mdns.js +139 -371
  62. package/dist/dgram/multicast.d.ts +0 -49
  63. package/dist/dgram/multicast.js +1 -62
  64. package/dist/dgram/unicast.d.ts +0 -53
  65. package/dist/dgram/unicast.js +0 -60
  66. package/dist/frontend.d.ts +0 -187
  67. package/dist/frontend.js +38 -485
  68. package/dist/frontendTypes.d.ts +0 -57
  69. package/dist/frontendTypes.js +0 -45
  70. package/dist/helpers.d.ts +0 -43
  71. package/dist/helpers.js +0 -53
  72. package/dist/index.d.ts +0 -23
  73. package/dist/index.js +0 -25
  74. package/dist/jestutils/export.d.ts +0 -1
  75. package/dist/jestutils/export.js +0 -1
  76. package/dist/jestutils/jestHelpers.d.ts +0 -255
  77. package/dist/jestutils/jestHelpers.js +14 -371
  78. package/dist/logger/export.d.ts +0 -1
  79. package/dist/logger/export.js +0 -1
  80. package/dist/matter/behaviors.d.ts +0 -1
  81. package/dist/matter/behaviors.js +0 -2
  82. package/dist/matter/clusters.d.ts +0 -1
  83. package/dist/matter/clusters.js +0 -2
  84. package/dist/matter/devices.d.ts +0 -1
  85. package/dist/matter/devices.js +0 -2
  86. package/dist/matter/endpoints.d.ts +0 -1
  87. package/dist/matter/endpoints.js +0 -2
  88. package/dist/matter/export.d.ts +0 -1
  89. package/dist/matter/export.js +0 -3
  90. package/dist/matter/types.d.ts +0 -1
  91. package/dist/matter/types.js +0 -3
  92. package/dist/matterNode.d.ts +0 -258
  93. package/dist/matterNode.js +8 -369
  94. package/dist/matterbridge.d.ts +0 -353
  95. package/dist/matterbridge.js +46 -824
  96. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -36
  97. package/dist/matterbridgeAccessoryPlatform.js +0 -38
  98. package/dist/matterbridgeBehaviors.d.ts +0 -24
  99. package/dist/matterbridgeBehaviors.js +5 -68
  100. package/dist/matterbridgeDeviceTypes.d.ts +0 -603
  101. package/dist/matterbridgeDeviceTypes.js +14 -635
  102. package/dist/matterbridgeDynamicPlatform.d.ts +0 -36
  103. package/dist/matterbridgeDynamicPlatform.js +0 -38
  104. package/dist/matterbridgeEndpoint.d.ts +0 -1332
  105. package/dist/matterbridgeEndpoint.js +53 -1457
  106. package/dist/matterbridgeEndpointHelpers.d.ts +0 -425
  107. package/dist/matterbridgeEndpointHelpers.js +20 -483
  108. package/dist/matterbridgeEndpointTypes.d.ts +0 -70
  109. package/dist/matterbridgeEndpointTypes.js +0 -25
  110. package/dist/matterbridgePlatform.d.ts +0 -425
  111. package/dist/matterbridgePlatform.js +1 -451
  112. package/dist/matterbridgeTypes.d.ts +0 -46
  113. package/dist/matterbridgeTypes.js +0 -26
  114. package/dist/pluginManager.d.ts +0 -305
  115. package/dist/pluginManager.js +5 -341
  116. package/dist/shelly.d.ts +0 -157
  117. package/dist/shelly.js +7 -178
  118. package/dist/storage/export.d.ts +0 -1
  119. package/dist/storage/export.js +0 -1
  120. package/dist/update.d.ts +0 -75
  121. package/dist/update.js +1 -93
  122. package/dist/utils/colorUtils.d.ts +0 -77
  123. package/dist/utils/colorUtils.js +2 -97
  124. package/dist/utils/commandLine.d.ts +0 -60
  125. package/dist/utils/commandLine.js +0 -60
  126. package/dist/utils/copyDirectory.d.ts +0 -33
  127. package/dist/utils/copyDirectory.js +0 -37
  128. package/dist/utils/createDirectory.d.ts +0 -32
  129. package/dist/utils/createDirectory.js +0 -33
  130. package/dist/utils/createZip.d.ts +0 -38
  131. package/dist/utils/createZip.js +2 -47
  132. package/dist/utils/deepCopy.d.ts +0 -31
  133. package/dist/utils/deepCopy.js +0 -39
  134. package/dist/utils/deepEqual.d.ts +0 -53
  135. package/dist/utils/deepEqual.js +1 -72
  136. package/dist/utils/error.d.ts +0 -42
  137. package/dist/utils/error.js +0 -42
  138. package/dist/utils/export.d.ts +0 -1
  139. package/dist/utils/export.js +0 -1
  140. package/dist/utils/format.d.ts +0 -49
  141. package/dist/utils/format.js +0 -49
  142. package/dist/utils/hex.d.ts +0 -85
  143. package/dist/utils/hex.js +0 -124
  144. package/dist/utils/inspector.d.ts +0 -63
  145. package/dist/utils/inspector.js +1 -69
  146. package/dist/utils/isValid.d.ts +0 -93
  147. package/dist/utils/isValid.js +0 -93
  148. package/dist/utils/network.d.ts +0 -116
  149. package/dist/utils/network.js +5 -126
  150. package/dist/utils/spawn.d.ts +0 -32
  151. package/dist/utils/spawn.js +1 -71
  152. package/dist/utils/tracker.d.ts +0 -56
  153. package/dist/utils/tracker.js +1 -64
  154. package/dist/utils/wait.d.ts +0 -51
  155. package/dist/utils/wait.js +8 -60
  156. package/dist/workerGlobalPrefix.d.ts +0 -24
  157. package/dist/workerGlobalPrefix.js +5 -37
  158. package/dist/workerTypes.d.ts +0 -25
  159. package/dist/workerTypes.js +0 -24
  160. package/dist/workers.d.ts +0 -61
  161. package/dist/workers.js +4 -68
  162. package/npm-shrinkwrap.json +1500 -11420
  163. package/package.json +1 -7
  164. package/dist/broadcastServer.d.ts.map +0 -1
  165. package/dist/broadcastServer.js.map +0 -1
  166. package/dist/broadcastServerTypes.d.ts.map +0 -1
  167. package/dist/broadcastServerTypes.js.map +0 -1
  168. package/dist/cli.d.ts.map +0 -1
  169. package/dist/cli.js.map +0 -1
  170. package/dist/cliEmitter.d.ts.map +0 -1
  171. package/dist/cliEmitter.js.map +0 -1
  172. package/dist/cliHistory.d.ts.map +0 -1
  173. package/dist/cliHistory.js.map +0 -1
  174. package/dist/clusters/export.d.ts.map +0 -1
  175. package/dist/clusters/export.js.map +0 -1
  176. package/dist/deviceManager.d.ts.map +0 -1
  177. package/dist/deviceManager.js.map +0 -1
  178. package/dist/devices/airConditioner.d.ts.map +0 -1
  179. package/dist/devices/airConditioner.js.map +0 -1
  180. package/dist/devices/batteryStorage.d.ts.map +0 -1
  181. package/dist/devices/batteryStorage.js.map +0 -1
  182. package/dist/devices/cooktop.d.ts.map +0 -1
  183. package/dist/devices/cooktop.js.map +0 -1
  184. package/dist/devices/dishwasher.d.ts.map +0 -1
  185. package/dist/devices/dishwasher.js.map +0 -1
  186. package/dist/devices/evse.d.ts.map +0 -1
  187. package/dist/devices/evse.js.map +0 -1
  188. package/dist/devices/export.d.ts.map +0 -1
  189. package/dist/devices/export.js.map +0 -1
  190. package/dist/devices/extractorHood.d.ts.map +0 -1
  191. package/dist/devices/extractorHood.js.map +0 -1
  192. package/dist/devices/heatPump.d.ts.map +0 -1
  193. package/dist/devices/heatPump.js.map +0 -1
  194. package/dist/devices/laundryDryer.d.ts.map +0 -1
  195. package/dist/devices/laundryDryer.js.map +0 -1
  196. package/dist/devices/laundryWasher.d.ts.map +0 -1
  197. package/dist/devices/laundryWasher.js.map +0 -1
  198. package/dist/devices/microwaveOven.d.ts.map +0 -1
  199. package/dist/devices/microwaveOven.js.map +0 -1
  200. package/dist/devices/oven.d.ts.map +0 -1
  201. package/dist/devices/oven.js.map +0 -1
  202. package/dist/devices/refrigerator.d.ts.map +0 -1
  203. package/dist/devices/refrigerator.js.map +0 -1
  204. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  205. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  206. package/dist/devices/solarPower.d.ts.map +0 -1
  207. package/dist/devices/solarPower.js.map +0 -1
  208. package/dist/devices/speaker.d.ts.map +0 -1
  209. package/dist/devices/speaker.js.map +0 -1
  210. package/dist/devices/temperatureControl.d.ts.map +0 -1
  211. package/dist/devices/temperatureControl.js.map +0 -1
  212. package/dist/devices/waterHeater.d.ts.map +0 -1
  213. package/dist/devices/waterHeater.js.map +0 -1
  214. package/dist/dgram/coap.d.ts.map +0 -1
  215. package/dist/dgram/coap.js.map +0 -1
  216. package/dist/dgram/dgram.d.ts.map +0 -1
  217. package/dist/dgram/dgram.js.map +0 -1
  218. package/dist/dgram/mb_coap.d.ts.map +0 -1
  219. package/dist/dgram/mb_coap.js.map +0 -1
  220. package/dist/dgram/mb_mdns.d.ts.map +0 -1
  221. package/dist/dgram/mb_mdns.js.map +0 -1
  222. package/dist/dgram/mdns.d.ts.map +0 -1
  223. package/dist/dgram/mdns.js.map +0 -1
  224. package/dist/dgram/multicast.d.ts.map +0 -1
  225. package/dist/dgram/multicast.js.map +0 -1
  226. package/dist/dgram/unicast.d.ts.map +0 -1
  227. package/dist/dgram/unicast.js.map +0 -1
  228. package/dist/frontend.d.ts.map +0 -1
  229. package/dist/frontend.js.map +0 -1
  230. package/dist/frontendTypes.d.ts.map +0 -1
  231. package/dist/frontendTypes.js.map +0 -1
  232. package/dist/helpers.d.ts.map +0 -1
  233. package/dist/helpers.js.map +0 -1
  234. package/dist/index.d.ts.map +0 -1
  235. package/dist/index.js.map +0 -1
  236. package/dist/jestutils/export.d.ts.map +0 -1
  237. package/dist/jestutils/export.js.map +0 -1
  238. package/dist/jestutils/jestHelpers.d.ts.map +0 -1
  239. package/dist/jestutils/jestHelpers.js.map +0 -1
  240. package/dist/logger/export.d.ts.map +0 -1
  241. package/dist/logger/export.js.map +0 -1
  242. package/dist/matter/behaviors.d.ts.map +0 -1
  243. package/dist/matter/behaviors.js.map +0 -1
  244. package/dist/matter/clusters.d.ts.map +0 -1
  245. package/dist/matter/clusters.js.map +0 -1
  246. package/dist/matter/devices.d.ts.map +0 -1
  247. package/dist/matter/devices.js.map +0 -1
  248. package/dist/matter/endpoints.d.ts.map +0 -1
  249. package/dist/matter/endpoints.js.map +0 -1
  250. package/dist/matter/export.d.ts.map +0 -1
  251. package/dist/matter/export.js.map +0 -1
  252. package/dist/matter/types.d.ts.map +0 -1
  253. package/dist/matter/types.js.map +0 -1
  254. package/dist/matterNode.d.ts.map +0 -1
  255. package/dist/matterNode.js.map +0 -1
  256. package/dist/matterbridge.d.ts.map +0 -1
  257. package/dist/matterbridge.js.map +0 -1
  258. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  259. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  260. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  261. package/dist/matterbridgeBehaviors.js.map +0 -1
  262. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  263. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  264. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  265. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  266. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  267. package/dist/matterbridgeEndpoint.js.map +0 -1
  268. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  269. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  270. package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
  271. package/dist/matterbridgeEndpointTypes.js.map +0 -1
  272. package/dist/matterbridgePlatform.d.ts.map +0 -1
  273. package/dist/matterbridgePlatform.js.map +0 -1
  274. package/dist/matterbridgeTypes.d.ts.map +0 -1
  275. package/dist/matterbridgeTypes.js.map +0 -1
  276. package/dist/pluginManager.d.ts.map +0 -1
  277. package/dist/pluginManager.js.map +0 -1
  278. package/dist/shelly.d.ts.map +0 -1
  279. package/dist/shelly.js.map +0 -1
  280. package/dist/storage/export.d.ts.map +0 -1
  281. package/dist/storage/export.js.map +0 -1
  282. package/dist/update.d.ts.map +0 -1
  283. package/dist/update.js.map +0 -1
  284. package/dist/utils/colorUtils.d.ts.map +0 -1
  285. package/dist/utils/colorUtils.js.map +0 -1
  286. package/dist/utils/commandLine.d.ts.map +0 -1
  287. package/dist/utils/commandLine.js.map +0 -1
  288. package/dist/utils/copyDirectory.d.ts.map +0 -1
  289. package/dist/utils/copyDirectory.js.map +0 -1
  290. package/dist/utils/createDirectory.d.ts.map +0 -1
  291. package/dist/utils/createDirectory.js.map +0 -1
  292. package/dist/utils/createZip.d.ts.map +0 -1
  293. package/dist/utils/createZip.js.map +0 -1
  294. package/dist/utils/deepCopy.d.ts.map +0 -1
  295. package/dist/utils/deepCopy.js.map +0 -1
  296. package/dist/utils/deepEqual.d.ts.map +0 -1
  297. package/dist/utils/deepEqual.js.map +0 -1
  298. package/dist/utils/error.d.ts.map +0 -1
  299. package/dist/utils/error.js.map +0 -1
  300. package/dist/utils/export.d.ts.map +0 -1
  301. package/dist/utils/export.js.map +0 -1
  302. package/dist/utils/format.d.ts.map +0 -1
  303. package/dist/utils/format.js.map +0 -1
  304. package/dist/utils/hex.d.ts.map +0 -1
  305. package/dist/utils/hex.js.map +0 -1
  306. package/dist/utils/inspector.d.ts.map +0 -1
  307. package/dist/utils/inspector.js.map +0 -1
  308. package/dist/utils/isValid.d.ts.map +0 -1
  309. package/dist/utils/isValid.js.map +0 -1
  310. package/dist/utils/network.d.ts.map +0 -1
  311. package/dist/utils/network.js.map +0 -1
  312. package/dist/utils/spawn.d.ts.map +0 -1
  313. package/dist/utils/spawn.js.map +0 -1
  314. package/dist/utils/tracker.d.ts.map +0 -1
  315. package/dist/utils/tracker.js.map +0 -1
  316. package/dist/utils/wait.d.ts.map +0 -1
  317. package/dist/utils/wait.js.map +0 -1
  318. package/dist/workerGlobalPrefix.d.ts.map +0 -1
  319. package/dist/workerGlobalPrefix.js.map +0 -1
  320. package/dist/workerTypes.d.ts.map +0 -1
  321. package/dist/workerTypes.js.map +0 -1
  322. package/dist/workers.d.ts.map +0 -1
  323. package/dist/workers.js.map +0 -1
  324. package/frontend/index.html +0 -15
  325. package/frontend/package-lock.json +0 -7553
  326. package/packages/dgram/LICENSE +0 -202
  327. package/packages/dgram/dist/coap.d.ts +0 -205
  328. package/packages/dgram/dist/coap.d.ts.map +0 -1
  329. package/packages/dgram/dist/coap.js +0 -365
  330. package/packages/dgram/dist/coap.js.map +0 -1
  331. package/packages/dgram/dist/dgram.d.ts +0 -144
  332. package/packages/dgram/dist/dgram.d.ts.map +0 -1
  333. package/packages/dgram/dist/dgram.js +0 -367
  334. package/packages/dgram/dist/dgram.js.map +0 -1
  335. package/packages/dgram/dist/export.d.ts +0 -6
  336. package/packages/dgram/dist/export.d.ts.map +0 -1
  337. package/packages/dgram/dist/export.js +0 -6
  338. package/packages/dgram/dist/export.js.map +0 -1
  339. package/packages/dgram/dist/mdns.d.ts +0 -371
  340. package/packages/dgram/dist/mdns.d.ts.map +0 -1
  341. package/packages/dgram/dist/mdns.js +0 -934
  342. package/packages/dgram/dist/mdns.js.map +0 -1
  343. package/packages/dgram/dist/multicast.d.ts +0 -67
  344. package/packages/dgram/dist/multicast.d.ts.map +0 -1
  345. package/packages/dgram/dist/multicast.js +0 -180
  346. package/packages/dgram/dist/multicast.js.map +0 -1
  347. package/packages/dgram/dist/unicast.d.ts +0 -64
  348. package/packages/dgram/dist/unicast.d.ts.map +0 -1
  349. package/packages/dgram/dist/unicast.js +0 -100
  350. package/packages/dgram/dist/unicast.js.map +0 -1
  351. package/packages/dgram/package.json +0 -110
  352. package/packages/jest-utils/LICENSE +0 -202
  353. package/packages/jest-utils/dist/export.d.ts +0 -2
  354. package/packages/jest-utils/dist/export.d.ts.map +0 -1
  355. package/packages/jest-utils/dist/export.js +0 -2
  356. package/packages/jest-utils/dist/export.js.map +0 -1
  357. package/packages/jest-utils/dist/jestHelpers.d.ts +0 -77
  358. package/packages/jest-utils/dist/jestHelpers.d.ts.map +0 -1
  359. package/packages/jest-utils/dist/jestHelpers.js +0 -138
  360. package/packages/jest-utils/dist/jestHelpers.js.map +0 -1
  361. package/packages/jest-utils/package.json +0 -109
  362. package/packages/utils/LICENSE +0 -202
  363. package/packages/utils/dist/colorUtils.d.ts +0 -101
  364. package/packages/utils/dist/colorUtils.d.ts.map +0 -1
  365. package/packages/utils/dist/colorUtils.js +0 -282
  366. package/packages/utils/dist/colorUtils.js.map +0 -1
  367. package/packages/utils/dist/commandLine.d.ts +0 -66
  368. package/packages/utils/dist/commandLine.d.ts.map +0 -1
  369. package/packages/utils/dist/commandLine.js +0 -123
  370. package/packages/utils/dist/commandLine.js.map +0 -1
  371. package/packages/utils/dist/copyDirectory.d.ts +0 -35
  372. package/packages/utils/dist/copyDirectory.d.ts.map +0 -1
  373. package/packages/utils/dist/copyDirectory.js +0 -76
  374. package/packages/utils/dist/copyDirectory.js.map +0 -1
  375. package/packages/utils/dist/createDirectory.d.ts +0 -34
  376. package/packages/utils/dist/createDirectory.d.ts.map +0 -1
  377. package/packages/utils/dist/createDirectory.js +0 -54
  378. package/packages/utils/dist/createDirectory.js.map +0 -1
  379. package/packages/utils/dist/createZip.d.ts +0 -39
  380. package/packages/utils/dist/createZip.d.ts.map +0 -1
  381. package/packages/utils/dist/createZip.js +0 -114
  382. package/packages/utils/dist/createZip.js.map +0 -1
  383. package/packages/utils/dist/deepCopy.d.ts +0 -32
  384. package/packages/utils/dist/deepCopy.d.ts.map +0 -1
  385. package/packages/utils/dist/deepCopy.js +0 -79
  386. package/packages/utils/dist/deepCopy.js.map +0 -1
  387. package/packages/utils/dist/deepEqual.d.ts +0 -54
  388. package/packages/utils/dist/deepEqual.d.ts.map +0 -1
  389. package/packages/utils/dist/deepEqual.js +0 -130
  390. package/packages/utils/dist/deepEqual.js.map +0 -1
  391. package/packages/utils/dist/error.d.ts +0 -45
  392. package/packages/utils/dist/error.d.ts.map +0 -1
  393. package/packages/utils/dist/error.js +0 -54
  394. package/packages/utils/dist/error.js.map +0 -1
  395. package/packages/utils/dist/export.d.ts +0 -16
  396. package/packages/utils/dist/export.d.ts.map +0 -1
  397. package/packages/utils/dist/export.js +0 -16
  398. package/packages/utils/dist/export.js.map +0 -1
  399. package/packages/utils/dist/format.d.ts +0 -53
  400. package/packages/utils/dist/format.d.ts.map +0 -1
  401. package/packages/utils/dist/format.js +0 -78
  402. package/packages/utils/dist/format.js.map +0 -1
  403. package/packages/utils/dist/githubVersion.d.ts +0 -43
  404. package/packages/utils/dist/githubVersion.d.ts.map +0 -1
  405. package/packages/utils/dist/githubVersion.js +0 -70
  406. package/packages/utils/dist/githubVersion.js.map +0 -1
  407. package/packages/utils/dist/hex.d.ts +0 -89
  408. package/packages/utils/dist/hex.d.ts.map +0 -1
  409. package/packages/utils/dist/hex.js +0 -242
  410. package/packages/utils/dist/hex.js.map +0 -1
  411. package/packages/utils/dist/inspector.d.ts +0 -87
  412. package/packages/utils/dist/inspector.d.ts.map +0 -1
  413. package/packages/utils/dist/inspector.js +0 -268
  414. package/packages/utils/dist/inspector.js.map +0 -1
  415. package/packages/utils/dist/isValid.d.ts +0 -103
  416. package/packages/utils/dist/isValid.d.ts.map +0 -1
  417. package/packages/utils/dist/isValid.js +0 -162
  418. package/packages/utils/dist/isValid.js.map +0 -1
  419. package/packages/utils/dist/network.d.ts +0 -105
  420. package/packages/utils/dist/network.d.ts.map +0 -1
  421. package/packages/utils/dist/network.js +0 -201
  422. package/packages/utils/dist/network.js.map +0 -1
  423. package/packages/utils/dist/npmRoot.d.ts +0 -29
  424. package/packages/utils/dist/npmRoot.d.ts.map +0 -1
  425. package/packages/utils/dist/npmRoot.js +0 -41
  426. package/packages/utils/dist/npmRoot.js.map +0 -1
  427. package/packages/utils/dist/npmVersion.d.ts +0 -33
  428. package/packages/utils/dist/npmVersion.d.ts.map +0 -1
  429. package/packages/utils/dist/npmVersion.js +0 -76
  430. package/packages/utils/dist/npmVersion.js.map +0 -1
  431. package/packages/utils/dist/tracker.d.ts +0 -108
  432. package/packages/utils/dist/tracker.d.ts.map +0 -1
  433. package/packages/utils/dist/tracker.js +0 -264
  434. package/packages/utils/dist/tracker.js.map +0 -1
  435. package/packages/utils/dist/wait.d.ts +0 -54
  436. package/packages/utils/dist/wait.d.ts.map +0 -1
  437. package/packages/utils/dist/wait.js +0 -125
  438. package/packages/utils/dist/wait.js.map +0 -1
  439. package/packages/utils/package.json +0 -110
  440. package/packages/vitest-utils/LICENSE +0 -202
  441. package/packages/vitest-utils/dist/export.d.ts +0 -2
  442. package/packages/vitest-utils/dist/export.d.ts.map +0 -1
  443. package/packages/vitest-utils/dist/export.js +0 -2
  444. package/packages/vitest-utils/dist/export.js.map +0 -1
  445. package/packages/vitest-utils/dist/vitestHelpers.d.ts +0 -58
  446. package/packages/vitest-utils/dist/vitestHelpers.d.ts.map +0 -1
  447. package/packages/vitest-utils/dist/vitestHelpers.js +0 -119
  448. package/packages/vitest-utils/dist/vitestHelpers.js.map +0 -1
  449. package/packages/vitest-utils/package.json +0 -109
package/dist/shelly.d.ts CHANGED
@@ -1,97 +1,14 @@
1
- /**
2
- * This file contains the shelly api functions.
3
- *
4
- * @file shelly.ts
5
- * @author Luca Liguori
6
- * @created 2025-02-19
7
- * @version 1.2.1
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
1
  import { AnsiLogger } from 'node-ansi-logger';
25
2
  import { Matterbridge } from './matterbridge.js';
26
3
  import { BroadcastServer } from './broadcastServer.js';
27
4
  import { SharedMatterbridge } from './matterbridgeTypes.js';
28
- /**
29
- * Sets the interval for verification in seconds.
30
- *
31
- * @param {number} seconds - The interval in seconds.
32
- * @returns {void}
33
- */
34
5
  export declare function setVerifyIntervalSecs(seconds: number): void;
35
- /**
36
- * Sets the timeout for verification in seconds.
37
- *
38
- * @param {number} seconds - The timeout in seconds.
39
- * @returns {void}
40
- */
41
6
  export declare function setVerifyTimeoutSecs(seconds: number): void;
42
- /**
43
- * Fetches Shelly system updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
44
- *
45
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
46
- * @param {AnsiLogger} log - The logger instance.
47
- * @param {BroadcastServer} server - The broadcast server instance.
48
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
49
- */
50
7
  export declare function getShellySysUpdate(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<void>;
51
- /**
52
- * Triggers Shelly system updates.
53
- *
54
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
55
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
56
- */
57
8
  export declare function triggerShellySysUpdate(matterbridge: Matterbridge): Promise<void>;
58
- /**
59
- * Fetches Shelly main updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
60
- *
61
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
62
- * @param {AnsiLogger} log - The logger instance.
63
- * @param {BroadcastServer} server - The broadcast server instance.
64
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
65
- */
66
9
  export declare function getShellyMainUpdate(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<void>;
67
- /**
68
- * Triggers Shelly main updates.
69
- *
70
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
71
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
72
- */
73
10
  export declare function triggerShellyMainUpdate(matterbridge: Matterbridge): Promise<void>;
74
- /**
75
- * Verifies Shelly update.
76
- *
77
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
78
- * @param {string} api - The api to call: /api/updates/sys/status or /api/updates/main/status
79
- * @param {string} name - The name of the update.
80
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
81
- */
82
11
  export declare function verifyShellyUpdate(matterbridge: Matterbridge, api: string, name: string): Promise<void>;
83
- /**
84
- * Triggers Shelly change network configuration.
85
- *
86
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
87
- * @param {object} config - The network configuration.
88
- * @param {string} config.type - The type of network configuration, either 'static' or 'dhcp'.
89
- * @param {string} config.ip - The IP address to set (required for static configuration).
90
- * @param {string} config.subnet - The subnet mask to set (required for static configuration).
91
- * @param {string} config.gateway - The gateway to set (required for static configuration).
92
- * @param {string} config.dns - The DNS server to set (required for static configuration).
93
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
94
- */
95
12
  export declare function triggerShellyChangeIp(matterbridge: Matterbridge, config: {
96
13
  type: 'static' | 'dhcp';
97
14
  ip: string;
@@ -99,83 +16,9 @@ export declare function triggerShellyChangeIp(matterbridge: Matterbridge, config
99
16
  gateway: string;
100
17
  dns: string;
101
18
  }): Promise<void>;
102
- /**
103
- * Triggers Shelly system reboot.
104
- *
105
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
106
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
107
- */
108
19
  export declare function triggerShellyReboot(matterbridge: Matterbridge): Promise<void>;
109
- /**
110
- * Triggers Shelly soft reset.
111
- * It will replaces network config with the default one (edn0 on dhcp).
112
- *
113
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
114
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
115
- */
116
20
  export declare function triggerShellySoftReset(matterbridge: Matterbridge): Promise<void>;
117
- /**
118
- * Triggers Shelly hard reset.
119
- * It will do a hard reset and will remove both directories .matterbridge Matterbridge.
120
- *
121
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
122
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
123
- */
124
21
  export declare function triggerShellyHardReset(matterbridge: Matterbridge): Promise<void>;
125
- /**
126
- * Fetches Shelly system log and write it to shelly.log.
127
- *
128
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
129
- * @returns {Promise<boolean>} A promise that resolves to true if the log was successfully downloaded, false otherwise.
130
- */
131
22
  export declare function createShellySystemLog(matterbridge: Matterbridge): Promise<boolean>;
132
- /**
133
- * Perform a GET to Shelly board apis.
134
- *
135
- * @param {string} api - The api to call:
136
- *
137
- * /api/updates/sys/check => [{name:string; ...}]
138
- * /api/updates/sys/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
139
- * /api/updates/sys/status => {"updatingInProgress":true} or {"updatingInProgress":false}
140
- * /api/updates/main/check => [{name:string; ...}]
141
- * /api/updates/main/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
142
- * /api/updates/main/status => {"updatingInProgress":true} or {"updatingInProgress":false}
143
- *
144
- * /api/logs/system => text
145
- *
146
- * /api/reset/soft => "ok" Replaces network config with default one (edn0 on dhcp)
147
- * /api/reset/hard => reboot on success Hard reset makes soft reset + removing both directories .matterbridge Matterbridge + reboot
148
- *
149
- *
150
- * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
151
- * @returns {Promise<any>} A promise that resolves to the response.
152
- * @throws {Error} If the request fails.
153
- */
154
23
  export declare function getShelly(api: string, timeout?: number): Promise<any>;
155
- /**
156
- * Perform a POST request to Shelly board apis.
157
- *
158
- * @param {string} api - The api to call:
159
- *
160
- * Set static ip
161
- * /api/network/connection/static -d '{"interface": "end0", "addr": "10.11.12.101", "mask": "255.255.255.0", "gw": "10.11.12.1", "dns": "1.1.1.1"}' => {}
162
- *
163
- * Set dhcp
164
- * /api/network/connection/dynamic -d '{"interface": "end0"}' => {}
165
- *
166
- * Reboot
167
- * /api/system/reboot => {"success":true}
168
- *
169
- * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/dynamic
170
- * -d '{"interface": "end0"}'
171
- *
172
- * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/static
173
- * -d '{"interface": "end0", "addr": "192.168.1.64", "mask": "255.255.255.0", "gw": "192.168.1.1", "dns": "192.168.1.1"}'
174
- *
175
- * @param {any} data - The data to send in the POST request, typically a JSON object.
176
- * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
177
- * @returns {Promise<any>} A promise that resolves to the response.
178
- * @throws {Error} If the request fails.
179
- */
180
24
  export declare function postShelly(api: string, data: any, timeout?: number): Promise<any>;
181
- //# sourceMappingURL=shelly.d.ts.map
package/dist/shelly.js CHANGED
@@ -1,155 +1,74 @@
1
- /**
2
- * This file contains the shelly api functions.
3
- *
4
- * @file shelly.ts
5
- * @author Luca Liguori
6
- * @created 2025-02-19
7
- * @version 1.2.1
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
1
  import { debugStringify } from 'node-ansi-logger';
25
2
  let verifyIntervalSecs = 15;
26
3
  let verifyTimeoutSecs = 600;
27
- /**
28
- * Sets the interval for verification in seconds.
29
- *
30
- * @param {number} seconds - The interval in seconds.
31
- * @returns {void}
32
- */
33
4
  export function setVerifyIntervalSecs(seconds) {
34
5
  verifyIntervalSecs = seconds;
35
6
  }
36
- /**
37
- * Sets the timeout for verification in seconds.
38
- *
39
- * @param {number} seconds - The timeout in seconds.
40
- * @returns {void}
41
- */
42
7
  export function setVerifyTimeoutSecs(seconds) {
43
8
  verifyTimeoutSecs = seconds;
44
9
  }
45
- /**
46
- * Fetches Shelly system updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
47
- *
48
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
49
- * @param {AnsiLogger} log - The logger instance.
50
- * @param {BroadcastServer} server - The broadcast server instance.
51
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
52
- */
53
10
  export async function getShellySysUpdate(matterbridge, log, server) {
54
11
  try {
55
12
  const updates = (await getShelly('/api/updates/sys/check'));
56
13
  if (updates.length === 0)
57
14
  return;
58
15
  server.request({ type: 'matterbridge_sys_update', src: server.name, dst: 'matterbridge', params: { available: true } });
59
- // matterbridge.shellySysUpdate = true;
60
16
  server.request({ type: 'frontend_broadcast_message', src: server.name, dst: 'frontend', params: { msg: { id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_sys_update', success: true, response: { available: true } } } });
61
- // matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_sys_update', success: true, response: { available: true } });
62
17
  for (const { name } of updates) {
63
18
  if (!name)
64
19
  continue;
65
20
  log.notice(`Shelly system update available: ${name}`);
66
21
  server.request({ type: 'frontend_snackbarmessage', src: server.name, dst: 'frontend', params: { message: `Shelly system update available: ${name}`, timeout: 10 } });
67
- // matterbridge.frontend.wssSendSnackbarMessage(`Shelly system update available: ${name}`, 10);
68
22
  }
69
23
  }
70
24
  catch (err) {
71
25
  log.error(`Error getting Shelly system updates: ${err instanceof Error ? err.message : String(err)}`);
72
26
  }
73
27
  }
74
- /**
75
- * Triggers Shelly system updates.
76
- *
77
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
78
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
79
- */
80
28
  export async function triggerShellySysUpdate(matterbridge) {
81
29
  try {
82
- // Trigger the update request
83
30
  await getShelly('/api/updates/sys/perform');
84
31
  matterbridge.log.notice('Installing Shelly system update...');
85
32
  matterbridge.shellySysUpdate = false;
86
33
  matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly system update...', 15);
87
34
  matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_sys_update', success: true, response: { available: false } });
88
- // Begin polling update status
89
35
  await verifyShellyUpdate(matterbridge, '/api/updates/sys/status', 'Shelly system update');
90
36
  }
91
37
  catch (err) {
92
38
  matterbridge.log.error(`Error triggering Shelly system update: ${err instanceof Error ? err.message : String(err)}`);
93
39
  }
94
40
  }
95
- /**
96
- * Fetches Shelly main updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
97
- *
98
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
99
- * @param {AnsiLogger} log - The logger instance.
100
- * @param {BroadcastServer} server - The broadcast server instance.
101
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
102
- */
103
41
  export async function getShellyMainUpdate(matterbridge, log, server) {
104
42
  try {
105
43
  const updates = (await getShelly('/api/updates/main/check'));
106
44
  if (updates.length === 0)
107
45
  return;
108
46
  server.request({ type: 'matterbridge_main_update', src: server.name, dst: 'matterbridge', params: { available: true } });
109
- // matterbridge.shellyMainUpdate = true;
110
47
  server.request({ type: 'frontend_broadcast_message', src: server.name, dst: 'frontend', params: { msg: { id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_main_update', success: true, response: { available: true } } } });
111
- // matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_main_update', success: true, response: { available: true } });
112
48
  for (const { name } of updates) {
113
49
  if (!name)
114
50
  continue;
115
51
  log.notice(`Shelly software update available: ${name}`);
116
52
  server.request({ type: 'frontend_snackbarmessage', src: server.name, dst: 'frontend', params: { message: `Shelly software update available: ${name}`, timeout: 10 } });
117
- // matterbridge.frontend.wssSendSnackbarMessage(`Shelly software update available: ${name}`, 10);
118
53
  }
119
54
  }
120
55
  catch (err) {
121
56
  log.error(`Error getting Shelly main updates: ${err instanceof Error ? err.message : String(err)}`);
122
57
  }
123
58
  }
124
- /**
125
- * Triggers Shelly main updates.
126
- *
127
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
128
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
129
- */
130
59
  export async function triggerShellyMainUpdate(matterbridge) {
131
60
  try {
132
- // Trigger the perform-update request
133
61
  await getShelly('/api/updates/main/perform');
134
62
  matterbridge.log.notice('Installing Shelly software update...');
135
63
  matterbridge.shellyMainUpdate = false;
136
64
  matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly software update...', 15);
137
65
  matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_main_update', success: true, response: { available: false } });
138
- // Begin polling the update status
139
66
  await verifyShellyUpdate(matterbridge, '/api/updates/main/status', 'Shelly software update');
140
67
  }
141
68
  catch (err) {
142
69
  matterbridge.log.error(`Error triggering Shelly main update: ${err instanceof Error ? err.message : String(err)}`);
143
70
  }
144
71
  }
145
- /**
146
- * Verifies Shelly update.
147
- *
148
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
149
- * @param {string} api - The api to call: /api/updates/sys/status or /api/updates/main/status
150
- * @param {string} name - The name of the update.
151
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
152
- */
153
72
  export async function verifyShellyUpdate(matterbridge, api, name) {
154
73
  return new Promise((resolve) => {
155
74
  const timeout = setTimeout(() => {
@@ -157,9 +76,9 @@ export async function verifyShellyUpdate(matterbridge, api, name) {
157
76
  matterbridge.frontend.wssSendCloseSnackbarMessage(`${name} in progress...`);
158
77
  clearInterval(interval);
159
78
  resolve();
160
- }, verifyTimeoutSecs * 1000); // 10 minutes
79
+ }, verifyTimeoutSecs * 1000);
161
80
  const interval = setInterval(() => {
162
- getShelly(api, 10 * 1000) // 10 seconds
81
+ getShelly(api, 10 * 1000)
163
82
  .then(async (data) => {
164
83
  if (data.updatingInProgress) {
165
84
  matterbridge.log.debug(`${name} in progress...`);
@@ -182,21 +101,9 @@ export async function verifyShellyUpdate(matterbridge, api, name) {
182
101
  clearTimeout(timeout);
183
102
  resolve();
184
103
  });
185
- }, verifyIntervalSecs * 1000); // 15 seconds
104
+ }, verifyIntervalSecs * 1000);
186
105
  });
187
106
  }
188
- /**
189
- * Triggers Shelly change network configuration.
190
- *
191
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
192
- * @param {object} config - The network configuration.
193
- * @param {string} config.type - The type of network configuration, either 'static' or 'dhcp'.
194
- * @param {string} config.ip - The IP address to set (required for static configuration).
195
- * @param {string} config.subnet - The subnet mask to set (required for static configuration).
196
- * @param {string} config.gateway - The gateway to set (required for static configuration).
197
- * @param {string} config.dns - The DNS server to set (required for static configuration).
198
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
199
- */
200
107
  export async function triggerShellyChangeIp(matterbridge, config) {
201
108
  const api = config.type === 'static' ? '/api/network/connection/static' : '/api/network/connection/dynamic';
202
109
  const data = { interface: 'end0' };
@@ -219,12 +126,6 @@ export async function triggerShellyChangeIp(matterbridge, config) {
219
126
  matterbridge.frontend.wssSendSnackbarMessage('Error changing Shelly network configuration', 10, 'error');
220
127
  }
221
128
  }
222
- /**
223
- * Triggers Shelly system reboot.
224
- *
225
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
226
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
227
- */
228
129
  export async function triggerShellyReboot(matterbridge) {
229
130
  matterbridge.log.debug(`Triggering Shelly system reboot`);
230
131
  try {
@@ -242,13 +143,6 @@ export async function triggerShellyReboot(matterbridge) {
242
143
  matterbridge.frontend.wssSendSnackbarMessage('Error rebooting Shelly board', 10, 'error');
243
144
  }
244
145
  }
245
- /**
246
- * Triggers Shelly soft reset.
247
- * It will replaces network config with the default one (edn0 on dhcp).
248
- *
249
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
250
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
251
- */
252
146
  export async function triggerShellySoftReset(matterbridge) {
253
147
  matterbridge.log.debug(`Triggering Shelly soft reset`);
254
148
  try {
@@ -266,13 +160,6 @@ export async function triggerShellySoftReset(matterbridge) {
266
160
  matterbridge.frontend.wssSendSnackbarMessage('Error resetting the network parameters on Shelly board', 10, 'error');
267
161
  }
268
162
  }
269
- /**
270
- * Triggers Shelly hard reset.
271
- * It will do a hard reset and will remove both directories .matterbridge Matterbridge.
272
- *
273
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
274
- * @returns {Promise<void>} A promise that resolves when the operation is complete.
275
- */
276
163
  export async function triggerShellyHardReset(matterbridge) {
277
164
  matterbridge.log.debug(`Triggering Shelly hard reset`);
278
165
  try {
@@ -290,12 +177,6 @@ export async function triggerShellyHardReset(matterbridge) {
290
177
  matterbridge.frontend.wssSendSnackbarMessage('Error while factory resetting the Shelly board', 10, 'error');
291
178
  }
292
179
  }
293
- /**
294
- * Fetches Shelly system log and write it to shelly.log.
295
- *
296
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
297
- * @returns {Promise<boolean>} A promise that resolves to true if the log was successfully downloaded, false otherwise.
298
- */
299
180
  export async function createShellySystemLog(matterbridge) {
300
181
  const { promises: fs } = await import('node:fs');
301
182
  const path = await import('node:path');
@@ -312,28 +193,6 @@ export async function createShellySystemLog(matterbridge) {
312
193
  return false;
313
194
  }
314
195
  }
315
- /**
316
- * Perform a GET to Shelly board apis.
317
- *
318
- * @param {string} api - The api to call:
319
- *
320
- * /api/updates/sys/check => [{name:string; ...}]
321
- * /api/updates/sys/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
322
- * /api/updates/sys/status => {"updatingInProgress":true} or {"updatingInProgress":false}
323
- * /api/updates/main/check => [{name:string; ...}]
324
- * /api/updates/main/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
325
- * /api/updates/main/status => {"updatingInProgress":true} or {"updatingInProgress":false}
326
- *
327
- * /api/logs/system => text
328
- *
329
- * /api/reset/soft => "ok" Replaces network config with default one (edn0 on dhcp)
330
- * /api/reset/hard => reboot on success Hard reset makes soft reset + removing both directories .matterbridge Matterbridge + reboot
331
- *
332
- *
333
- * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
334
- * @returns {Promise<any>} A promise that resolves to the response.
335
- * @throws {Error} If the request fails.
336
- */
337
196
  export async function getShelly(api, timeout = 60000) {
338
197
  const http = await import('node:http');
339
198
  return new Promise((resolve, reject) => {
@@ -347,13 +206,12 @@ export async function getShelly(api, timeout = 60000) {
347
206
  let data = '';
348
207
  if (res.statusCode !== 200) {
349
208
  clearTimeout(timeoutId);
350
- res.resume(); // Discard response data to close the socket properly
351
- req.destroy(); // Forcefully close the request
209
+ res.resume();
210
+ req.destroy();
352
211
  reject(new Error(`Failed to fetch data. Status code: ${res.statusCode}`));
353
212
  return;
354
213
  }
355
214
  res.on('data', (chunk) => {
356
- // console.log(chunk);
357
215
  data += chunk;
358
216
  });
359
217
  res.on('end', () => {
@@ -368,7 +226,6 @@ export async function getShelly(api, timeout = 60000) {
368
226
  }
369
227
  }
370
228
  else {
371
- // console.log(data);
372
229
  resolve(data);
373
230
  }
374
231
  });
@@ -379,31 +236,6 @@ export async function getShelly(api, timeout = 60000) {
379
236
  });
380
237
  });
381
238
  }
382
- /**
383
- * Perform a POST request to Shelly board apis.
384
- *
385
- * @param {string} api - The api to call:
386
- *
387
- * Set static ip
388
- * /api/network/connection/static -d '{"interface": "end0", "addr": "10.11.12.101", "mask": "255.255.255.0", "gw": "10.11.12.1", "dns": "1.1.1.1"}' => {}
389
- *
390
- * Set dhcp
391
- * /api/network/connection/dynamic -d '{"interface": "end0"}' => {}
392
- *
393
- * Reboot
394
- * /api/system/reboot => {"success":true}
395
- *
396
- * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/dynamic
397
- * -d '{"interface": "end0"}'
398
- *
399
- * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/static
400
- * -d '{"interface": "end0", "addr": "192.168.1.64", "mask": "255.255.255.0", "gw": "192.168.1.1", "dns": "192.168.1.1"}'
401
- *
402
- * @param {any} data - The data to send in the POST request, typically a JSON object.
403
- * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
404
- * @returns {Promise<any>} A promise that resolves to the response.
405
- * @throws {Error} If the request fails.
406
- */
407
239
  export async function postShelly(api, data, timeout = 60000) {
408
240
  const http = await import('node:http');
409
241
  return new Promise((resolve, reject) => {
@@ -424,11 +256,10 @@ export async function postShelly(api, data, timeout = 60000) {
424
256
  };
425
257
  const req = http.request(url, options, (res) => {
426
258
  let responseData = '';
427
- // Check for non-success status codes (e.g., 300+)
428
259
  if (res.statusCode && res.statusCode >= 300) {
429
260
  clearTimeout(timeoutId);
430
- res.resume(); // Discard response data to free up memory
431
- req.destroy(); // Close the request
261
+ res.resume();
262
+ req.destroy();
432
263
  return reject(new Error(`Failed to post data. Status code: ${res.statusCode}`));
433
264
  }
434
265
  res.on('data', (chunk) => {
@@ -449,9 +280,7 @@ export async function postShelly(api, data, timeout = 60000) {
449
280
  clearTimeout(timeoutId);
450
281
  reject(new Error(`Request failed: ${error instanceof Error ? error.message : error}`));
451
282
  });
452
- // Send the JSON data
453
283
  req.write(jsonData);
454
284
  req.end();
455
285
  });
456
286
  }
457
- //# sourceMappingURL=shelly.js.map
@@ -1,2 +1 @@
1
1
  export * from 'node-persist-manager';
2
- //# sourceMappingURL=export.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from 'node-persist-manager';
2
- //# sourceMappingURL=export.js.map
package/dist/update.d.ts CHANGED
@@ -1,84 +1,9 @@
1
- /**
2
- * This file contains the check updates functions.
3
- *
4
- * @file update.ts
5
- * @author Luca Liguori
6
- * @created 2025-02-24
7
- * @version 2.0.1
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2025, 2026, 2027 Luca Liguori.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
1
  import { AnsiLogger } from 'node-ansi-logger';
25
2
  import { ApiPlugin, SharedMatterbridge } from './matterbridgeTypes.js';
26
3
  import { BroadcastServer } from './broadcastServer.js';
27
- /**
28
- * Checks for updates for Matterbridge and its plugins.
29
- * If the 'shelly' parameter is present, also checks for Shelly updates.
30
- *
31
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
32
- * @returns {Promise<void>} A promise that resolves when the update checks are complete.
33
- */
34
4
  export declare function checkUpdates(matterbridge: SharedMatterbridge): Promise<void>;
35
- /**
36
- * Checks for updates and logs from https://matterbridge.io/.
37
- * If the update check fails, logs a warning message.
38
- *
39
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
40
- * @param {AnsiLogger} log - The logger instance.
41
- * @param {BroadcastServer} server - The broadcast server instance.
42
- */
43
5
  export declare function checkUpdatesAndLog(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<void>;
44
- /**
45
- * Retrieves the latest version of Matterbridge and updates the matterbridgeLatestVersion property.
46
- * If there is an error retrieving the latest version, logs an error message.
47
- *
48
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
49
- * @param {AnsiLogger} log - The logger instance.
50
- * @param {BroadcastServer} server - The broadcast server instance.
51
- * @returns {Promise<string | undefined>} A promise that resolves when the latest version is retrieved.
52
- */
53
6
  export declare function getMatterbridgeLatestVersion(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<string | undefined>;
54
- /**
55
- * Retrieves the latest dev version of Matterbridge and updates the matterbridgeDevVersion property.
56
- * If there is an error retrieving the latest version, logs an error message.
57
- *
58
- * @param {SharedMatterbridge} matterbridge - The Matterbridge instance.
59
- * @param {AnsiLogger} log - The logger instance.
60
- * @param {BroadcastServer} server - The broadcast server instance.
61
- * @returns {Promise<string | undefined>} A promise that resolves when the latest dev version is retrieved.
62
- */
63
7
  export declare function getMatterbridgeDevVersion(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<string | undefined>;
64
- /**
65
- * Retrieves the latest version of a plugin and updates the plugin's latestVersion property.
66
- * If there is an error retrieving the latest version, logs an error message.
67
- *
68
- * @param {AnsiLogger} log - The logger instance.
69
- * @param {BroadcastServer} server - The broadcast server instance.
70
- * @param {ApiPlugin} plugin - The plugin for which to retrieve the latest version.
71
- * @returns {Promise<string | undefined>} A promise that resolves when the latest version is retrieved.
72
- */
73
8
  export declare function getPluginLatestVersion(log: AnsiLogger, server: BroadcastServer, plugin: ApiPlugin): Promise<string | undefined>;
74
- /**
75
- * Retrieves the latest dev version of a plugin and updates the plugin's devVersion property.
76
- * If there is an error retrieving the latest version, logs an error message.
77
- *
78
- * @param {AnsiLogger} log - The logger instance.
79
- * @param {BroadcastServer} server - The broadcast server instance.
80
- * @param {ApiPlugin} plugin - The plugin for which to retrieve the latest version.
81
- * @returns {Promise<string | undefined>} A promise that resolves when the latest dev version is retrieved.
82
- */
83
9
  export declare function getPluginDevVersion(log: AnsiLogger, server: BroadcastServer, plugin: ApiPlugin): Promise<string | undefined>;
84
- //# sourceMappingURL=update.d.ts.map