matterbridge 3.3.7-dev-20251109-a306ab9 → 3.3.7

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 (302) hide show
  1. package/dist/broadcastServer.d.ts +115 -0
  2. package/dist/broadcastServer.d.ts.map +1 -0
  3. package/dist/broadcastServer.js +93 -1
  4. package/dist/broadcastServer.js.map +1 -0
  5. package/dist/broadcastServerTypes.d.ts +806 -0
  6. package/dist/broadcastServerTypes.d.ts.map +1 -0
  7. package/dist/broadcastServerTypes.js +24 -0
  8. package/dist/broadcastServerTypes.js.map +1 -0
  9. package/dist/cli.d.ts +30 -0
  10. package/dist/cli.d.ts.map +1 -0
  11. package/dist/cli.js +97 -1
  12. package/dist/cli.js.map +1 -0
  13. package/dist/cliEmitter.d.ts +50 -0
  14. package/dist/cliEmitter.d.ts.map +1 -0
  15. package/dist/cliEmitter.js +37 -0
  16. package/dist/cliEmitter.js.map +1 -0
  17. package/dist/cliHistory.d.ts +48 -0
  18. package/dist/cliHistory.d.ts.map +1 -0
  19. package/dist/cliHistory.js +38 -0
  20. package/dist/cliHistory.js.map +1 -0
  21. package/dist/clusters/export.d.ts +2 -0
  22. package/dist/clusters/export.d.ts.map +1 -0
  23. package/dist/clusters/export.js +2 -0
  24. package/dist/clusters/export.js.map +1 -0
  25. package/dist/defaultConfigSchema.d.ts +28 -0
  26. package/dist/defaultConfigSchema.d.ts.map +1 -0
  27. package/dist/defaultConfigSchema.js +24 -0
  28. package/dist/defaultConfigSchema.js.map +1 -0
  29. package/dist/deviceManager.d.ts +128 -0
  30. package/dist/deviceManager.d.ts.map +1 -0
  31. package/dist/deviceManager.js +105 -1
  32. package/dist/deviceManager.js.map +1 -0
  33. package/dist/devices/airConditioner.d.ts +98 -0
  34. package/dist/devices/airConditioner.d.ts.map +1 -0
  35. package/dist/devices/airConditioner.js +57 -0
  36. package/dist/devices/airConditioner.js.map +1 -0
  37. package/dist/devices/batteryStorage.d.ts +48 -0
  38. package/dist/devices/batteryStorage.d.ts.map +1 -0
  39. package/dist/devices/batteryStorage.js +48 -1
  40. package/dist/devices/batteryStorage.js.map +1 -0
  41. package/dist/devices/cooktop.d.ts +60 -0
  42. package/dist/devices/cooktop.d.ts.map +1 -0
  43. package/dist/devices/cooktop.js +55 -0
  44. package/dist/devices/cooktop.js.map +1 -0
  45. package/dist/devices/dishwasher.d.ts +71 -0
  46. package/dist/devices/dishwasher.d.ts.map +1 -0
  47. package/dist/devices/dishwasher.js +57 -0
  48. package/dist/devices/dishwasher.js.map +1 -0
  49. package/dist/devices/evse.d.ts +76 -0
  50. package/dist/devices/evse.d.ts.map +1 -0
  51. package/dist/devices/evse.js +74 -10
  52. package/dist/devices/evse.js.map +1 -0
  53. package/dist/devices/export.d.ts +17 -0
  54. package/dist/devices/export.d.ts.map +1 -0
  55. package/dist/devices/export.js +5 -0
  56. package/dist/devices/export.js.map +1 -0
  57. package/dist/devices/extractorHood.d.ts +46 -0
  58. package/dist/devices/extractorHood.d.ts.map +1 -0
  59. package/dist/devices/extractorHood.js +42 -0
  60. package/dist/devices/extractorHood.js.map +1 -0
  61. package/dist/devices/heatPump.d.ts +47 -0
  62. package/dist/devices/heatPump.d.ts.map +1 -0
  63. package/dist/devices/heatPump.js +50 -2
  64. package/dist/devices/heatPump.js.map +1 -0
  65. package/dist/devices/laundryDryer.d.ts +67 -0
  66. package/dist/devices/laundryDryer.d.ts.map +1 -0
  67. package/dist/devices/laundryDryer.js +62 -3
  68. package/dist/devices/laundryDryer.js.map +1 -0
  69. package/dist/devices/laundryWasher.d.ts +81 -0
  70. package/dist/devices/laundryWasher.d.ts.map +1 -0
  71. package/dist/devices/laundryWasher.js +70 -4
  72. package/dist/devices/laundryWasher.js.map +1 -0
  73. package/dist/devices/microwaveOven.d.ts +168 -0
  74. package/dist/devices/microwaveOven.d.ts.map +1 -0
  75. package/dist/devices/microwaveOven.js +88 -5
  76. package/dist/devices/microwaveOven.js.map +1 -0
  77. package/dist/devices/oven.d.ts +105 -0
  78. package/dist/devices/oven.d.ts.map +1 -0
  79. package/dist/devices/oven.js +85 -0
  80. package/dist/devices/oven.js.map +1 -0
  81. package/dist/devices/refrigerator.d.ts +118 -0
  82. package/dist/devices/refrigerator.d.ts.map +1 -0
  83. package/dist/devices/refrigerator.js +102 -0
  84. package/dist/devices/refrigerator.js.map +1 -0
  85. package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
  86. package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
  87. package/dist/devices/roboticVacuumCleaner.js +100 -9
  88. package/dist/devices/roboticVacuumCleaner.js.map +1 -0
  89. package/dist/devices/solarPower.d.ts +40 -0
  90. package/dist/devices/solarPower.d.ts.map +1 -0
  91. package/dist/devices/solarPower.js +38 -0
  92. package/dist/devices/solarPower.js.map +1 -0
  93. package/dist/devices/speaker.d.ts +87 -0
  94. package/dist/devices/speaker.d.ts.map +1 -0
  95. package/dist/devices/speaker.js +84 -0
  96. package/dist/devices/speaker.js.map +1 -0
  97. package/dist/devices/temperatureControl.d.ts +166 -0
  98. package/dist/devices/temperatureControl.d.ts.map +1 -0
  99. package/dist/devices/temperatureControl.js +24 -3
  100. package/dist/devices/temperatureControl.js.map +1 -0
  101. package/dist/devices/waterHeater.d.ts +111 -0
  102. package/dist/devices/waterHeater.d.ts.map +1 -0
  103. package/dist/devices/waterHeater.js +82 -2
  104. package/dist/devices/waterHeater.js.map +1 -0
  105. package/dist/dgram/coap.d.ts +205 -0
  106. package/dist/dgram/coap.d.ts.map +1 -0
  107. package/dist/dgram/coap.js +126 -13
  108. package/dist/dgram/coap.js.map +1 -0
  109. package/dist/dgram/dgram.d.ts +141 -0
  110. package/dist/dgram/dgram.d.ts.map +1 -0
  111. package/dist/dgram/dgram.js +114 -2
  112. package/dist/dgram/dgram.js.map +1 -0
  113. package/dist/dgram/mb_coap.d.ts +24 -0
  114. package/dist/dgram/mb_coap.d.ts.map +1 -0
  115. package/dist/dgram/mb_coap.js +41 -3
  116. package/dist/dgram/mb_coap.js.map +1 -0
  117. package/dist/dgram/mb_mdns.d.ts +24 -0
  118. package/dist/dgram/mb_mdns.d.ts.map +1 -0
  119. package/dist/dgram/mb_mdns.js +80 -15
  120. package/dist/dgram/mb_mdns.js.map +1 -0
  121. package/dist/dgram/mdns.d.ts +290 -0
  122. package/dist/dgram/mdns.d.ts.map +1 -0
  123. package/dist/dgram/mdns.js +299 -137
  124. package/dist/dgram/mdns.js.map +1 -0
  125. package/dist/dgram/multicast.d.ts +67 -0
  126. package/dist/dgram/multicast.d.ts.map +1 -0
  127. package/dist/dgram/multicast.js +62 -1
  128. package/dist/dgram/multicast.js.map +1 -0
  129. package/dist/dgram/unicast.d.ts +56 -0
  130. package/dist/dgram/unicast.d.ts.map +1 -0
  131. package/dist/dgram/unicast.js +54 -0
  132. package/dist/dgram/unicast.js.map +1 -0
  133. package/dist/frontend.d.ts +238 -0
  134. package/dist/frontend.d.ts.map +1 -0
  135. package/dist/frontend.js +451 -35
  136. package/dist/frontend.js.map +1 -0
  137. package/dist/frontendTypes.d.ts +529 -0
  138. package/dist/frontendTypes.d.ts.map +1 -0
  139. package/dist/frontendTypes.js +45 -0
  140. package/dist/frontendTypes.js.map +1 -0
  141. package/dist/helpers.d.ts +48 -0
  142. package/dist/helpers.d.ts.map +1 -0
  143. package/dist/helpers.js +53 -0
  144. package/dist/helpers.js.map +1 -0
  145. package/dist/index.d.ts +33 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +25 -0
  148. package/dist/index.js.map +1 -0
  149. package/dist/logger/export.d.ts +2 -0
  150. package/dist/logger/export.d.ts.map +1 -0
  151. package/dist/logger/export.js +1 -0
  152. package/dist/logger/export.js.map +1 -0
  153. package/dist/matter/behaviors.d.ts +2 -0
  154. package/dist/matter/behaviors.d.ts.map +1 -0
  155. package/dist/matter/behaviors.js +2 -0
  156. package/dist/matter/behaviors.js.map +1 -0
  157. package/dist/matter/clusters.d.ts +2 -0
  158. package/dist/matter/clusters.d.ts.map +1 -0
  159. package/dist/matter/clusters.js +2 -0
  160. package/dist/matter/clusters.js.map +1 -0
  161. package/dist/matter/devices.d.ts +2 -0
  162. package/dist/matter/devices.d.ts.map +1 -0
  163. package/dist/matter/devices.js +2 -0
  164. package/dist/matter/devices.js.map +1 -0
  165. package/dist/matter/endpoints.d.ts +2 -0
  166. package/dist/matter/endpoints.d.ts.map +1 -0
  167. package/dist/matter/endpoints.js +2 -0
  168. package/dist/matter/endpoints.js.map +1 -0
  169. package/dist/matter/export.d.ts +5 -0
  170. package/dist/matter/export.d.ts.map +1 -0
  171. package/dist/matter/export.js +3 -0
  172. package/dist/matter/export.js.map +1 -0
  173. package/dist/matter/types.d.ts +3 -0
  174. package/dist/matter/types.d.ts.map +1 -0
  175. package/dist/matter/types.js +3 -0
  176. package/dist/matter/types.js.map +1 -0
  177. package/dist/matterbridge.d.ts +478 -0
  178. package/dist/matterbridge.d.ts.map +1 -0
  179. package/dist/matterbridge.js +828 -46
  180. package/dist/matterbridge.js.map +1 -0
  181. package/dist/matterbridgeAccessoryPlatform.d.ts +42 -0
  182. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  183. package/dist/matterbridgeAccessoryPlatform.js +37 -0
  184. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  185. package/dist/matterbridgeBehaviors.d.ts +2404 -0
  186. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  187. package/dist/matterbridgeBehaviors.js +68 -5
  188. package/dist/matterbridgeBehaviors.js.map +1 -0
  189. package/dist/matterbridgeDeviceTypes.d.ts +770 -0
  190. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  191. package/dist/matterbridgeDeviceTypes.js +638 -17
  192. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  193. package/dist/matterbridgeDynamicPlatform.d.ts +42 -0
  194. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  195. package/dist/matterbridgeDynamicPlatform.js +37 -0
  196. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  197. package/dist/matterbridgeEndpoint.d.ts +1556 -0
  198. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  199. package/dist/matterbridgeEndpoint.js +1408 -52
  200. package/dist/matterbridgeEndpoint.js.map +1 -0
  201. package/dist/matterbridgeEndpointHelpers.d.ts +758 -0
  202. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  203. package/dist/matterbridgeEndpointHelpers.js +464 -19
  204. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  205. package/dist/matterbridgePlatform.d.ts +402 -0
  206. package/dist/matterbridgePlatform.d.ts.map +1 -0
  207. package/dist/matterbridgePlatform.js +341 -1
  208. package/dist/matterbridgePlatform.js.map +1 -0
  209. package/dist/matterbridgeTypes.d.ts +239 -0
  210. package/dist/matterbridgeTypes.d.ts.map +1 -0
  211. package/dist/matterbridgeTypes.js +26 -0
  212. package/dist/matterbridgeTypes.js.map +1 -0
  213. package/dist/pluginManager.d.ts +371 -0
  214. package/dist/pluginManager.d.ts.map +1 -0
  215. package/dist/pluginManager.js +339 -4
  216. package/dist/pluginManager.js.map +1 -0
  217. package/dist/shelly.d.ts +174 -0
  218. package/dist/shelly.d.ts.map +1 -0
  219. package/dist/shelly.js +168 -7
  220. package/dist/shelly.js.map +1 -0
  221. package/dist/storage/export.d.ts +2 -0
  222. package/dist/storage/export.d.ts.map +1 -0
  223. package/dist/storage/export.js +1 -0
  224. package/dist/storage/export.js.map +1 -0
  225. package/dist/update.d.ts +75 -0
  226. package/dist/update.d.ts.map +1 -0
  227. package/dist/update.js +69 -0
  228. package/dist/update.js.map +1 -0
  229. package/dist/utils/colorUtils.d.ts +101 -0
  230. package/dist/utils/colorUtils.d.ts.map +1 -0
  231. package/dist/utils/colorUtils.js +97 -2
  232. package/dist/utils/colorUtils.js.map +1 -0
  233. package/dist/utils/commandLine.d.ts +66 -0
  234. package/dist/utils/commandLine.d.ts.map +1 -0
  235. package/dist/utils/commandLine.js +60 -0
  236. package/dist/utils/commandLine.js.map +1 -0
  237. package/dist/utils/copyDirectory.d.ts +33 -0
  238. package/dist/utils/copyDirectory.d.ts.map +1 -0
  239. package/dist/utils/copyDirectory.js +38 -1
  240. package/dist/utils/copyDirectory.js.map +1 -0
  241. package/dist/utils/createDirectory.d.ts +34 -0
  242. package/dist/utils/createDirectory.d.ts.map +1 -0
  243. package/dist/utils/createDirectory.js +33 -0
  244. package/dist/utils/createDirectory.js.map +1 -0
  245. package/dist/utils/createZip.d.ts +39 -0
  246. package/dist/utils/createZip.d.ts.map +1 -0
  247. package/dist/utils/createZip.js +47 -2
  248. package/dist/utils/createZip.js.map +1 -0
  249. package/dist/utils/deepCopy.d.ts +32 -0
  250. package/dist/utils/deepCopy.d.ts.map +1 -0
  251. package/dist/utils/deepCopy.js +39 -0
  252. package/dist/utils/deepCopy.js.map +1 -0
  253. package/dist/utils/deepEqual.d.ts +54 -0
  254. package/dist/utils/deepEqual.d.ts.map +1 -0
  255. package/dist/utils/deepEqual.js +72 -1
  256. package/dist/utils/deepEqual.js.map +1 -0
  257. package/dist/utils/error.d.ts +44 -0
  258. package/dist/utils/error.d.ts.map +1 -0
  259. package/dist/utils/error.js +41 -0
  260. package/dist/utils/error.js.map +1 -0
  261. package/dist/utils/export.d.ts +13 -0
  262. package/dist/utils/export.d.ts.map +1 -0
  263. package/dist/utils/export.js +1 -0
  264. package/dist/utils/export.js.map +1 -0
  265. package/dist/utils/format.d.ts +53 -0
  266. package/dist/utils/format.d.ts.map +1 -0
  267. package/dist/utils/format.js +49 -0
  268. package/dist/utils/format.js.map +1 -0
  269. package/dist/utils/hex.d.ts +89 -0
  270. package/dist/utils/hex.d.ts.map +1 -0
  271. package/dist/utils/hex.js +124 -0
  272. package/dist/utils/hex.js.map +1 -0
  273. package/dist/utils/inspector.d.ts +87 -0
  274. package/dist/utils/inspector.d.ts.map +1 -0
  275. package/dist/utils/inspector.js +69 -1
  276. package/dist/utils/inspector.js.map +1 -0
  277. package/dist/utils/isvalid.d.ts +103 -0
  278. package/dist/utils/isvalid.d.ts.map +1 -0
  279. package/dist/utils/isvalid.js +101 -0
  280. package/dist/utils/isvalid.js.map +1 -0
  281. package/dist/utils/jestHelpers.d.ts +139 -0
  282. package/dist/utils/jestHelpers.d.ts.map +1 -0
  283. package/dist/utils/jestHelpers.js +153 -3
  284. package/dist/utils/jestHelpers.js.map +1 -0
  285. package/dist/utils/network.d.ts +101 -0
  286. package/dist/utils/network.d.ts.map +1 -0
  287. package/dist/utils/network.js +96 -5
  288. package/dist/utils/network.js.map +1 -0
  289. package/dist/utils/spawn.d.ts +35 -0
  290. package/dist/utils/spawn.d.ts.map +1 -0
  291. package/dist/utils/spawn.js +71 -0
  292. package/dist/utils/spawn.js.map +1 -0
  293. package/dist/utils/tracker.d.ts +108 -0
  294. package/dist/utils/tracker.d.ts.map +1 -0
  295. package/dist/utils/tracker.js +64 -1
  296. package/dist/utils/tracker.js.map +1 -0
  297. package/dist/utils/wait.d.ts +54 -0
  298. package/dist/utils/wait.d.ts.map +1 -0
  299. package/dist/utils/wait.js +60 -8
  300. package/dist/utils/wait.js.map +1 -0
  301. package/npm-shrinkwrap.json +2 -2
  302. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
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.1.0
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
+ import { Matterbridge } from './matterbridge.js';
25
+ /**
26
+ * Sets the interval for verification in seconds.
27
+ *
28
+ * @param {number} seconds - The interval in seconds.
29
+ * @returns {void}
30
+ */
31
+ export declare function setVerifyIntervalSecs(seconds: number): void;
32
+ /**
33
+ * Sets the timeout for verification in seconds.
34
+ *
35
+ * @param {number} seconds - The timeout in seconds.
36
+ * @returns {void}
37
+ */
38
+ export declare function setVerifyTimeoutSecs(seconds: number): void;
39
+ /**
40
+ * Fetches Shelly system updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
41
+ *
42
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
43
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
44
+ */
45
+ export declare function getShellySysUpdate(matterbridge: Matterbridge): Promise<void>;
46
+ /**
47
+ * Triggers Shelly system updates.
48
+ *
49
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
50
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
51
+ */
52
+ export declare function triggerShellySysUpdate(matterbridge: Matterbridge): Promise<void>;
53
+ /**
54
+ * Fetches Shelly main updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
55
+ *
56
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
57
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
58
+ */
59
+ export declare function getShellyMainUpdate(matterbridge: Matterbridge): Promise<void>;
60
+ /**
61
+ * Triggers Shelly main updates.
62
+ *
63
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
64
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
65
+ */
66
+ export declare function triggerShellyMainUpdate(matterbridge: Matterbridge): Promise<void>;
67
+ /**
68
+ * Verifies Shelly update.
69
+ *
70
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
71
+ * @param {string} api - The api to call: /api/updates/sys/status or /api/updates/main/status
72
+ * @param {string} name - The name of the update.
73
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
74
+ */
75
+ export declare function verifyShellyUpdate(matterbridge: Matterbridge, api: string, name: string): Promise<void>;
76
+ /**
77
+ * Triggers Shelly change network configuration.
78
+ *
79
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
80
+ * @param {object} config - The network configuration.
81
+ * @param {string} config.type - The type of network configuration, either 'static' or 'dhcp'.
82
+ * @param {string} config.ip - The IP address to set (required for static configuration).
83
+ * @param {string} config.subnet - The subnet mask to set (required for static configuration).
84
+ * @param {string} config.gateway - The gateway to set (required for static configuration).
85
+ * @param {string} config.dns - The DNS server to set (required for static configuration).
86
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
87
+ */
88
+ export declare function triggerShellyChangeIp(matterbridge: Matterbridge, config: {
89
+ type: 'static' | 'dhcp';
90
+ ip: string;
91
+ subnet: string;
92
+ gateway: string;
93
+ dns: string;
94
+ }): Promise<void>;
95
+ /**
96
+ * Triggers Shelly system reboot.
97
+ *
98
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
99
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
100
+ */
101
+ export declare function triggerShellyReboot(matterbridge: Matterbridge): Promise<void>;
102
+ /**
103
+ * Triggers Shelly soft reset.
104
+ * It will replaces network config with the default one (edn0 on dhcp).
105
+ *
106
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
107
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
108
+ */
109
+ export declare function triggerShellySoftReset(matterbridge: Matterbridge): Promise<void>;
110
+ /**
111
+ * Triggers Shelly hard reset.
112
+ * It will do a hard reset and will remove both directories .matterbridge Matterbridge.
113
+ *
114
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
115
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
116
+ */
117
+ export declare function triggerShellyHardReset(matterbridge: Matterbridge): Promise<void>;
118
+ /**
119
+ * Fetches Shelly system log and write it to shelly.log.
120
+ *
121
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
122
+ * @returns {Promise<boolean>} A promise that resolves to true if the log was successfully downloaded, false otherwise.
123
+ */
124
+ export declare function createShellySystemLog(matterbridge: Matterbridge): Promise<boolean>;
125
+ /**
126
+ * Perform a GET to Shelly board apis.
127
+ *
128
+ * @param {string} api - The api to call:
129
+ *
130
+ * /api/updates/sys/check => [{name:string; ...}]
131
+ * /api/updates/sys/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
132
+ * /api/updates/sys/status => {"updatingInProgress":true} or {"updatingInProgress":false}
133
+ * /api/updates/main/check => [{name:string; ...}]
134
+ * /api/updates/main/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
135
+ * /api/updates/main/status => {"updatingInProgress":true} or {"updatingInProgress":false}
136
+ *
137
+ * /api/logs/system => text
138
+ *
139
+ * /api/reset/soft => "ok" Replaces network config with default one (edn0 on dhcp)
140
+ * /api/reset/hard => reboot on success Hard reset makes soft reset + removing both directories .matterbridge Matterbridge + reboot
141
+ *
142
+ *
143
+ * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
144
+ * @returns {Promise<any>} A promise that resolves to the response.
145
+ * @throws {Error} If the request fails.
146
+ */
147
+ export declare function getShelly(api: string, timeout?: number): Promise<any>;
148
+ /**
149
+ * Perform a POST request to Shelly board apis.
150
+ *
151
+ * @param {string} api - The api to call:
152
+ *
153
+ * Set static ip
154
+ * /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"}' => {}
155
+ *
156
+ * Set dhcp
157
+ * /api/network/connection/dynamic -d '{"interface": "end0"}' => {}
158
+ *
159
+ * Reboot
160
+ * /api/system/reboot => {"success":true}
161
+ *
162
+ * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/dynamic
163
+ * -d '{"interface": "end0"}'
164
+ *
165
+ * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/static
166
+ * -d '{"interface": "end0", "addr": "192.168.1.64", "mask": "255.255.255.0", "gw": "192.168.1.1", "dns": "192.168.1.1"}'
167
+ *
168
+ * @param {any} data - The data to send in the POST request, typically a JSON object.
169
+ * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
170
+ * @returns {Promise<any>} A promise that resolves to the response.
171
+ * @throws {Error} If the request fails.
172
+ */
173
+ export declare function postShelly(api: string, data: any, timeout?: number): Promise<any>;
174
+ //# sourceMappingURL=shelly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shelly.d.ts","sourceRoot":"","sources":["../src/shelly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAelF;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CActF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAenF;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvF;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC7G;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE;IAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpL;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAenF;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAetF;AACD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAetF;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAexF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CA+C1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,SAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAuDtF"}
package/dist/shelly.js CHANGED
@@ -1,12 +1,53 @@
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.1.0
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
+ */
1
24
  import { debugStringify } from 'node-ansi-logger';
