matterbridge 3.4.3-dev-20251209-e6cb85f → 3.4.3
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.
- package/README.md +2 -3
- package/dist/broadcastServer.d.ts +144 -0
- package/dist/broadcastServer.d.ts.map +1 -0
- package/dist/broadcastServer.js +119 -0
- package/dist/broadcastServer.js.map +1 -0
- package/dist/broadcastServerTypes.d.ts +841 -0
- package/dist/broadcastServerTypes.d.ts.map +1 -0
- package/dist/broadcastServerTypes.js +24 -0
- package/dist/broadcastServerTypes.js.map +1 -0
- package/dist/cli.d.ts +30 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +97 -1
- package/dist/cli.js.map +1 -0
- package/dist/cliEmitter.d.ts +50 -0
- package/dist/cliEmitter.d.ts.map +1 -0
- package/dist/cliEmitter.js +37 -0
- package/dist/cliEmitter.js.map +1 -0
- package/dist/cliHistory.d.ts +48 -0
- package/dist/cliHistory.d.ts.map +1 -0
- package/dist/cliHistory.js +38 -0
- package/dist/cliHistory.js.map +1 -0
- package/dist/clusters/export.d.ts +2 -0
- package/dist/clusters/export.d.ts.map +1 -0
- package/dist/clusters/export.js +2 -0
- package/dist/clusters/export.js.map +1 -0
- package/dist/deviceManager.d.ts +135 -0
- package/dist/deviceManager.d.ts.map +1 -0
- package/dist/deviceManager.js +113 -1
- package/dist/deviceManager.js.map +1 -0
- package/dist/devices/airConditioner.d.ts +98 -0
- package/dist/devices/airConditioner.d.ts.map +1 -0
- package/dist/devices/airConditioner.js +57 -0
- package/dist/devices/airConditioner.js.map +1 -0
- package/dist/devices/batteryStorage.d.ts +48 -0
- package/dist/devices/batteryStorage.d.ts.map +1 -0
- package/dist/devices/batteryStorage.js +48 -1
- package/dist/devices/batteryStorage.js.map +1 -0
- package/dist/devices/cooktop.d.ts +61 -0
- package/dist/devices/cooktop.d.ts.map +1 -0
- package/dist/devices/cooktop.js +56 -0
- package/dist/devices/cooktop.js.map +1 -0
- package/dist/devices/dishwasher.d.ts +71 -0
- package/dist/devices/dishwasher.d.ts.map +1 -0
- package/dist/devices/dishwasher.js +57 -0
- package/dist/devices/dishwasher.js.map +1 -0
- package/dist/devices/evse.d.ts +76 -0
- package/dist/devices/evse.d.ts.map +1 -0
- package/dist/devices/evse.js +74 -10
- package/dist/devices/evse.js.map +1 -0
- package/dist/devices/export.d.ts +17 -0
- package/dist/devices/export.d.ts.map +1 -0
- package/dist/devices/export.js +5 -0
- package/dist/devices/export.js.map +1 -0
- package/dist/devices/extractorHood.d.ts +46 -0
- package/dist/devices/extractorHood.d.ts.map +1 -0
- package/dist/devices/extractorHood.js +43 -0
- package/dist/devices/extractorHood.js.map +1 -0
- package/dist/devices/heatPump.d.ts +47 -0
- package/dist/devices/heatPump.d.ts.map +1 -0
- package/dist/devices/heatPump.js +50 -2
- package/dist/devices/heatPump.js.map +1 -0
- package/dist/devices/laundryDryer.d.ts +67 -0
- package/dist/devices/laundryDryer.d.ts.map +1 -0
- package/dist/devices/laundryDryer.js +62 -3
- package/dist/devices/laundryDryer.js.map +1 -0
- package/dist/devices/laundryWasher.d.ts +81 -0
- package/dist/devices/laundryWasher.d.ts.map +1 -0
- package/dist/devices/laundryWasher.js +70 -4
- package/dist/devices/laundryWasher.js.map +1 -0
- package/dist/devices/microwaveOven.d.ts +168 -0
- package/dist/devices/microwaveOven.d.ts.map +1 -0
- package/dist/devices/microwaveOven.js +88 -5
- package/dist/devices/microwaveOven.js.map +1 -0
- package/dist/devices/oven.d.ts +105 -0
- package/dist/devices/oven.d.ts.map +1 -0
- package/dist/devices/oven.js +85 -0
- package/dist/devices/oven.js.map +1 -0
- package/dist/devices/refrigerator.d.ts +118 -0
- package/dist/devices/refrigerator.d.ts.map +1 -0
- package/dist/devices/refrigerator.js +102 -0
- package/dist/devices/refrigerator.js.map +1 -0
- package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
- package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
- package/dist/devices/roboticVacuumCleaner.js +100 -9
- package/dist/devices/roboticVacuumCleaner.js.map +1 -0
- package/dist/devices/solarPower.d.ts +40 -0
- package/dist/devices/solarPower.d.ts.map +1 -0
- package/dist/devices/solarPower.js +38 -0
- package/dist/devices/solarPower.js.map +1 -0
- package/dist/devices/speaker.d.ts +87 -0
- package/dist/devices/speaker.d.ts.map +1 -0
- package/dist/devices/speaker.js +84 -0
- package/dist/devices/speaker.js.map +1 -0
- package/dist/devices/temperatureControl.d.ts +166 -0
- package/dist/devices/temperatureControl.d.ts.map +1 -0
- package/dist/devices/temperatureControl.js +24 -3
- package/dist/devices/temperatureControl.js.map +1 -0
- package/dist/devices/waterHeater.d.ts +111 -0
- package/dist/devices/waterHeater.d.ts.map +1 -0
- package/dist/devices/waterHeater.js +82 -2
- package/dist/devices/waterHeater.js.map +1 -0
- package/dist/dgram/coap.d.ts +205 -0
- package/dist/dgram/coap.d.ts.map +1 -0
- package/dist/dgram/coap.js +126 -13
- package/dist/dgram/coap.js.map +1 -0
- package/dist/dgram/dgram.d.ts +141 -0
- package/dist/dgram/dgram.d.ts.map +1 -0
- package/dist/dgram/dgram.js +114 -2
- package/dist/dgram/dgram.js.map +1 -0
- package/dist/dgram/mb_coap.d.ts +24 -0
- package/dist/dgram/mb_coap.d.ts.map +1 -0
- package/dist/dgram/mb_coap.js +41 -3
- package/dist/dgram/mb_coap.js.map +1 -0
- package/dist/dgram/mb_mdns.d.ts +24 -0
- package/dist/dgram/mb_mdns.d.ts.map +1 -0
- package/dist/dgram/mb_mdns.js +80 -15
- package/dist/dgram/mb_mdns.js.map +1 -0
- package/dist/dgram/mdns.d.ts +290 -0
- package/dist/dgram/mdns.d.ts.map +1 -0
- package/dist/dgram/mdns.js +299 -137
- package/dist/dgram/mdns.js.map +1 -0
- package/dist/dgram/multicast.d.ts +67 -0
- package/dist/dgram/multicast.d.ts.map +1 -0
- package/dist/dgram/multicast.js +62 -1
- package/dist/dgram/multicast.js.map +1 -0
- package/dist/dgram/unicast.d.ts +56 -0
- package/dist/dgram/unicast.d.ts.map +1 -0
- package/dist/dgram/unicast.js +54 -0
- package/dist/dgram/unicast.js.map +1 -0
- package/dist/frontend.d.ts +238 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +455 -35
- package/dist/frontend.js.map +1 -0
- package/dist/frontendTypes.d.ts +529 -0
- package/dist/frontendTypes.d.ts.map +1 -0
- package/dist/frontendTypes.js +45 -0
- package/dist/frontendTypes.js.map +1 -0
- package/dist/helpers.d.ts +48 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +53 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/jestutils/export.d.ts +2 -0
- package/dist/jestutils/export.d.ts.map +1 -0
- package/dist/jestutils/export.js +1 -0
- package/dist/jestutils/export.js.map +1 -0
- package/dist/jestutils/jestHelpers.d.ts +345 -0
- package/dist/jestutils/jestHelpers.d.ts.map +1 -0
- package/dist/jestutils/jestHelpers.js +371 -14
- package/dist/jestutils/jestHelpers.js.map +1 -0
- package/dist/logger/export.d.ts +2 -0
- package/dist/logger/export.d.ts.map +1 -0
- package/dist/logger/export.js +1 -0
- package/dist/logger/export.js.map +1 -0
- package/dist/matter/behaviors.d.ts +2 -0
- package/dist/matter/behaviors.d.ts.map +1 -0
- package/dist/matter/behaviors.js +2 -0
- package/dist/matter/behaviors.js.map +1 -0
- package/dist/matter/clusters.d.ts +2 -0
- package/dist/matter/clusters.d.ts.map +1 -0
- package/dist/matter/clusters.js +2 -0
- package/dist/matter/clusters.js.map +1 -0
- package/dist/matter/devices.d.ts +2 -0
- package/dist/matter/devices.d.ts.map +1 -0
- package/dist/matter/devices.js +2 -0
- package/dist/matter/devices.js.map +1 -0
- package/dist/matter/endpoints.d.ts +2 -0
- package/dist/matter/endpoints.d.ts.map +1 -0
- package/dist/matter/endpoints.js +2 -0
- package/dist/matter/endpoints.js.map +1 -0
- package/dist/matter/export.d.ts +5 -0
- package/dist/matter/export.d.ts.map +1 -0
- package/dist/matter/export.js +3 -0
- package/dist/matter/export.js.map +1 -0
- package/dist/matter/types.d.ts +3 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +3 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matterNode.d.ts +342 -0
- package/dist/matterNode.d.ts.map +1 -0
- package/dist/matterNode.js +369 -8
- package/dist/matterNode.js.map +1 -0
- package/dist/matterbridge.d.ts +492 -0
- package/dist/matterbridge.d.ts.map +1 -0
- package/dist/matterbridge.js +811 -46
- package/dist/matterbridge.js.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +41 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.js +38 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
- package/dist/matterbridgeBehaviors.d.ts +2404 -0
- package/dist/matterbridgeBehaviors.d.ts.map +1 -0
- package/dist/matterbridgeBehaviors.js +68 -5
- package/dist/matterbridgeBehaviors.js.map +1 -0
- package/dist/matterbridgeDeviceTypes.d.ts +698 -0
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
- package/dist/matterbridgeDeviceTypes.js +635 -14
- package/dist/matterbridgeDeviceTypes.js.map +1 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +41 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
- package/dist/matterbridgeDynamicPlatform.js +38 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +1507 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +1444 -53
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +787 -0
- package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
- package/dist/matterbridgeEndpointHelpers.js +483 -20
- package/dist/matterbridgeEndpointHelpers.js.map +1 -0
- package/dist/matterbridgeEndpointTypes.d.ts +166 -0
- package/dist/matterbridgeEndpointTypes.d.ts.map +1 -0
- package/dist/matterbridgeEndpointTypes.js +25 -0
- package/dist/matterbridgeEndpointTypes.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +539 -0
- package/dist/matterbridgePlatform.d.ts.map +1 -0
- package/dist/matterbridgePlatform.js +451 -1
- package/dist/matterbridgePlatform.js.map +1 -0
- package/dist/matterbridgeTypes.d.ts +251 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +26 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/pluginManager.d.ts +372 -0
- package/dist/pluginManager.d.ts.map +1 -0
- package/dist/pluginManager.js +341 -5
- package/dist/pluginManager.js.map +1 -0
- package/dist/shelly.d.ts +181 -0
- package/dist/shelly.d.ts.map +1 -0
- package/dist/shelly.js +178 -7
- package/dist/shelly.js.map +1 -0
- package/dist/storage/export.d.ts +2 -0
- package/dist/storage/export.d.ts.map +1 -0
- package/dist/storage/export.js +1 -0
- package/dist/storage/export.js.map +1 -0
- package/dist/update.d.ts +84 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +93 -1
- package/dist/update.js.map +1 -0
- package/dist/utils/colorUtils.d.ts +101 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/colorUtils.js +97 -2
- package/dist/utils/colorUtils.js.map +1 -0
- package/dist/utils/commandLine.d.ts +66 -0
- package/dist/utils/commandLine.d.ts.map +1 -0
- package/dist/utils/commandLine.js +60 -0
- package/dist/utils/commandLine.js.map +1 -0
- package/dist/utils/copyDirectory.d.ts +35 -0
- package/dist/utils/copyDirectory.d.ts.map +1 -0
- package/dist/utils/copyDirectory.js +37 -0
- package/dist/utils/copyDirectory.js.map +1 -0
- package/dist/utils/createDirectory.d.ts +34 -0
- package/dist/utils/createDirectory.d.ts.map +1 -0
- package/dist/utils/createDirectory.js +33 -0
- package/dist/utils/createDirectory.js.map +1 -0
- package/dist/utils/createZip.d.ts +39 -0
- package/dist/utils/createZip.d.ts.map +1 -0
- package/dist/utils/createZip.js +47 -2
- package/dist/utils/createZip.js.map +1 -0
- package/dist/utils/deepCopy.d.ts +32 -0
- package/dist/utils/deepCopy.d.ts.map +1 -0
- package/dist/utils/deepCopy.js +39 -0
- package/dist/utils/deepCopy.js.map +1 -0
- package/dist/utils/deepEqual.d.ts +54 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +72 -1
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/error.d.ts +45 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +42 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/export.d.ts +13 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +1 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/format.d.ts +53 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +49 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/hex.d.ts +89 -0
- package/dist/utils/hex.d.ts.map +1 -0
- package/dist/utils/hex.js +124 -0
- package/dist/utils/hex.js.map +1 -0
- package/dist/utils/inspector.d.ts +87 -0
- package/dist/utils/inspector.d.ts.map +1 -0
- package/dist/utils/inspector.js +69 -1
- package/dist/utils/inspector.js.map +1 -0
- package/dist/utils/isvalid.d.ts +103 -0
- package/dist/utils/isvalid.d.ts.map +1 -0
- package/dist/utils/isvalid.js +101 -0
- package/dist/utils/isvalid.js.map +1 -0
- package/dist/utils/network.d.ts +111 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +96 -5
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/spawn.d.ts +33 -0
- package/dist/utils/spawn.d.ts.map +1 -0
- package/dist/utils/spawn.js +71 -1
- package/dist/utils/spawn.js.map +1 -0
- package/dist/utils/tracker.d.ts +108 -0
- package/dist/utils/tracker.d.ts.map +1 -0
- package/dist/utils/tracker.js +64 -1
- package/dist/utils/tracker.js.map +1 -0
- package/dist/utils/wait.d.ts +54 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +60 -8
- package/dist/utils/wait.js.map +1 -0
- package/dist/workerGlobalPrefix.d.ts +25 -0
- package/dist/workerGlobalPrefix.d.ts.map +1 -0
- package/dist/workerGlobalPrefix.js +37 -5
- package/dist/workerGlobalPrefix.js.map +1 -0
- package/dist/workerTypes.d.ts +52 -0
- package/dist/workerTypes.d.ts.map +1 -0
- package/dist/workerTypes.js +24 -0
- package/dist/workerTypes.js.map +1 -0
- package/dist/workers.d.ts +69 -0
- package/dist/workers.d.ts.map +1 -0
- package/dist/workers.js +68 -4
- package/dist/workers.js.map +1 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -1
- package/scripts/data_model.mjs +2058 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
|
package/dist/shelly.d.ts
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
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
|
+
import { AnsiLogger } from 'node-ansi-logger';
|
|
25
|
+
import { Matterbridge } from './matterbridge.js';
|
|
26
|
+
import { BroadcastServer } from './broadcastServer.js';
|
|
27
|
+
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
|
+
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
|
+
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
|
+
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
|
+
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
|
+
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
|
+
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
|
+
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
|
+
export declare function triggerShellyChangeIp(matterbridge: Matterbridge, config: {
|
|
96
|
+
type: 'static' | 'dhcp';
|
|
97
|
+
ip: string;
|
|
98
|
+
subnet: string;
|
|
99
|
+
gateway: string;
|
|
100
|
+
dns: string;
|
|
101
|
+
}): 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
|
+
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
|
+
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
|
+
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
|
+
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
|
+
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
|
+
export declare function postShelly(api: string, data: any, timeout?: number): Promise<any>;
|
|
181
|
+
//# sourceMappingURL=shelly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shelly.d.ts","sourceRoot":"","sources":["../src/shelly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,OAAO,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlI;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CActF;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBnI;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,74 +1,155 @@
|
|
|
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
|
+
*/
|
|
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 {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
|
+
*/
|
|
10
53
|
export async function getShellySysUpdate(matterbridge, log, server) {
|
|
11
54
|
try {
|
|
12
55
|
const updates = (await getShelly('/api/updates/sys/check'));
|
|
13
56
|
if (updates.length === 0)
|
|
14
57
|
return;
|
|
15
58
|
server.request({ type: 'matterbridge_sys_update', src: server.name, dst: 'matterbridge', params: { available: true } });
|
|
59
|
+
// matterbridge.shellySysUpdate = true;
|
|
16
60
|
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 } });
|
|
17
62
|
for (const { name } of updates) {
|
|
18
63
|
if (!name)
|
|
19
64
|
continue;
|
|
20
65
|
log.notice(`Shelly system update available: ${name}`);
|
|
21
66
|
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);
|
|
22
68
|
}
|
|
23
69
|
}
|
|
24
70
|
catch (err) {
|
|
25
71
|
log.error(`Error getting Shelly system updates: ${err instanceof Error ? err.message : String(err)}`);
|
|
26
72
|
}
|
|
27
73
|
}
|
|
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
|
+
*/
|
|
28
80
|
export async function triggerShellySysUpdate(matterbridge) {
|
|
29
81
|
try {
|
|
82
|
+
// Trigger the update request
|
|
30
83
|
await getShelly('/api/updates/sys/perform');
|
|
31
84
|
matterbridge.log.notice('Installing Shelly system update...');
|
|
32
85
|
matterbridge.shellySysUpdate = false;
|
|
33
86
|
matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly system update...', 15);
|
|
34
87
|
matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_sys_update', success: true, response: { available: false } });
|
|
88
|
+
// Begin polling update status
|
|
35
89
|
await verifyShellyUpdate(matterbridge, '/api/updates/sys/status', 'Shelly system update');
|
|
36
90
|
}
|
|
37
91
|
catch (err) {
|
|
38
92
|
matterbridge.log.error(`Error triggering Shelly system update: ${err instanceof Error ? err.message : String(err)}`);
|
|
39
93
|
}
|
|
40
94
|
}
|
|
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
|
+
*/
|
|
41
103
|
export async function getShellyMainUpdate(matterbridge, log, server) {
|
|
42
104
|
try {
|
|
43
105
|
const updates = (await getShelly('/api/updates/main/check'));
|
|
44
106
|
if (updates.length === 0)
|
|
45
107
|
return;
|
|
46
108
|
server.request({ type: 'matterbridge_main_update', src: server.name, dst: 'matterbridge', params: { available: true } });
|
|
109
|
+
// matterbridge.shellyMainUpdate = true;
|
|
47
110
|
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 } });
|
|
48
112
|
for (const { name } of updates) {
|
|
49
113
|
if (!name)
|
|
50
114
|
continue;
|
|
51
115
|
log.notice(`Shelly software update available: ${name}`);
|
|
52
116
|
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);
|
|
53
118
|
}
|
|
54
119
|
}
|
|
55
120
|
catch (err) {
|
|
56
121
|
log.error(`Error getting Shelly main updates: ${err instanceof Error ? err.message : String(err)}`);
|
|
57
122
|
}
|
|
58
123
|
}
|
|
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
|
+
*/
|
|
59
130
|
export async function triggerShellyMainUpdate(matterbridge) {
|
|
60
131
|
try {
|
|
132
|
+
// Trigger the perform-update request
|
|
61
133
|
await getShelly('/api/updates/main/perform');
|
|
62
134
|
matterbridge.log.notice('Installing Shelly software update...');
|
|
63
135
|
matterbridge.shellyMainUpdate = false;
|
|
64
136
|
matterbridge.frontend.wssSendSnackbarMessage('Installing Shelly software update...', 15);
|
|
65
137
|
matterbridge.frontend.wssBroadcastMessage({ id: 0, src: 'Matterbridge', dst: 'Frontend', method: 'shelly_main_update', success: true, response: { available: false } });
|
|
138
|
+
// Begin polling the update status
|
|
66
139
|
await verifyShellyUpdate(matterbridge, '/api/updates/main/status', 'Shelly software update');
|
|
67
140
|
}
|
|
68
141
|
catch (err) {
|
|
69
142
|
matterbridge.log.error(`Error triggering Shelly main update: ${err instanceof Error ? err.message : String(err)}`);
|
|
70
143
|
}
|
|
71
144
|
}
|
|
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
|
+
*/
|
|
72
153
|
export async function verifyShellyUpdate(matterbridge, api, name) {
|
|
73
154
|
return new Promise((resolve) => {
|
|
74
155
|
const timeout = setTimeout(() => {
|
|
@@ -76,9 +157,9 @@ export async function verifyShellyUpdate(matterbridge, api, name) {
|
|
|
76
157
|
matterbridge.frontend.wssSendCloseSnackbarMessage(`${name} in progress...`);
|
|
77
158
|
clearInterval(interval);
|
|
78
159
|
resolve();
|
|
79
|
-
}, verifyTimeoutSecs * 1000);
|
|
160
|
+
}, verifyTimeoutSecs * 1000); // 10 minutes
|
|
80
161
|
const interval = setInterval(() => {
|
|
81
|
-
getShelly(api, 10 * 1000)
|
|
162
|
+
getShelly(api, 10 * 1000) // 10 seconds
|
|
82
163
|
.then(async (data) => {
|
|
83
164
|
if (data.updatingInProgress) {
|
|
84
165
|
matterbridge.log.debug(`${name} in progress...`);
|
|
@@ -101,9 +182,21 @@ export async function verifyShellyUpdate(matterbridge, api, name) {
|
|
|
101
182
|
clearTimeout(timeout);
|
|
102
183
|
resolve();
|
|
103
184
|
});
|
|
104
|
-
}, verifyIntervalSecs * 1000);
|
|
185
|
+
}, verifyIntervalSecs * 1000); // 15 seconds
|
|
105
186
|
});
|
|
106
187
|
}
|
|
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
|
+
*/
|
|
107
200
|
export async function triggerShellyChangeIp(matterbridge, config) {
|
|
108
201
|
const api = config.type === 'static' ? '/api/network/connection/static' : '/api/network/connection/dynamic';
|
|
109
202
|
const data = { interface: 'end0' };
|
|
@@ -126,6 +219,12 @@ export async function triggerShellyChangeIp(matterbridge, config) {
|
|
|
126
219
|
matterbridge.frontend.wssSendSnackbarMessage('Error changing Shelly network configuration', 10, 'error');
|
|
127
220
|
}
|
|
128
221
|
}
|
|
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
|
+
*/
|
|
129
228
|
export async function triggerShellyReboot(matterbridge) {
|
|
130
229
|
matterbridge.log.debug(`Triggering Shelly system reboot`);
|
|
131
230
|
try {
|
|
@@ -143,6 +242,13 @@ export async function triggerShellyReboot(matterbridge) {
|
|
|
143
242
|
matterbridge.frontend.wssSendSnackbarMessage('Error rebooting Shelly board', 10, 'error');
|
|
144
243
|
}
|
|
145
244
|
}
|
|
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
|
+
*/
|
|
146
252
|
export async function triggerShellySoftReset(matterbridge) {
|
|
147
253
|
matterbridge.log.debug(`Triggering Shelly soft reset`);
|
|
148
254
|
try {
|
|
@@ -160,6 +266,13 @@ export async function triggerShellySoftReset(matterbridge) {
|
|
|
160
266
|
matterbridge.frontend.wssSendSnackbarMessage('Error resetting the network parameters on Shelly board', 10, 'error');
|
|
161
267
|
}
|
|
162
268
|
}
|
|
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
|
+
*/
|
|
163
276
|
export async function triggerShellyHardReset(matterbridge) {
|
|
164
277
|
matterbridge.log.debug(`Triggering Shelly hard reset`);
|
|
165
278
|
try {
|
|
@@ -177,6 +290,12 @@ export async function triggerShellyHardReset(matterbridge) {
|
|
|
177
290
|
matterbridge.frontend.wssSendSnackbarMessage('Error while factory resetting the Shelly board', 10, 'error');
|
|
178
291
|
}
|
|
179
292
|
}
|
|
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
|
+
*/
|
|
180
299
|
export async function createShellySystemLog(matterbridge) {
|
|
181
300
|
const { promises: fs } = await import('node:fs');
|
|
182
301
|
const path = await import('node:path');
|
|
@@ -193,6 +312,28 @@ export async function createShellySystemLog(matterbridge) {
|
|
|
193
312
|
return false;
|
|
194
313
|
}
|
|
195
314
|
}
|
|
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
|
+
*/
|
|
196
337
|
export async function getShelly(api, timeout = 60000) {
|
|
197
338
|
const http = await import('node:http');
|
|
198
339
|
return new Promise((resolve, reject) => {
|
|
@@ -206,12 +347,13 @@ export async function getShelly(api, timeout = 60000) {
|
|
|
206
347
|
let data = '';
|
|
207
348
|
if (res.statusCode !== 200) {
|
|
208
349
|
clearTimeout(timeoutId);
|
|
209
|
-
res.resume();
|
|
210
|
-
req.destroy();
|
|
350
|
+
res.resume(); // Discard response data to close the socket properly
|
|
351
|
+
req.destroy(); // Forcefully close the request
|
|
211
352
|
reject(new Error(`Failed to fetch data. Status code: ${res.statusCode}`));
|
|
212
353
|
return;
|
|
213
354
|
}
|
|
214
355
|
res.on('data', (chunk) => {
|
|
356
|
+
// console.log(chunk);
|
|
215
357
|
data += chunk;
|
|
216
358
|
});
|
|
217
359
|
res.on('end', () => {
|
|
@@ -226,6 +368,7 @@ export async function getShelly(api, timeout = 60000) {
|
|
|
226
368
|
}
|
|
227
369
|
}
|
|
228
370
|
else {
|
|
371
|
+
// console.log(data);
|
|
229
372
|
resolve(data);
|
|
230
373
|
}
|
|
231
374
|
});
|
|
@@ -236,6 +379,31 @@ export async function getShelly(api, timeout = 60000) {
|
|
|
236
379
|
});
|
|
237
380
|
});
|
|
238
381
|
}
|
|
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
|
+
*/
|
|
239
407
|
export async function postShelly(api, data, timeout = 60000) {
|
|
240
408
|
const http = await import('node:http');
|
|
241
409
|
return new Promise((resolve, reject) => {
|
|
@@ -256,10 +424,11 @@ export async function postShelly(api, data, timeout = 60000) {
|
|
|
256
424
|
};
|
|
257
425
|
const req = http.request(url, options, (res) => {
|
|
258
426
|
let responseData = '';
|
|
427
|
+
// Check for non-success status codes (e.g., 300+)
|
|
259
428
|
if (res.statusCode && res.statusCode >= 300) {
|
|
260
429
|
clearTimeout(timeoutId);
|
|
261
|
-
res.resume();
|
|
262
|
-
req.destroy();
|
|
430
|
+
res.resume(); // Discard response data to free up memory
|
|
431
|
+
req.destroy(); // Close the request
|
|
263
432
|
return reject(new Error(`Failed to post data. Status code: ${res.statusCode}`));
|
|
264
433
|
}
|
|
265
434
|
res.on('data', (chunk) => {
|
|
@@ -280,7 +449,9 @@ export async function postShelly(api, data, timeout = 60000) {
|
|
|
280
449
|
clearTimeout(timeoutId);
|
|
281
450
|
reject(new Error(`Request failed: ${error instanceof Error ? error.message : error}`));
|
|
282
451
|
});
|
|
452
|
+
// Send the JSON data
|
|
283
453
|
req.write(jsonData);
|
|
284
454
|
req.end();
|
|
285
455
|
});
|
|
286
456
|
}
|
|
457
|
+
//# sourceMappingURL=shelly.js.map
|