matterbridge 2.2.4-dev.3 → 2.2.4

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 (152) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/cli.d.ts +29 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +37 -2
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cluster/export.d.ts +2 -0
  7. package/dist/cluster/export.d.ts.map +1 -0
  8. package/dist/cluster/export.js +2 -0
  9. package/dist/cluster/export.js.map +1 -0
  10. package/dist/defaultConfigSchema.d.ts +27 -0
  11. package/dist/defaultConfigSchema.d.ts.map +1 -0
  12. package/dist/defaultConfigSchema.js +23 -0
  13. package/dist/defaultConfigSchema.js.map +1 -0
  14. package/dist/deviceManager.d.ts +114 -0
  15. package/dist/deviceManager.d.ts.map +1 -0
  16. package/dist/deviceManager.js +94 -1
  17. package/dist/deviceManager.js.map +1 -0
  18. package/dist/frontend.d.ts +221 -0
  19. package/dist/frontend.d.ts.map +1 -0
  20. package/dist/frontend.js +330 -26
  21. package/dist/frontend.js.map +1 -0
  22. package/dist/index.d.ts +35 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +28 -1
  25. package/dist/index.js.map +1 -0
  26. package/dist/logger/export.d.ts +2 -0
  27. package/dist/logger/export.d.ts.map +1 -0
  28. package/dist/logger/export.js +1 -0
  29. package/dist/logger/export.js.map +1 -0
  30. package/dist/matter/behaviors.d.ts +2 -0
  31. package/dist/matter/behaviors.d.ts.map +1 -0
  32. package/dist/matter/behaviors.js +2 -0
  33. package/dist/matter/behaviors.js.map +1 -0
  34. package/dist/matter/clusters.d.ts +2 -0
  35. package/dist/matter/clusters.d.ts.map +1 -0
  36. package/dist/matter/clusters.js +2 -0
  37. package/dist/matter/clusters.js.map +1 -0
  38. package/dist/matter/devices.d.ts +2 -0
  39. package/dist/matter/devices.d.ts.map +1 -0
  40. package/dist/matter/devices.js +2 -0
  41. package/dist/matter/devices.js.map +1 -0
  42. package/dist/matter/endpoints.d.ts +2 -0
  43. package/dist/matter/endpoints.d.ts.map +1 -0
  44. package/dist/matter/endpoints.js +2 -0
  45. package/dist/matter/endpoints.js.map +1 -0
  46. package/dist/matter/export.d.ts +5 -0
  47. package/dist/matter/export.d.ts.map +1 -0
  48. package/dist/matter/export.js +2 -0
  49. package/dist/matter/export.js.map +1 -0
  50. package/dist/matter/types.d.ts +3 -0
  51. package/dist/matter/types.d.ts.map +1 -0
  52. package/dist/matter/types.js +2 -0
  53. package/dist/matter/types.js.map +1 -0
  54. package/dist/matterbridge.d.ts +422 -0
  55. package/dist/matterbridge.d.ts.map +1 -0
  56. package/dist/matterbridge.js +743 -46
  57. package/dist/matterbridge.js.map +1 -0
  58. package/dist/matterbridgeAccessoryPlatform.d.ts +39 -0
  59. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  60. package/dist/matterbridgeAccessoryPlatform.js +33 -0
  61. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  62. package/dist/matterbridgeBehaviors.d.ts +1056 -0
  63. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  64. package/dist/matterbridgeBehaviors.js +32 -1
  65. package/dist/matterbridgeBehaviors.js.map +1 -0
  66. package/dist/matterbridgeDeviceTypes.d.ts +177 -0
  67. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  68. package/dist/matterbridgeDeviceTypes.js +112 -11
  69. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  70. package/dist/matterbridgeDynamicPlatform.d.ts +39 -0
  71. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  72. package/dist/matterbridgeDynamicPlatform.js +33 -0
  73. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  74. package/dist/matterbridgeEndpoint.d.ts +835 -0
  75. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  76. package/dist/matterbridgeEndpoint.js +690 -6
  77. package/dist/matterbridgeEndpoint.js.map +1 -0
  78. package/dist/matterbridgeEndpointHelpers.d.ts +2275 -0
  79. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  80. package/dist/matterbridgeEndpointHelpers.js +118 -9
  81. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  82. package/dist/matterbridgePlatform.d.ts +251 -0
  83. package/dist/matterbridgePlatform.d.ts.map +1 -0
  84. package/dist/matterbridgePlatform.js +185 -7
  85. package/dist/matterbridgePlatform.js.map +1 -0
  86. package/dist/matterbridgeTypes.d.ts +178 -0
  87. package/dist/matterbridgeTypes.d.ts.map +1 -0
  88. package/dist/matterbridgeTypes.js +24 -0
  89. package/dist/matterbridgeTypes.js.map +1 -0
  90. package/dist/pluginManager.d.ts +236 -0
  91. package/dist/pluginManager.d.ts.map +1 -0
  92. package/dist/pluginManager.js +229 -3
  93. package/dist/pluginManager.js.map +1 -0
  94. package/dist/shelly.d.ts +77 -0
  95. package/dist/shelly.d.ts.map +1 -0
  96. package/dist/shelly.js +121 -6
  97. package/dist/shelly.js.map +1 -0
  98. package/dist/storage/export.d.ts +2 -0
  99. package/dist/storage/export.d.ts.map +1 -0
  100. package/dist/storage/export.js +1 -0
  101. package/dist/storage/export.js.map +1 -0
  102. package/dist/update.d.ts +32 -0
  103. package/dist/update.d.ts.map +1 -0
  104. package/dist/update.js +45 -0
  105. package/dist/update.js.map +1 -0
  106. package/dist/utils/colorUtils.d.ts +61 -0
  107. package/dist/utils/colorUtils.d.ts.map +1 -0
  108. package/dist/utils/colorUtils.js +205 -2
  109. package/dist/utils/colorUtils.js.map +1 -0
  110. package/dist/utils/copyDirectory.d.ts +32 -0
  111. package/dist/utils/copyDirectory.d.ts.map +1 -0
  112. package/dist/utils/copyDirectory.js +37 -1
  113. package/dist/utils/copyDirectory.js.map +1 -0
  114. package/dist/utils/createZip.d.ts +38 -0
  115. package/dist/utils/createZip.d.ts.map +1 -0
  116. package/dist/utils/createZip.js +42 -2
  117. package/dist/utils/createZip.js.map +1 -0
  118. package/dist/utils/deepCopy.d.ts +31 -0
  119. package/dist/utils/deepCopy.d.ts.map +1 -0
  120. package/dist/utils/deepCopy.js +40 -0
  121. package/dist/utils/deepCopy.js.map +1 -0
  122. package/dist/utils/deepEqual.d.ts +53 -0
  123. package/dist/utils/deepEqual.d.ts.map +1 -0
  124. package/dist/utils/deepEqual.js +65 -1
  125. package/dist/utils/deepEqual.js.map +1 -0
  126. package/dist/utils/export.d.ts +10 -0
  127. package/dist/utils/export.d.ts.map +1 -0
  128. package/dist/utils/export.js +1 -0
  129. package/dist/utils/export.js.map +1 -0
  130. package/dist/utils/isvalid.d.ts +87 -0
  131. package/dist/utils/isvalid.d.ts.map +1 -0
  132. package/dist/utils/isvalid.js +86 -0
  133. package/dist/utils/isvalid.js.map +1 -0
  134. package/dist/utils/network.d.ts +70 -0
  135. package/dist/utils/network.d.ts.map +1 -0
  136. package/dist/utils/network.js +77 -5
  137. package/dist/utils/network.js.map +1 -0
  138. package/dist/utils/parameter.d.ts +44 -0
  139. package/dist/utils/parameter.d.ts.map +1 -0
  140. package/dist/utils/parameter.js +41 -0
  141. package/dist/utils/parameter.js.map +1 -0
  142. package/dist/utils/wait.d.ts +43 -0
  143. package/dist/utils/wait.d.ts.map +1 -0
  144. package/dist/utils/wait.js +48 -5
  145. package/dist/utils/wait.js.map +1 -0
  146. package/frontend/build/asset-manifest.json +3 -3
  147. package/frontend/build/index.html +1 -1
  148. package/frontend/build/static/js/{main.050c174f.js → main.4a12038d.js} +4 -4
  149. package/frontend/build/static/js/{main.050c174f.js.map → main.4a12038d.js.map} +1 -1
  150. package/npm-shrinkwrap.json +2 -2
  151. package/package.json +2 -1
  152. /package/frontend/build/static/js/{main.050c174f.js.LICENSE.txt → main.4a12038d.js.LICENSE.txt} +0 -0