2
25
  let verifyIntervalSecs = 15;
3
26
  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
+ */
4
33
  export function setVerifyIntervalSecs(seconds) {
5
34
  verifyIntervalSecs = seconds;
6
35
  }
36
+ /**
37
+ * Sets the timeout for verification in seconds.
38
+ *
39
+ * @param {number} seconds - The timeout in seconds.
40
+ * @returns {void}
41
+ */
7
42
  export function setVerifyTimeoutSecs(seconds) {
8
43
  verifyTimeoutSecs = seconds;
9
44
  }
45
+ /**
46
+ * Fetches Shelly system updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
47
+ *
48
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
49
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
50
+ */
10
51
  export async function getShellySysUpdate(matterbridge) {
11
52
  try {
12
53
  const updates = (await getShelly('/api/updates/sys/check'));
@@ -25,19 +66,33 @@ export async function getShellySysUpdate(matterbridge) {
25
66
  matterbridge.log.error(`Error getting Shelly system updates: ${err instanceof Error ? err.message : String(err)}`);
26
67
  }
27
68
  }
69
+ /**
70
+ * Triggers Shelly system updates.
71
+ *
72
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
73
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
74
+ */
28
75
  export async function triggerShellySysUpdate(matterbridge) {
29
76
  try {
77
+ // Trigger the update request
30
78
  await getShelly('/api/updates/sys/perform');
31
79
  matterbridge.log.notice('Installing Shelly system update...');
32
80
  matterbridge.shellySysUpdate = false;
33
81
  matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly system update...', 15);
34
82
  matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_sys_update', success: true, response: { available: false } });
83
+ // Begin polling update status
35
84
  await verifyShellyUpdate(matterbridge, '/api/updates/sys/status', 'Shelly system update');
36
85
  }
37
86
  catch (err) {
38
87
  matterbridge.log.error(`Error triggering Shelly system update: ${err instanceof Error ? err.message : String(err)}`);
39
88
  }
40
89
  }
90
+ /**
91
+ * Fetches Shelly main updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
92
+ *
93
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
94
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
95
+ */
41
96
  export async function getShellyMainUpdate(matterbridge) {
42
97
  try {
43
98
  const updates = (await getShelly('/api/updates/main/check'));
@@ -56,19 +111,35 @@ export async function getShellyMainUpdate(matterbridge) {
56
111
  matterbridge.log.error(`Error getting Shelly main updates: ${err instanceof Error ? err.message : String(err)}`);
57
112
  }
58
113
  }
114
+ /**
115
+ * Triggers Shelly main updates.
116
+ *
117
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
118
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
119
+ */
59
120
  export async function triggerShellyMainUpdate(matterbridge) {
60
121
  try {
122
+ // Trigger the perform-update request
61
123
  await getShelly('/api/updates/main/perform');
62
124
  matterbridge.log.notice('Installing Shelly software update...');
63
125
  matterbridge.shellyMainUpdate = false;
64
126
  matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly software update...', 15);
65
127
  matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_main_update', success: true, response: { available: false } });
128
+ // Begin polling the update status
66
129
  await verifyShellyUpdate(matterbridge, '/api/updates/main/status', 'Shelly software update');
67
130
  }
68
131
  catch (err) {
69
132
  matterbridge.log.error(`Error triggering Shelly main update: ${err instanceof Error ? err.message : String(err)}`);
70
133
  }
71
134
  }
135
+ /**
136
+ * Verifies Shelly update.
137
+ *
138
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
139
+ * @param {string} api - The api to call: /api/updates/sys/status or /api/updates/main/status
140
+ * @param {string} name - The name of the update.
141
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
142
+ */
72
143
  export async function verifyShellyUpdate(matterbridge, api, name) {
73
144
  return new Promise((resolve) => {
74
145
  const timeout = setTimeout(() => {
@@ -76,9 +147,9 @@ export async function verifyShellyUpdate(matterbridge, api, name) {
76
147
  matterbridge.frontend.wssSendCloseSnackbarMessage(`${name} in progress...`);
77
148
  clearInterval(interval);
78
149
  resolve();
79
- }, verifyTimeoutSecs * 1000);
150
+ }, verifyTimeoutSecs * 1000); // 10 minutes
80
151
  const interval = setInterval(() => {
81
- getShelly(api, 10 * 1000)
152
+ getShelly(api, 10 * 1000) // 10 seconds
82
153
  .then(async (data) => {
83
154
  if (data.updatingInProgress) {
84
155
  matterbridge.log.debug(`${name} in progress...`);
@@ -101,9 +172,21 @@ export async function verifyShellyUpdate(matterbridge, api, name) {
101
172
  clearTimeout(timeout);
102
173
  resolve();
103
174
  });
104
- }, verifyIntervalSecs * 1000);
175
+ }, verifyIntervalSecs * 1000); // 15 seconds
105
176
  });
106
177
  }
178
+ /**
179
+ * Triggers Shelly change network configuration.
180
+ *
181
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
182
+ * @param {object} config - The network configuration.
183
+ * @param {string} config.type - The type of network configuration, either 'static' or 'dhcp'.
184
+ * @param {string} config.ip - The IP address to set (required for static configuration).
185
+ * @param {string} config.subnet - The subnet mask to set (required for static configuration).
186
+ * @param {string} config.gateway - The gateway to set (required for static configuration).
187
+ * @param {string} config.dns - The DNS server to set (required for static configuration).
188
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
189
+ */
107
190
  export async function triggerShellyChangeIp(matterbridge, config) {
108
191
  const api = config.type === 'static' ? '/api/network/connection/static' : '/api/network/connection/dynamic';
109
192
  const data = { interface: 'end0' };
@@ -126,6 +209,12 @@ export async function triggerShellyChangeIp(matterbridge, config) {
126
209
  matterbridge.frontend.wssSendSnackbarMessage('Error changing Shelly network configuration', 10, 'error');
127
210
  }
128
211
  }
212
+ /**
213
+ * Triggers Shelly system reboot.
214
+ *
215
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
216
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
217
+ */
129
218
  export async function triggerShellyReboot(matterbridge) {
130
219
  matterbridge.log.debug(`Triggering Shelly system reboot`);
131
220
  try {
@@ -143,6 +232,13 @@ export async function triggerShellyReboot(matterbridge) {
143
232
  matterbridge.frontend.wssSendSnackbarMessage('Error rebooting Shelly board', 10, 'error');
144
233
  }
145
234
  }
235
+ /**
236
+ * Triggers Shelly soft reset.
237
+ * It will replaces network config with the default one (edn0 on dhcp).
238
+ *
239
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
240
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
241
+ */
146
242
  export async function triggerShellySoftReset(matterbridge) {
147
243
  matterbridge.log.debug(`Triggering Shelly soft reset`);
148
244
  try {
@@ -160,6 +256,13 @@ export async function triggerShellySoftReset(matterbridge) {
160
256
  matterbridge.frontend.wssSendSnackbarMessage('Error resetting the network parameters on Shelly board', 10, 'error');
161
257
  }
162
258
  }
259
+ /**
260
+ * Triggers Shelly hard reset.
261
+ * It will do a hard reset and will remove both directories .matterbridge Matterbridge.
262
+ *
263
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
264
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
265
+ */
163
266
  export async function triggerShellyHardReset(matterbridge) {
164
267
  matterbridge.log.debug(`Triggering Shelly hard reset`);
165
268
  try {
@@ -177,6 +280,12 @@ export async function triggerShellyHardReset(matterbridge) {
177
280
  matterbridge.frontend.wssSendSnackbarMessage('Error while factory resetting the Shelly board', 10, 'error');
178
281
  }
179
282
  }
283
+ /**
284
+ * Fetches Shelly system log and write it to shelly.log.
285
+ *
286
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
287
+ * @returns {Promise<boolean>} A promise that resolves to true if the log was successfully downloaded, false otherwise.
288
+ */
180
289
  export async function createShellySystemLog(matterbridge) {
181
290
  const { promises: fs } = await import('node:fs');
182
291
  const path = await import('node:path');
@@ -193,6 +302,28 @@ export async function createShellySystemLog(matterbridge) {
193
302
  return false;
194
303
  }
195
304
  }
305
+ /**
306
+ * Perform a GET to Shelly board apis.
307
+ *
308
+ * @param {string} api - The api to call:
309
+ *
310
+ * /api/updates/sys/check => [{name:string; ...}]
311
+ * /api/updates/sys/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
312
+ * /api/updates/sys/status => {"updatingInProgress":true} or {"updatingInProgress":false}
313
+ * /api/updates/main/check => [{name:string; ...}]
314
+ * /api/updates/main/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
315
+ * /api/updates/main/status => {"updatingInProgress":true} or {"updatingInProgress":false}
316
+ *
317
+ * /api/logs/system => text
318
+ *
319
+ * /api/reset/soft => "ok" Replaces network config with default one (edn0 on dhcp)
320
+ * /api/reset/hard => reboot on success Hard reset makes soft reset + removing both directories .matterbridge Matterbridge + reboot
321
+ *
322
+ *
323
+ * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
324
+ * @returns {Promise<any>} A promise that resolves to the response.
325
+ * @throws {Error} If the request fails.
326
+ */
196
327
  export async function getShelly(api, timeout = 60000) {
197
328
  const http = await import('node:http');
198
329
  return new Promise((resolve, reject) => {
@@ -206,12 +337,13 @@ export async function getShelly(api, timeout = 60000) {
206
337
  let data = '';
207
338
  if (res.statusCode !== 200) {
208
339
  clearTimeout(timeoutId);
209
- res.resume();
210
- req.destroy();
340
+ res.resume(); // Discard response data to close the socket properly
341
+ req.destroy(); // Forcefully close the request
211
342
  reject(new Error(`Failed to fetch data. Status code: ${res.statusCode}`));
212
343
  return;
213
344
  }
214
345
  res.on('data', (chunk) => {
346
+ // console.log(chunk);
215
347
  data += chunk;
216
348
  });
217
349
  res.on('end', () => {
@@ -226,6 +358,7 @@ export async function getShelly(api, timeout = 60000) {
226
358
  }
227
359
  }
228
360
  else {
361
+ // console.log(data);
229
362
  resolve(data);
230
363
  }
231
364
  });
@@ -236,6 +369,31 @@ export async function getShelly(api, timeout = 60000) {
236
369
  });
237
370
  });
238
371
  }
372
+ /**
373
+ * Perform a POST request to Shelly board apis.
374
+ *
375
+ * @param {string} api - The api to call:
376
+ *
377
+ * Set static ip
378
+ * /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"}' => {}
379
+ *
380
+ * Set dhcp
381
+ * /api/network/connection/dynamic -d '{"interface": "end0"}' => {}
382
+ *
383
+ * Reboot
384
+ * /api/system/reboot => {"success":true}
385
+ *
386
+ * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/dynamic
387
+ * -d '{"interface": "end0"}'
388
+ *
389
+ * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/static
390
+ * -d '{"interface": "end0", "addr": "192.168.1.64", "mask": "255.255.255.0", "gw": "192.168.1.1", "dns": "192.168.1.1"}'
391
+ *
392
+ * @param {any} data - The data to send in the POST request, typically a JSON object.
393
+ * @param {number} [timeout] - The timeout duration in milliseconds (default is 60000ms).
394
+ * @returns {Promise<any>} A promise that resolves to the response.
395
+ * @throws {Error} If the request fails.
396
+ */
239
397
  export async function postShelly(api, data, timeout = 60000) {
240
398
  const http = await import('node:http');
241
399
  return new Promise((resolve, reject) => {
@@ -256,10 +414,11 @@ export async function postShelly(api, data, timeout = 60000) {
256
414
  };
257
415
  const req = http.request(url, options, (res) => {
258
416
  let responseData = '';
417
+ // Check for non-success status codes (e.g., 300+)
259
418
  if (res.statusCode && res.statusCode >= 300) {
260
419
  clearTimeout(timeoutId);
261
- res.resume();
262
- req.destroy();
420
+ res.resume(); // Discard response data to free up memory
421
+ req.destroy(); // Close the request
263
422
  return reject(new Error(`Failed to post data. Status code: ${res.statusCode}`));
264
423
  }
265
424
  res.on('data', (chunk) => {
@@ -280,7 +439,9 @@ export async function postShelly(api, data, timeout = 60000) {
280
439
  clearTimeout(timeoutId);
281
440
  reject(new Error(`Request failed: ${error instanceof Error ? error.message : error}`));
282
441
  });
442
+ // Send the JSON data
283
443
  req.write(jsonData);
284
444
  req.end();
285
445
  });
286
446
  }
447
+ //# sourceMappingURL=shelly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shelly.js","sourceRoot":"","sources":["../src/shelly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from 'node-persist-manager';
2
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/storage/export.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -1 +1,2 @@
1
1
  export * from 'node-persist-manager';
2
+ //# sourceMappingURL=export.js.map