package/dist/shelly.js CHANGED
@@ -1,5 +1,33 @@
1
+ /**
2
+ * This file contains the shelly api functions.
3
+ *
4
+ * @file shelly.ts
5
+ * @author Luca Liguori
6
+ * @date 2025-02-19
7
+ * @version 1.0.3
8
+ *
9
+ * Copyright 2025, 2026, 2027 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
1
23
  import { WS_ID_SHELLY_MAIN_UPDATE, WS_ID_SHELLY_SYS_UPDATE } from './frontend.js';
2
24
  import { debugStringify } from './logger/export.js';
25
+ /**
26
+ * Fetches Shelly system updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
27
+ *
28
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
29
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
30
+ */
3
31
  export async function getShellySysUpdate(matterbridge) {
4
32
  getShelly('/api/updates/sys/check', 60 * 1000)
5
33
  .then(async (data) => {
@@ -18,6 +46,12 @@ export async function getShellySysUpdate(matterbridge) {
18
46
  matterbridge.log.warn(`Error getting Shelly system updates: ${error instanceof Error ? error.message : error}`);
19
47
  });
20
48
  }
49
+ /**
50
+ * Triggers Shelly system updates.
51
+ *
52
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
53
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
54
+ */
21
55
  export async function triggerShellySysUpdate(matterbridge) {
22
56
  getShelly('/api/updates/sys/perform', 10 * 1000)
23
57
  .then(async () => {
@@ -34,6 +68,12 @@ export async function triggerShellySysUpdate(matterbridge) {
34
68
  verifyShellyUpdate(matterbridge, '/api/updates/sys/status', 'Shelly system update');
35
69
  });
36
70
  }
71
+ /**
72
+ * Fetches Shelly main updates. If available: logs the result, sends a snackbar message, and broadcasts the message.
73
+ *
74
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
75
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
76
+ */
37
77
  export async function getShellyMainUpdate(matterbridge) {
38
78
  getShelly('/api/updates/main/check', 60 * 1000)
39
79
  .then(async (data) => {
@@ -52,9 +92,15 @@ export async function getShellyMainUpdate(matterbridge) {
52
92
  matterbridge.log.warn(`Error getting Shelly main updates: ${error instanceof Error ? error.message : error}`);
53
93
  });
54
94
  }
95
+ /**
96
+ * Triggers Shelly main updates.
97
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
98
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
99
+ */
55
100
  export async function triggerShellyMainUpdate(matterbridge) {
56
101
  getShelly('/api/updates/main/perform', 10 * 1000)
57
102
  .then(async () => {
103
+ // {"updatingInProgress":true} or {"updatingInProgress":false}
58
104
  matterbridge.log.debug(`Triggered Shelly main updates`);
59
105
  })
60
106
  .catch((error) => {
@@ -68,13 +114,20 @@ export async function triggerShellyMainUpdate(matterbridge) {
68
114
  verifyShellyUpdate(matterbridge, '/api/updates/main/status', 'Shelly software update');
69
115
  });
70
116
  }
117
+ /**
118
+ * Verifies Shelly update.
119
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
120
+ * @param {string} api - The api to call: /api/updates/sys/status or /api/updates/main/status
121
+ * @param {string} name - The name of the update.
122
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
123
+ */
71
124
  async function verifyShellyUpdate(matterbridge, api, name) {
72
125
  return new Promise((resolve) => {
73
126
  const timeout = setTimeout(() => {
74
127
  matterbridge.log.warn(`${name} check timed out`);
75
128
  clearInterval(interval);
76
129
  resolve();
77
- }, 600 * 1000);
130
+ }, 600 * 1000); // 10 minutes
78
131
  const interval = setInterval(() => {
79
132
  getShelly(api, 10 * 1000)
80
133
  .then(async (data) => {
@@ -96,9 +149,15 @@ async function verifyShellyUpdate(matterbridge, api, name) {
96
149
  clearTimeout(timeout);
97
150
  resolve();
98
151
  });
99
- }, 15 * 1000);
152
+ }, 15 * 1000); // 15 seconds
100
153
  });
101
154
  }
155
+ /**
156
+ * Triggers Shelly change network configuration.
157
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
158
+ * @param {object} config - The network configuration.
159
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
160
+ */
102
161
  export async function triggerShellyChangeIp(matterbridge, config) {
103
162
  const api = config.type === 'static' ? '/api/network/connection/static' : '/api/network/connection/dynamic';
104
163
  const data = { interface: 'end0' };
@@ -121,6 +180,11 @@ export async function triggerShellyChangeIp(matterbridge, config) {
121
180
  matterbridge.frontend.wssSendSnackbarMessage('Changed Shelly network configuration');
122
181
  });
123
182
  }
183
+ /**
184
+ * Triggers Shelly system reboot.
185
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
186
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
187
+ */
124
188
  export async function triggerShellyReboot(matterbridge) {
125
189
  matterbridge.log.debug(`Triggering Shelly system reboot`);
126
190
  postShelly('/api/system/reboot', {}, 60 * 1000)
@@ -135,6 +199,12 @@ export async function triggerShellyReboot(matterbridge) {
135
199
  matterbridge.frontend.wssSendSnackbarMessage('Rebooting Shelly board...');
136
200
  });
137
201
  }
202
+ /**
203
+ * Fetches Shelly system log and write it to shelly.log.
204
+ *
205
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
206
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
207
+ */
138
208
  export async function createShellySystemLog(matterbridge) {
139
209
  const { promises: fs } = await import('node:fs');
140
210
  const path = await import('node:path');
@@ -154,6 +224,23 @@ export async function createShellySystemLog(matterbridge) {
154
224
  matterbridge.log.warn(`Error getting Shelly system log: ${error instanceof Error ? error.message : error}`);
155
225
  });
156
226
  }
227
+ /**
228
+ * Perform a GET to Shelly board apis.
229
+ * @param {string} api - The api to call:
230
+ *
231
+ * /api/updates/sys/check => [{name:string; ...}]
232
+ * /api/updates/sys/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
233
+ * /api/updates/sys/status => {"updatingInProgress":true} or {"updatingInProgress":false}
234
+ * /api/updates/main/check => [{name:string; ...}]
235
+ * /api/updates/main/perform => {"updatingInProgress":true} or {"updatingInProgress":false}
236
+ * /api/updates/main/status => {"updatingInProgress":true} or {"updatingInProgress":false}
237
+ *
238
+ * /api/logs/system => text
239
+ *
240
+ * @param {number} [timeout=5000] - The timeout duration in milliseconds (default is 60000ms).
241
+ * @returns {Promise<any>} A promise that resolves to the response.
242
+ * @throws {Error} If the request fails.
243
+ */
157
244
  async function getShelly(api, timeout = 60000) {
158
245
  const http = await import('node:http');
159
246
  return new Promise((resolve, reject) => {
@@ -167,12 +254,13 @@ async function getShelly(api, timeout = 60000) {
167
254
  let data = '';
168
255
  if (res.statusCode !== 200) {
169
256
  clearTimeout(timeoutId);
170
- res.resume();
171
- req.destroy();
257
+ res.resume(); // Discard response data to close the socket properly
258
+ req.destroy(); // Forcefully close the request
172
259
  reject(new Error(`Failed to fetch data. Status code: ${res.statusCode}`));
173
260
  return;
174
261
  }
175
262
  res.on('data', (chunk) => {
263
+ // console.log(chunk);
176
264
  data += chunk;
177
265
  });
178
266
  res.on('end', () => {
@@ -187,6 +275,7 @@ async function getShelly(api, timeout = 60000) {
187
275
  }
188
276
  }
189
277
  else {
278
+ // console.log(data);
190
279
  resolve(data);
191
280
  }
192
281
  });
@@ -197,6 +286,29 @@ async function getShelly(api, timeout = 60000) {
197
286
  });
198
287
  });
199
288
  }
289
+ /**
290
+ * Perform a POST request to Shelly board apis.
291
+ * @param {string} api - The api to call:
292
+ *
293
+ * Set static ip
294
+ * /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"}' => {}
295
+ *
296
+ * Set dhcp
297
+ * /api/network/connection/dynamic -d '{"interface": "end0"}' => {}
298
+ *
299
+ * Reboot
300
+ * /api/system/reboot => {"success":true}
301
+ *
302
+ * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/dynamic
303
+ * -d '{"interface": "end0"}'
304
+ *
305
+ * curl -H "Content-Type: application/json" -X POST http://127.0.0.1:8101/api/network/connection/static
306
+ * -d '{"interface": "end0", "addr": "192.168.1.64", "mask": "255.255.255.0", "gw": "192.168.1.1", "dns": "192.168.1.1"}'
307
+ *
308
+ * @param {number} [timeout=5000] - The timeout duration in milliseconds (default is 60000ms).
309
+ * @returns {Promise<any>} A promise that resolves to the response.
310
+ * @throws {Error} If the request fails.
311
+ */
200
312
  async function postShelly(api, data, timeout = 60000) {
201
313
  const http = await import('node:http');
202
314
  return new Promise((resolve, reject) => {
@@ -217,10 +329,11 @@ async function postShelly(api, data, timeout = 60000) {
217
329
  };
218
330
  const req = http.request(url, options, (res) => {
219
331
  let responseData = '';
332
+ // Check for non-success status codes (e.g., 300+)
220
333
  if (res.statusCode && res.statusCode >= 300) {
221
334
  clearTimeout(timeoutId);
222
- res.resume();
223
- req.destroy();
335
+ res.resume(); // Discard response data to free up memory
336
+ req.destroy(); // Close the request
224
337
  return reject(new Error(`Failed to post data. Status code: ${res.statusCode}`));
225
338
  }
226
339
  res.on('data', (chunk) => {
@@ -241,7 +354,9 @@ async function postShelly(api, data, timeout = 60000) {
241
354
  clearTimeout(timeoutId);
242
355
  reject(new Error(`Request failed: ${error instanceof Error ? error.message : error}`));
243
356
  });
357
+ // Send the JSON data
244
358
  req.write(jsonData);
245
359
  req.end();
246
360
  });
247
361
  }
362
+ //# 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/storage/export.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * This file contains the check updates functions.
3
+ *
4
+ * @file update.ts
5
+ * @author Luca Liguori
6
+ * @date 2025-02-24
7
+ * @version 1.0.0
8
+ *
9
+ * Copyright 2025, 2026, 2027 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
23
+ import { Matterbridge } from './matterbridge.js';
24
+ /**
25
+ * Checks for updates for Matterbridge and its plugins.
26
+ * If the 'shelly' parameter is present, also checks for Shelly updates.
27
+ *
28
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
29
+ * @returns {Promise<void>} A promise that resolves when the update checks are complete.
30
+ */
31
+ export declare function checkUpdates(matterbridge: Matterbridge): Promise<void>;
32
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5E"}
package/dist/update.js CHANGED
@@ -1,5 +1,34 @@
1
+ /**
2
+ * This file contains the check updates functions.
3
+ *
4
+ * @file update.ts
5
+ * @author Luca Liguori
6
+ * @date 2025-02-24
7
+ * @version 1.0.0
8
+ *
9
+ * Copyright 2025, 2026, 2027 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
1
23
  import { plg } from './matterbridgeTypes.js';
2
24
  import { db, er, nt } from './logger/export.js';
25
+ /**
26
+ * Checks for updates for Matterbridge and its plugins.
27
+ * If the 'shelly' parameter is present, also checks for Shelly updates.
28
+ *
29
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
30
+ * @returns {Promise<void>} A promise that resolves when the update checks are complete.
31
+ */
3
32
  export async function checkUpdates(matterbridge) {
4
33
  const { hasParameter } = await import('./utils/parameter.js');
5
34
  getMatterbridgeLatestVersion(matterbridge);
@@ -12,6 +41,13 @@ export async function checkUpdates(matterbridge) {
12
41
  getShellyMainUpdate(matterbridge);
13
42
  }
14
43
  }
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 {Matterbridge} matterbridge - The Matterbridge instance.
49
+ * @returns {Promise<void>} A promise that resolves when the latest version is retrieved.
50
+ */
15
51
  async function getMatterbridgeLatestVersion(matterbridge) {
16
52
  const { getNpmPackageVersion } = await import('./utils/network.js');
17
53
  getNpmPackageVersion('matterbridge')
@@ -32,6 +68,14 @@ async function getMatterbridgeLatestVersion(matterbridge) {
32
68
  matterbridge.log.warn(`Error getting Matterbridge latest version: ${error.message}`);
33
69
  });
34
70
  }
71
+ /**
72
+ * Retrieves the latest version of a plugin and updates the plugin's latestVersion property.
73
+ * If there is an error retrieving the latest version, logs an error message.
74
+ *
75
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
76
+ * @param {RegisteredPlugin} plugin - The plugin for which to retrieve the latest version.
77
+ * @returns {Promise<void>} A promise that resolves when the latest version is retrieved.
78
+ */
35
79
  async function getPluginLatestVersion(matterbridge, plugin) {
36
80
  const { getNpmPackageVersion } = await import('./utils/network.js');
37
81
  getNpmPackageVersion(plugin.name)
@@ -49,3 +93,4 @@ async function getPluginLatestVersion(matterbridge, plugin) {
49
93
  matterbridge.log.warn(`Error getting ${plg}${plugin.name}${er} latest version: ${error.message}`);
50
94
  });
51
95
  }
96
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * This file contains the color utilities.
3
+ *
4
+ * @file colorUtils.ts
5
+ * @author Luca Liguori
6
+ * @date 2023-10-05
7
+ * @version 1.3.0
8
+ *
9
+ * Copyright 2023, 2024, 2025 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
23
+ export interface RGB {
24
+ r: number;
25
+ g: number;
26
+ b: number;
27
+ }
28
+ export interface XY {
29
+ x: number;
30
+ y: number;
31
+ }
32
+ export interface HSL {
33
+ h: number;
34
+ s: number;
35
+ l: number;
36
+ }
37
+ export declare function hslColorToRgbColor(hue: number, saturation: number, luminance: number): RGB;
38
+ export declare function rgbColorToXYColor(rgb: RGB): XY;
39
+ export declare function xyColorToRgbColor(x: number, y: number, brightness?: number): RGB;
40
+ export declare function rgbColorToHslColor(rgb: RGB): HSL;
41
+ export declare function xyToHsl(x: number, y: number): HSL;
42
+ export declare function miredToKelvin(mired: number): number;
43
+ export declare function kelvinToMired(kelvin: number): number;
44
+ export declare function kelvinToRGB(kelvin: number): RGB;
45
+ /**
46
+ * Converts CIE color space to RGB color space
47
+ * @param {Number} x
48
+ * @param {Number} y
49
+ * @param {Number} brightness - Ranges from 1 to 254
50
+ * @return {Array} Array that contains the color values for red, green and blue
51
+ * From: https://github.com/usolved/cie-rgb-converter/blob/master/cie_rgb_converter.js
52
+ */
53
+ /**
54
+ * Converts RGB color space to CIE color space
55
+ * @param {Number} red
56
+ * @param {Number} green
57
+ * @param {Number} blue
58
+ * @return {Array} Array that contains the CIE color values for x and y
59
+ * From: https://github.com/usolved/cie-rgb-converter/blob/master/cie_rgb_converter.js
60
+ */
61
+ //# sourceMappingURL=colorUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorUtils.d.ts","sourceRoot":"","sources":["../../src/utils/colorUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,EAAE;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CA+C1F;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CA6B9C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,SAAM,GAAG,GAAG,CAgD7E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAmChD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAGjD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAsC/C;AAwDD;;;;;;;GAOG;AAsDH;;;;;;;GAOG"}