homebridge-config-ui-x 5.0.0-beta.4 → 5.0.0-beta.40
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/CHANGELOG.md +224 -20
- package/CONTRIBUTING.md +5 -4
- package/LICENSE +1 -1
- package/config.schema.json +38 -18
- package/dist/bin/fork.js +17 -7
- package/dist/bin/fork.js.map +1 -1
- package/dist/bin/hb-service.d.ts +2 -2
- package/dist/bin/hb-service.js +68 -57
- package/dist/bin/hb-service.js.map +1 -1
- package/dist/bin/platforms/win32.js +4 -2
- package/dist/bin/platforms/win32.js.map +1 -1
- package/dist/bin/standalone.js +18 -7
- package/dist/bin/standalone.js.map +1 -1
- package/dist/core/auth/auth.controller.d.ts +2 -0
- package/dist/core/auth/auth.controller.js.map +1 -1
- package/dist/core/auth/auth.module.js +1 -1
- package/dist/core/auth/auth.module.js.map +1 -1
- package/dist/core/auth/auth.service.js +10 -10
- package/dist/core/auth/auth.service.js.map +1 -1
- package/dist/core/auth/jwt.strategy.d.ts +3 -1
- package/dist/core/config/config.service.d.ts +3 -0
- package/dist/core/config/config.service.js +2 -1
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +2 -2
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/index.js +25 -14
- package/dist/index.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/modules/accessories/accessories.controller.js +5 -5
- package/dist/modules/accessories/accessories.controller.js.map +1 -1
- package/dist/modules/accessories/accessories.service.js +7 -6
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/backup/backup.controller.js +7 -7
- package/dist/modules/backup/backup.controller.js.map +1 -1
- package/dist/modules/backup/backup.service.js +17 -17
- package/dist/modules/backup/backup.service.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.service.js +3 -3
- package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
- package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
- package/dist/modules/config-editor/config-editor.controller.js +8 -8
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
- package/dist/modules/config-editor/config-editor.service.js +6 -6
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/log/log.service.js +3 -3
- package/dist/modules/log/log.service.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
- package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js +2 -2
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
- package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
- package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.service.js +2 -2
- package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
- package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.js +4 -4
- package/dist/modules/plugins/plugins.controller.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +3 -1
- package/dist/modules/plugins/plugins.service.js +116 -60
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +22 -2
- package/dist/modules/server/server.controller.js +96 -18
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +24 -6
- package/dist/modules/server/server.service.js +186 -59
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.js +3 -3
- package/dist/modules/status/status.controller.js.map +1 -1
- package/dist/modules/status/status.gateway.d.ts +1 -0
- package/dist/modules/status/status.service.d.ts +1 -0
- package/dist/modules/status/status.service.js +5 -4
- package/dist/modules/status/status.service.js.map +1 -1
- package/dist/modules/users/users.controller.js +7 -7
- package/dist/modules/users/users.controller.js.map +1 -1
- package/dist/self-check.js +6 -6
- package/dist/self-check.js.map +1 -1
- package/package.json +38 -37
- package/public/3rdpartylicenses.txt +87 -61
- package/public/assets/hap-icons/airpurifier.svg +49 -16
- package/public/assets/hap-icons/airquality.svg +24 -13
- package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
- package/public/assets/hap-icons/contactsensor-open.svg +80 -2
- package/public/assets/hap-icons/door-closed.svg +32 -2
- package/public/assets/hap-icons/door-open.svg +48 -2
- package/public/assets/hap-icons/fan-off.svg +24 -13
- package/public/assets/hap-icons/fan-on.svg +24 -13
- package/public/assets/hap-icons/garagedoor.svg +24 -13
- package/public/assets/hap-icons/humidity.svg +24 -13
- package/public/assets/hap-icons/irrigation-system.svg +47 -18
- package/public/assets/hap-icons/leaksensor.svg +52 -2
- package/public/assets/hap-icons/light.svg +47 -28
- package/public/assets/hap-icons/lightbulb.svg +24 -13
- package/public/assets/hap-icons/lock-locked.svg +24 -13
- package/public/assets/hap-icons/lock-unlocked.svg +24 -13
- package/public/assets/hap-icons/motionsensor.svg +100 -2
- package/public/assets/hap-icons/occupancysensor.svg +97 -2
- package/public/assets/hap-icons/outlet.svg +24 -13
- package/public/assets/hap-icons/securitysystem-active.svg +102 -2
- package/public/assets/hap-icons/securitysystem-off.svg +68 -2
- package/public/assets/hap-icons/smokesensor.svg +42 -9
- package/public/assets/hap-icons/speaker.svg +29 -13
- package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
- package/public/assets/hap-icons/switch.svg +24 -13
- package/public/assets/hap-icons/television.svg +15 -4
- package/public/assets/hap-icons/temperature.svg +24 -13
- package/public/assets/hap-icons/unknown.svg +24 -13
- package/public/assets/hap-icons/valve-generic.svg +27 -16
- package/public/assets/hap-icons/valve-irrigation.svg +37 -21
- package/public/assets/hap-icons/valve-showerhead.svg +52 -0
- package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
- package/public/assets/hap-icons/window-closed.svg +85 -2
- package/public/assets/hap-icons/window-open.svg +136 -2
- package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
- package/public/assets/hap-icons/windowcovering-open.svg +40 -44
- package/public/assets/homebridge-color-round.svg +36 -1
- package/public/assets/homebridge-logo.svg +11 -1
- package/public/assets/mask-icon.svg +5 -1
- package/public/{chunk-WHJOLAED.js → chunk-2ARSC6O4.js} +1 -1
- package/public/{chunk-WNWWUCCZ.js → chunk-2BBAYFXG.js} +1 -1
- package/public/{chunk-WHJSVGC7.js → chunk-2MYACURS.js} +1 -1
- package/public/{chunk-76SU4XMO.js → chunk-44LZWM2S.js} +1 -1
- package/public/chunk-4ECWVXWO.js +1 -0
- package/public/chunk-4NHYE2FR.js +1 -0
- package/public/chunk-53FTBKZ2.js +1 -0
- package/public/chunk-54CRHY6E.js +1 -0
- package/public/{chunk-JZZQRLNW.js → chunk-5CH326YZ.js} +1 -1
- package/public/chunk-5OK3UPY6.js +1 -0
- package/public/chunk-6D5CGXDI.js +1 -0
- package/public/chunk-6E2DKPOC.js +20 -0
- package/public/chunk-6EMRSQU4.js +1 -0
- package/public/chunk-6IMEZ7FY.js +1 -0
- package/public/chunk-6WX6Z5CR.js +1 -0
- package/public/chunk-6YPC2AEN.js +5 -0
- package/public/chunk-7G5DYE67.js +1 -0
- package/public/chunk-7J7D4RFK.js +1 -0
- package/public/{chunk-OE6MK722.js → chunk-AOWW4OIM.js} +1 -1
- package/public/chunk-BFQLKNRB.js +1 -0
- package/public/chunk-BWUSBIAD.js +1 -0
- package/public/chunk-DF45VVYA.js +1 -0
- package/public/chunk-DMDV5FDH.js +1 -0
- package/public/chunk-ELHNJFMR.js +1 -0
- package/public/chunk-EPP37PKN.js +1 -0
- package/public/{chunk-NW6AFAD7.js → chunk-FFBZNIV4.js} +1 -1
- package/public/{chunk-QE7DO6J3.js → chunk-FLTVAPLJ.js} +2 -2
- package/public/chunk-FRLSQQFD.js +1 -0
- package/public/{chunk-VAW3X7MD.js → chunk-G5GZAWHN.js} +5 -5
- package/public/{chunk-MK5BZOUV.js → chunk-GJMAX2VB.js} +2 -2
- package/public/{chunk-BKUGARB4.js → chunk-GOHZ4DC4.js} +1 -1
- package/public/{chunk-EA5J2VEJ.js → chunk-GQS3624Y.js} +1 -1
- package/public/chunk-H7Z4IBKG.js +1 -0
- package/public/chunk-HZCDB2XT.js +1 -0
- package/public/chunk-I3H24QH7.js +1 -0
- package/public/chunk-I6GEQFAT.js +1 -0
- package/public/chunk-IH7FZAXF.js +1 -0
- package/public/chunk-IHTWEI6M.js +1 -0
- package/public/chunk-JZMQ5FID.js +1 -0
- package/public/chunk-KA5TFBDD.js +1 -0
- package/public/chunk-KXPEHDL7.js +1 -0
- package/public/chunk-LKGOWE5W.js +8 -0
- package/public/chunk-M5W2I2BE.js +1 -0
- package/public/chunk-MDCNYIS7.js +1 -0
- package/public/chunk-MOAVQNSZ.js +1 -0
- package/public/chunk-NZL2QIFO.js +2 -0
- package/public/chunk-O22A7NB6.js +1 -0
- package/public/chunk-O5XTXPP3.js +1 -0
- package/public/chunk-OXVPJJQX.js +1 -0
- package/public/chunk-P2P3GCNU.js +1 -0
- package/public/chunk-P6BRMZWX.js +1 -0
- package/public/chunk-PMMW3JTB.js +1 -0
- package/public/{chunk-CGQI6VDR.js → chunk-POPRPNGN.js} +1 -1
- package/public/chunk-PSPML5VW.js +1 -0
- package/public/chunk-PTWEXIAR.js +1 -0
- package/public/chunk-PYFJNWPU.js +1 -0
- package/public/chunk-PYUYYML6.js +1 -0
- package/public/chunk-Q3MPBSDZ.js +1 -0
- package/public/chunk-QH4HLTWE.js +1 -0
- package/public/chunk-QW6PJ27Z.js +1 -0
- package/public/chunk-R472JQFQ.js +1 -0
- package/public/chunk-RXML52B3.js +14 -0
- package/public/chunk-SLPB5ZSZ.js +1 -0
- package/public/chunk-SM4YBIEF.js +1 -0
- package/public/chunk-SSMNJVEP.js +1 -0
- package/public/chunk-SYEG3RCH.js +1 -0
- package/public/chunk-T7WHHJXM.js +1 -0
- package/public/chunk-U3FAOEAT.js +1 -0
- package/public/{chunk-7EUQWCP5.js → chunk-UFFY2L3W.js} +1 -1
- package/public/{chunk-6TCHCTXZ.js → chunk-V5R6RQCC.js} +1 -1
- package/public/chunk-VRNVEPFN.js +7 -0
- package/public/chunk-W27OUA7Y.js +1 -0
- package/public/chunk-WBTQONWJ.js +5 -0
- package/public/chunk-WKPZS7OX.js +1 -0
- package/public/chunk-WNR5LBIY.js +32 -0
- package/public/chunk-XRLB2LD5.js +1 -0
- package/public/chunk-XTCHYX2M.js +1 -0
- package/public/chunk-XXIHDRQS.js +1 -0
- package/public/chunk-Y5Y7DDHQ.js +1 -0
- package/public/chunk-YHMNHDNW.js +1 -0
- package/public/chunk-YPQN2F2L.js +1 -0
- package/public/{chunk-CCUID66K.js → chunk-ZDFTIT3A.js} +1 -1
- package/public/chunk-ZYAECXAT.js +6 -0
- package/public/index.html +2 -2
- package/public/main-NRSJXXDK.js +1 -0
- package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
- package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
- package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
- package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
- package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
- package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
- package/public/styles-5ZGAUY5X.css +1 -0
- package/scripts/upgrade-install-plugin.sh +1 -1
- package/public/chunk-2FJGS2P4.js +0 -1
- package/public/chunk-2PVYUZMG.js +0 -1
- package/public/chunk-2VTFU3NZ.js +0 -6
- package/public/chunk-3FUV2YFB.js +0 -1
- package/public/chunk-3IX3CLER.js +0 -1
- package/public/chunk-43QJK3CH.js +0 -1
- package/public/chunk-4AYTHKYE.js +0 -1
- package/public/chunk-4JQFZGIU.js +0 -1
- package/public/chunk-5L7KCDO7.js +0 -1
- package/public/chunk-5SGGTYVP.js +0 -1
- package/public/chunk-64I555F6.js +0 -1
- package/public/chunk-6F552PS2.js +0 -14
- package/public/chunk-6GDRRHLT.js +0 -1
- package/public/chunk-7C3EOONK.js +0 -1
- package/public/chunk-7I2U653A.js +0 -1
- package/public/chunk-A6RDT6EE.js +0 -32
- package/public/chunk-ACHJ26XR.js +0 -1
- package/public/chunk-AMGSXBKP.js +0 -1
- package/public/chunk-AX2NKG76.js +0 -1
- package/public/chunk-BPMSJ2VF.js +0 -1
- package/public/chunk-CDC5JJGR.js +0 -5
- package/public/chunk-CNIFYHFS.js +0 -1
- package/public/chunk-DPHWZNEL.js +0 -1
- package/public/chunk-DXCU4YH5.js +0 -1
- package/public/chunk-ENTRCZRC.js +0 -1
- package/public/chunk-F3LCRXOB.js +0 -1
- package/public/chunk-FUOZMXIE.js +0 -1
- package/public/chunk-GNMMNSKZ.js +0 -1
- package/public/chunk-GONTC5RL.js +0 -1
- package/public/chunk-HC4ULUF5.js +0 -1
- package/public/chunk-HSJSWZHD.js +0 -1
- package/public/chunk-JAM2DL6O.js +0 -1
- package/public/chunk-JLUPHWBK.js +0 -1
- package/public/chunk-KQJ7ONUG.js +0 -1
- package/public/chunk-LAAC3HKW.js +0 -1
- package/public/chunk-MOTRKWPN.js +0 -1
- package/public/chunk-N3JMUDBI.js +0 -1
- package/public/chunk-NZNNTHFQ.js +0 -1
- package/public/chunk-ODPNK7TG.js +0 -1
- package/public/chunk-ORPWYWCL.js +0 -5
- package/public/chunk-OURFK6JB.js +0 -1
- package/public/chunk-PEPJOU6R.js +0 -1
- package/public/chunk-PWJLSQWP.js +0 -8
- package/public/chunk-QHPDGSZ6.js +0 -1
- package/public/chunk-RFBKWUOP.js +0 -20
- package/public/chunk-S22XAG5G.js +0 -1
- package/public/chunk-S23B67SO.js +0 -1
- package/public/chunk-S3ABXPGO.js +0 -1
- package/public/chunk-SUCUQYZ3.js +0 -1
- package/public/chunk-TCSXGQNF.js +0 -1
- package/public/chunk-TXOB7R5K.js +0 -7
- package/public/chunk-U4TY4QYN.js +0 -1
- package/public/chunk-UG5DK2RQ.js +0 -2
- package/public/chunk-UNXETFMR.js +0 -1
- package/public/chunk-VF4E7Q42.js +0 -1
- package/public/chunk-VOPS522V.js +0 -1
- package/public/chunk-VVFRD7PI.js +0 -1
- package/public/chunk-WWTMEHKF.js +0 -1
- package/public/chunk-X6HR3FKR.js +0 -1
- package/public/chunk-Y6NAMXTD.js +0 -1
- package/public/chunk-YAOIYDRH.js +0 -1
- package/public/chunk-ZOOTYXXF.js +0 -1
- package/public/chunk-ZT23DWNL.js +0 -1
- package/public/chunk-ZTCVXHR7.js +0 -1
- package/public/chunk-ZUBSOVIF.js +0 -1
- package/public/main-XXZ7MAPQ.js +0 -1
- package/public/media/01-RQ3S2L53.png +0 -0
- package/public/media/02-VNCG2I2A.png +0 -0
- package/public/media/03-HI42L4ZG.png +0 -0
- package/public/media/04-FJLL55LZ.png +0 -0
- package/public/media/05-V3EO6SPT.png +0 -0
- package/public/media/06-EOJZCQZN.png +0 -0
- package/public/media/07-KMKB5PBD.png +0 -0
- package/public/media/08-UQJRF6B2.png +0 -0
- package/public/media/09-2DJQFRHH.png +0 -0
- package/public/media/arrow_left-CQT7FZM7.svg +0 -4
- package/public/media/arrow_right-SBUDRR2G.svg +0 -4
- package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
- package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
- package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
- package/public/scripts-6GVLYD7F.js +0 -62
- package/public/styles-EG5MFQEM.css +0 -1
|
@@ -13,12 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ServerService = void 0;
|
|
16
|
+
const node_buffer_1 = require("node:buffer");
|
|
16
17
|
const node_child_process_1 = require("node:child_process");
|
|
17
18
|
const node_path_1 = require("node:path");
|
|
18
19
|
const node_process_1 = __importDefault(require("node:process"));
|
|
19
20
|
const hap_types_1 = require("@homebridge/hap-client/dist/hap-types");
|
|
20
21
|
const common_1 = require("@nestjs/common");
|
|
21
|
-
const buffer_shims_1 = require("buffer-shims");
|
|
22
22
|
const fs_extra_1 = require("fs-extra");
|
|
23
23
|
const node_cache_1 = __importDefault(require("node-cache"));
|
|
24
24
|
const systeminformation_1 = require("systeminformation");
|
|
@@ -27,14 +27,12 @@ const config_service_1 = require("../../core/config/config.service");
|
|
|
27
27
|
const homebridge_ipc_service_1 = require("../../core/homebridge-ipc/homebridge-ipc.service");
|
|
28
28
|
const logger_service_1 = require("../../core/logger/logger.service");
|
|
29
29
|
const accessories_service_1 = require("../accessories/accessories.service");
|
|
30
|
-
const child_bridges_service_1 = require("../child-bridges/child-bridges.service");
|
|
31
30
|
const config_editor_service_1 = require("../config-editor/config-editor.service");
|
|
32
31
|
let ServerService = class ServerService {
|
|
33
|
-
constructor(configService, configEditorService, accessoriesService,
|
|
32
|
+
constructor(configService, configEditorService, accessoriesService, homebridgeIpcService, logger) {
|
|
34
33
|
this.configService = configService;
|
|
35
34
|
this.configEditorService = configEditorService;
|
|
36
35
|
this.accessoriesService = accessoriesService;
|
|
37
|
-
this.childBridgesService = childBridgesService;
|
|
38
36
|
this.homebridgeIpcService = homebridgeIpcService;
|
|
39
37
|
this.logger = logger;
|
|
40
38
|
this.serverServiceCache = new node_cache_1.default({ stdTTL: 300 });
|
|
@@ -43,20 +41,73 @@ let ServerService = class ServerService {
|
|
|
43
41
|
this.accessoryId = this.configService.homebridgeConfig.bridge.username.split(':').join('');
|
|
44
42
|
this.accessoryInfoPath = (0, node_path_1.join)(this.configService.storagePath, 'persist', `AccessoryInfo.${this.accessoryId}.json`);
|
|
45
43
|
}
|
|
44
|
+
async deleteSingleDeviceAccessories(id, cachedAccessoriesDir) {
|
|
45
|
+
const cachedAccessories = (0, node_path_1.join)(cachedAccessoriesDir, `cachedAccessories.${id}`);
|
|
46
|
+
const cachedAccessoriesBackup = (0, node_path_1.join)(cachedAccessoriesDir, `.cachedAccessories.${id}.bak`);
|
|
47
|
+
if (await (0, fs_extra_1.pathExists)(cachedAccessories)) {
|
|
48
|
+
await (0, fs_extra_1.unlink)(cachedAccessories);
|
|
49
|
+
this.logger.warn(`Bridge ${id} accessory removal: removed ${cachedAccessories}.`);
|
|
50
|
+
}
|
|
51
|
+
if (await (0, fs_extra_1.pathExists)(cachedAccessoriesBackup)) {
|
|
52
|
+
await (0, fs_extra_1.unlink)(cachedAccessoriesBackup);
|
|
53
|
+
this.logger.warn(`Bridge ${id} accessory removal: removed ${cachedAccessoriesBackup}.`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async deleteSingleDevicePairing(id, resetPairingInfo) {
|
|
57
|
+
const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
|
|
58
|
+
const accessoryInfo = (0, node_path_1.join)(persistPath, `AccessoryInfo.${id}.json`);
|
|
59
|
+
const identifierCache = (0, node_path_1.join)(persistPath, `IdentifierCache.${id}.json`);
|
|
60
|
+
if (resetPairingInfo) {
|
|
61
|
+
try {
|
|
62
|
+
const configFile = await this.configEditorService.getConfigFile();
|
|
63
|
+
const username = id.match(/.{1,2}/g).join(':');
|
|
64
|
+
const pluginBlocks = configFile.accessories
|
|
65
|
+
.concat(configFile.platforms)
|
|
66
|
+
.concat([{ _bridge: configFile.bridge }])
|
|
67
|
+
.filter((block) => block._bridge?.username?.toUpperCase() === username.toUpperCase());
|
|
68
|
+
const pluginBlock = pluginBlocks.find((block) => block._bridge?.port);
|
|
69
|
+
const otherBlocks = pluginBlocks.filter((block) => !block._bridge?.port);
|
|
70
|
+
if (pluginBlock) {
|
|
71
|
+
pluginBlock._bridge.username = this.configEditorService.generateUsername();
|
|
72
|
+
pluginBlock._bridge.pin = this.configEditorService.generatePin();
|
|
73
|
+
otherBlocks.forEach((block) => {
|
|
74
|
+
block._bridge.username = pluginBlock._bridge.username;
|
|
75
|
+
});
|
|
76
|
+
this.logger.warn(`Bridge ${id} reset: new username: ${pluginBlock._bridge.username} and new pin: ${pluginBlock._bridge.pin}.`);
|
|
77
|
+
await this.configEditorService.updateConfigFile(configFile);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.logger.error(`Failed to reset username and pin for child bridge ${id} as the plugin block could not be found.`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
this.logger.error(`Failed to reset username and pin for child bridge ${id} as ${e.message}.`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (await (0, fs_extra_1.pathExists)(accessoryInfo)) {
|
|
88
|
+
await (0, fs_extra_1.unlink)(accessoryInfo);
|
|
89
|
+
this.logger.warn(`Bridge ${id} reset: removed ${accessoryInfo}.`);
|
|
90
|
+
}
|
|
91
|
+
if (await (0, fs_extra_1.pathExists)(identifierCache)) {
|
|
92
|
+
await (0, fs_extra_1.unlink)(identifierCache);
|
|
93
|
+
this.logger.warn(`Bridge ${id} reset: removed ${identifierCache}.`);
|
|
94
|
+
}
|
|
95
|
+
await this.deleteDeviceAccessories(id);
|
|
96
|
+
}
|
|
46
97
|
async restartServer() {
|
|
47
|
-
this.logger.log('Homebridge restart request received');
|
|
98
|
+
this.logger.log('Homebridge restart request received.');
|
|
48
99
|
if (this.configService.serviceMode && !(await this.configService.uiRestartRequired() || await this.nodeVersionChanged())) {
|
|
49
|
-
this.logger.log('UI
|
|
100
|
+
this.logger.log('UI/Bridge settings have not changed - only restarting Homebridge process.');
|
|
50
101
|
this.homebridgeIpcService.restartHomebridge();
|
|
51
102
|
this.accessoriesService.resetInstancePool();
|
|
52
103
|
return { ok: true, command: 'SIGTERM', restartingUI: false };
|
|
53
104
|
}
|
|
54
105
|
setTimeout(() => {
|
|
55
106
|
if (this.configService.ui.restart) {
|
|
56
|
-
this.logger.log(`Executing restart command
|
|
107
|
+
this.logger.log(`Executing restart command ${this.configService.ui.restart}.`);
|
|
57
108
|
(0, node_child_process_1.exec)(this.configService.ui.restart, (err) => {
|
|
58
109
|
if (err) {
|
|
59
|
-
this.logger.log('Restart command exited with an error
|
|
110
|
+
this.logger.log('Restart command exited with an error, failed to restart Homebridge.');
|
|
60
111
|
}
|
|
61
112
|
});
|
|
62
113
|
}
|
|
@@ -72,23 +123,22 @@ let ServerService = class ServerService {
|
|
|
72
123
|
const configFile = await this.configEditorService.getConfigFile();
|
|
73
124
|
configFile.bridge.pin = this.configEditorService.generatePin();
|
|
74
125
|
configFile.bridge.username = this.configEditorService.generateUsername();
|
|
75
|
-
this.logger.warn(`Homebridge
|
|
76
|
-
this.logger.warn(`Homebridge Reset: New Pin: ${configFile.bridge.pin}`);
|
|
126
|
+
this.logger.warn(`Homebridge bridge reset: new username ${configFile.bridge.username} and new pin ${configFile.bridge.pin}.`);
|
|
77
127
|
await this.configEditorService.updateConfigFile(configFile);
|
|
78
128
|
await (0, fs_extra_1.remove)((0, node_path_1.resolve)(this.configService.storagePath, 'accessories'));
|
|
79
129
|
await (0, fs_extra_1.remove)((0, node_path_1.resolve)(this.configService.storagePath, 'persist'));
|
|
80
|
-
this.logger.log('Homebridge
|
|
81
|
-
this.logger.log('Homebridge Reset: "accessories" directory removed.');
|
|
130
|
+
this.logger.log('Homebridge bridge reset: accessories and persist directories were removed.');
|
|
82
131
|
}
|
|
83
132
|
async getDevicePairings() {
|
|
84
133
|
const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
|
|
85
134
|
const devices = (await (0, fs_extra_1.readdir)(persistPath))
|
|
86
135
|
.filter(x => x.match(/AccessoryInfo\.([A-F,a-f0-9]+)\.json/));
|
|
136
|
+
const configFile = await this.configEditorService.getConfigFile();
|
|
87
137
|
return Promise.all(devices.map(async (x) => {
|
|
88
|
-
return await this.getDevicePairingById(x.split('.')[1]);
|
|
138
|
+
return await this.getDevicePairingById(x.split('.')[1], configFile);
|
|
89
139
|
}));
|
|
90
140
|
}
|
|
91
|
-
async getDevicePairingById(deviceId) {
|
|
141
|
+
async getDevicePairingById(deviceId, configFile = null) {
|
|
92
142
|
const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
|
|
93
143
|
let device;
|
|
94
144
|
try {
|
|
@@ -97,53 +147,87 @@ let ServerService = class ServerService {
|
|
|
97
147
|
catch (e) {
|
|
98
148
|
throw new common_1.NotFoundException();
|
|
99
149
|
}
|
|
150
|
+
if (!configFile) {
|
|
151
|
+
configFile = await this.configEditorService.getConfigFile();
|
|
152
|
+
}
|
|
153
|
+
const username = deviceId.match(/.{1,2}/g).join(':');
|
|
154
|
+
const isMain = this.configService.homebridgeConfig.bridge.username.toUpperCase() === username.toUpperCase();
|
|
155
|
+
const pluginBlock = configFile.accessories
|
|
156
|
+
.concat(configFile.platforms)
|
|
157
|
+
.concat([{ _bridge: configFile.bridge }])
|
|
158
|
+
.find((block) => block._bridge?.username?.toUpperCase() === username.toUpperCase() && block._bridge?.port);
|
|
159
|
+
try {
|
|
160
|
+
device._category = Object.entries(hap_types_1.Categories).find(([, value]) => value === device.category)[0].toLowerCase();
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
device._category = 'Other';
|
|
164
|
+
}
|
|
165
|
+
device.name = pluginBlock?._bridge.name || pluginBlock?.name || device.displayName;
|
|
100
166
|
device._id = deviceId;
|
|
101
|
-
device._username =
|
|
102
|
-
device._main =
|
|
167
|
+
device._username = username;
|
|
168
|
+
device._main = isMain;
|
|
103
169
|
device._isPaired = device.pairedClients && Object.keys(device.pairedClients).length > 0;
|
|
104
170
|
device._setupCode = this.generateSetupCode(device);
|
|
171
|
+
device._couldBeStale = !device._main && device._category === 'bridge' && !pluginBlock;
|
|
105
172
|
delete device.signSk;
|
|
106
173
|
delete device.signPk;
|
|
107
174
|
delete device.configHash;
|
|
108
175
|
delete device.pairedClients;
|
|
109
176
|
delete device.pairedClientsPermission;
|
|
110
|
-
try {
|
|
111
|
-
device._category = Object.entries(hap_types_1.Categories).find(([, value]) => value === device.category)[0].toLowerCase();
|
|
112
|
-
}
|
|
113
|
-
catch (e) {
|
|
114
|
-
device._category = 'Other';
|
|
115
|
-
}
|
|
116
177
|
return device;
|
|
117
178
|
}
|
|
118
|
-
async deleteDevicePairing(id) {
|
|
119
|
-
if (this.configService.serviceMode) {
|
|
120
|
-
this.
|
|
121
|
-
|
|
179
|
+
async deleteDevicePairing(id, resetPairingInfo) {
|
|
180
|
+
if (!this.configService.serviceMode) {
|
|
181
|
+
this.logger.error('The reset paired bridge command is only available in service mode.');
|
|
182
|
+
throw new common_1.BadRequestException('This command is only available in service mode.');
|
|
122
183
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
184
|
+
this.logger.warn(`Shutting down Homebridge before resetting paired bridge ${id}...`);
|
|
185
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
186
|
+
await this.deleteSingleDevicePairing(id, resetPairingInfo);
|
|
187
|
+
return { ok: true };
|
|
188
|
+
}
|
|
189
|
+
async deleteDevicesPairing(bridges) {
|
|
190
|
+
if (!this.configService.serviceMode) {
|
|
191
|
+
this.logger.error('The reset multiple paired bridges command is only available in service mode.');
|
|
192
|
+
throw new common_1.BadRequestException('This command is only available in service mode.');
|
|
129
193
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
194
|
+
this.logger.warn(`Shutting down Homebridge before resetting paired bridges ${bridges.map(x => x.id).join(', ')}...`);
|
|
195
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
196
|
+
for (const { id, resetPairingInfo } of bridges) {
|
|
197
|
+
try {
|
|
198
|
+
await this.deleteSingleDevicePairing(id, resetPairingInfo);
|
|
199
|
+
}
|
|
200
|
+
catch (e) {
|
|
201
|
+
this.logger.error(`Failed to reset paired bridge ${id} as ${e.message}.`);
|
|
202
|
+
}
|
|
133
203
|
}
|
|
134
|
-
|
|
204
|
+
return { ok: true };
|
|
135
205
|
}
|
|
136
206
|
async deleteDeviceAccessories(id) {
|
|
207
|
+
if (!this.configService.serviceMode) {
|
|
208
|
+
this.logger.error('The remove bridge\'s accessories command is only available in service mode.');
|
|
209
|
+
throw new common_1.BadRequestException('This command is only available in service mode.');
|
|
210
|
+
}
|
|
211
|
+
this.logger.warn(`Shutting down Homebridge before removing accessories for paired bridge ${id}...`);
|
|
212
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
137
213
|
const cachedAccessoriesDir = (0, node_path_1.join)(this.configService.storagePath, 'accessories');
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
this.logger.
|
|
214
|
+
await this.deleteSingleDeviceAccessories(id, cachedAccessoriesDir);
|
|
215
|
+
}
|
|
216
|
+
async deleteDevicesAccessories(bridges) {
|
|
217
|
+
if (!this.configService.serviceMode) {
|
|
218
|
+
this.logger.error('The remove bridges\' accessories command is only available in service mode.');
|
|
219
|
+
throw new common_1.BadRequestException('This command is only available in service mode.');
|
|
143
220
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
221
|
+
this.logger.warn(`Shutting down Homebridge before removing accessories for paired bridges ${bridges.map(x => x.id).join(', ')}...`);
|
|
222
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
223
|
+
const cachedAccessoriesDir = (0, node_path_1.join)(this.configService.storagePath, 'accessories');
|
|
224
|
+
for (const { id } of bridges) {
|
|
225
|
+
try {
|
|
226
|
+
await this.deleteSingleDeviceAccessories(id, cachedAccessoriesDir);
|
|
227
|
+
}
|
|
228
|
+
catch (e) {
|
|
229
|
+
this.logger.error(`Failed to remove accessories for bridge ${id} as ${e.message}.`);
|
|
230
|
+
}
|
|
147
231
|
}
|
|
148
232
|
}
|
|
149
233
|
async getCachedAccessories() {
|
|
@@ -161,31 +245,68 @@ let ServerService = class ServerService {
|
|
|
161
245
|
return cachedAccessories;
|
|
162
246
|
}
|
|
163
247
|
async deleteCachedAccessory(uuid, cacheFile) {
|
|
164
|
-
cacheFile = cacheFile || 'cachedAccessories';
|
|
165
248
|
if (!this.configService.serviceMode) {
|
|
166
|
-
this.logger.error('The
|
|
167
|
-
throw new common_1.BadRequestException('This command is only available in service mode');
|
|
249
|
+
this.logger.error('The remove cached accessory command is only available in service mode.');
|
|
250
|
+
throw new common_1.BadRequestException('This command is only available in service mode.');
|
|
168
251
|
}
|
|
252
|
+
cacheFile = cacheFile || 'cachedAccessories';
|
|
169
253
|
const cachedAccessoriesPath = (0, node_path_1.resolve)(this.configService.storagePath, 'accessories', cacheFile);
|
|
170
|
-
this.logger.warn(`Shutting down Homebridge before removing cached accessory
|
|
254
|
+
this.logger.warn(`Shutting down Homebridge before removing cached accessory ${uuid}...`);
|
|
171
255
|
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
172
256
|
const cachedAccessories = await (0, fs_extra_1.readJson)(cachedAccessoriesPath);
|
|
173
257
|
const accessoryIndex = cachedAccessories.findIndex(x => x.UUID === uuid);
|
|
174
258
|
if (accessoryIndex > -1) {
|
|
175
259
|
cachedAccessories.splice(accessoryIndex, 1);
|
|
176
260
|
await (0, fs_extra_1.writeJson)(cachedAccessoriesPath, cachedAccessories);
|
|
177
|
-
this.logger.warn(`Removed cached accessory with UUID
|
|
261
|
+
this.logger.warn(`Removed cached accessory with UUID ${uuid} from file ${cacheFile}.`);
|
|
178
262
|
}
|
|
179
263
|
else {
|
|
180
|
-
this.logger.error(`Cannot find cached accessory with UUID
|
|
264
|
+
this.logger.error(`Cannot find cached accessory with UUID ${uuid} from file ${cacheFile}.`);
|
|
181
265
|
throw new common_1.NotFoundException();
|
|
182
266
|
}
|
|
183
267
|
return { ok: true };
|
|
184
268
|
}
|
|
185
|
-
async
|
|
269
|
+
async deleteCachedAccessories(accessories) {
|
|
270
|
+
if (!this.configService.serviceMode) {
|
|
271
|
+
this.logger.error('The remove cached accessories command is only available in service mode.');
|
|
272
|
+
throw new common_1.BadRequestException('This command is only available in service mode.');
|
|
273
|
+
}
|
|
274
|
+
this.logger.warn(`Shutting down Homebridge before removing cached accessories ${accessories.map(x => x.uuid).join(', ')}.`);
|
|
275
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
276
|
+
const accessoriesByCacheFile = new Map();
|
|
277
|
+
for (const { cacheFile, uuid } of accessories) {
|
|
278
|
+
const accessoryCacheFile = cacheFile || 'cachedAccessories';
|
|
279
|
+
if (!accessoriesByCacheFile.has(accessoryCacheFile)) {
|
|
280
|
+
accessoriesByCacheFile.set(accessoryCacheFile, []);
|
|
281
|
+
}
|
|
282
|
+
accessoriesByCacheFile.get(accessoryCacheFile).push({ uuid });
|
|
283
|
+
}
|
|
284
|
+
for (const [cacheFile, accessories] of accessoriesByCacheFile.entries()) {
|
|
285
|
+
const cachedAccessoriesPath = (0, node_path_1.resolve)(this.configService.storagePath, 'accessories', cacheFile);
|
|
286
|
+
const cachedAccessories = await (0, fs_extra_1.readJson)(cachedAccessoriesPath);
|
|
287
|
+
for (const { uuid } of accessories) {
|
|
288
|
+
try {
|
|
289
|
+
const accessoryIndex = cachedAccessories.findIndex(x => x.UUID === uuid);
|
|
290
|
+
if (accessoryIndex > -1) {
|
|
291
|
+
cachedAccessories.splice(accessoryIndex, 1);
|
|
292
|
+
this.logger.warn(`Removed cached accessory with UUID ${uuid} from file ${cacheFile}.`);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
this.logger.error(`Cannot find cached accessory with UUID ${uuid} from file ${cacheFile}.`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
catch (e) {
|
|
299
|
+
this.logger.error(`Failed to remove cached accessory with UUID ${uuid} from file ${cacheFile} as ${e.message}.`);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
await (0, fs_extra_1.writeJson)(cachedAccessoriesPath, cachedAccessories);
|
|
303
|
+
}
|
|
304
|
+
return { ok: true };
|
|
305
|
+
}
|
|
306
|
+
async deleteAllCachedAccessories() {
|
|
186
307
|
if (!this.configService.serviceMode) {
|
|
187
|
-
this.logger.error('The
|
|
188
|
-
throw new common_1.BadRequestException('This command is only available in service mode');
|
|
308
|
+
this.logger.error('The remove all cached accessories command is only available in service mode.');
|
|
309
|
+
throw new common_1.BadRequestException('This command is only available in service mode.');
|
|
189
310
|
}
|
|
190
311
|
const cachedAccessoriesDir = (0, node_path_1.join)(this.configService.storagePath, 'accessories');
|
|
191
312
|
const cachedAccessoryPaths = (await (0, fs_extra_1.readdir)(cachedAccessoriesDir))
|
|
@@ -195,16 +316,16 @@ let ServerService = class ServerService {
|
|
|
195
316
|
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
196
317
|
this.logger.warn('Shutting down Homebridge before removing cached accessories');
|
|
197
318
|
try {
|
|
198
|
-
this.logger.log('Clearing
|
|
319
|
+
this.logger.log('Clearing all cached accessories...');
|
|
199
320
|
for (const thisCachedAccessoriesPath of cachedAccessoryPaths) {
|
|
200
321
|
if (await (0, fs_extra_1.pathExists)(thisCachedAccessoriesPath)) {
|
|
201
322
|
await (0, fs_extra_1.unlink)(thisCachedAccessoriesPath);
|
|
202
|
-
this.logger.warn(`Removed ${thisCachedAccessoriesPath}
|
|
323
|
+
this.logger.warn(`Removed ${thisCachedAccessoriesPath}.`);
|
|
203
324
|
}
|
|
204
325
|
}
|
|
205
326
|
}
|
|
206
327
|
catch (e) {
|
|
207
|
-
this.logger.error(`Failed to clear
|
|
328
|
+
this.logger.error(`Failed to clear all cached accessories at ${cachedAccessoriesPath} as ${e.message}.`);
|
|
208
329
|
console.error(e);
|
|
209
330
|
throw new common_1.InternalServerErrorException('Failed to clear Homebridge accessory cache - see logs.');
|
|
210
331
|
}
|
|
@@ -224,7 +345,7 @@ let ServerService = class ServerService {
|
|
|
224
345
|
}
|
|
225
346
|
}
|
|
226
347
|
generateSetupCode(accessoryInfo) {
|
|
227
|
-
const buffer =
|
|
348
|
+
const buffer = node_buffer_1.Buffer.allocUnsafe(8);
|
|
228
349
|
let valueLow = Number.parseInt(accessoryInfo.pincode.replace(/-/g, ''), 10);
|
|
229
350
|
const valueHigh = accessoryInfo.category >> 1;
|
|
230
351
|
valueLow |= 1 << 28;
|
|
@@ -316,13 +437,20 @@ let ServerService = class ServerService {
|
|
|
316
437
|
const config = await this.configEditorService.getConfigFile();
|
|
317
438
|
return { port: config.bridge.port };
|
|
318
439
|
}
|
|
440
|
+
async setHomebridgeName(name) {
|
|
441
|
+
if (!name || !(/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u).test(name)) {
|
|
442
|
+
throw new common_1.BadRequestException('Invalid name');
|
|
443
|
+
}
|
|
444
|
+
const config = await this.configEditorService.getConfigFile();
|
|
445
|
+
config.bridge.name = name;
|
|
446
|
+
await this.configEditorService.updateConfigFile(config);
|
|
447
|
+
}
|
|
319
448
|
async setHomebridgePort(port) {
|
|
320
449
|
if (!port || typeof port !== 'number' || !Number.isInteger(port) || port < 1025 || port > 65533) {
|
|
321
450
|
throw new common_1.BadRequestException('Invalid port number');
|
|
322
451
|
}
|
|
323
452
|
const config = await this.configEditorService.getConfigFile();
|
|
324
453
|
config.bridge.port = port;
|
|
325
|
-
console.error('port', port);
|
|
326
454
|
await this.configEditorService.updateConfigFile(config);
|
|
327
455
|
}
|
|
328
456
|
async nodeVersionChanged() {
|
|
@@ -347,7 +475,6 @@ exports.ServerService = ServerService = __decorate([
|
|
|
347
475
|
__metadata("design:paramtypes", [config_service_1.ConfigService,
|
|
348
476
|
config_editor_service_1.ConfigEditorService,
|
|
349
477
|
accessories_service_1.AccessoriesService,
|
|
350
|
-
child_bridges_service_1.ChildBridgesService,
|
|
351
478
|
homebridge_ipc_service_1.HomebridgeIpcService,
|
|
352
479
|
logger_service_1.Logger])
|
|
353
480
|
], ServerService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,7 +69,7 @@ __decorate([
|
|
|
69
69
|
__metadata("design:returntype", void 0)
|
|
70
70
|
], StatusController.prototype, "getServerMemoryInfo", null);
|
|
71
71
|
__decorate([
|
|
72
|
-
(0, swagger_1.ApiOperation)({ summary: 'Returns the current transmitted
|
|
72
|
+
(0, swagger_1.ApiOperation)({ summary: 'Returns the current transmitted and received bytes per second.' }),
|
|
73
73
|
(0, common_1.Get)('/network'),
|
|
74
74
|
__metadata("design:type", Function),
|
|
75
75
|
__metadata("design:paramtypes", []),
|
|
@@ -103,7 +103,7 @@ __decorate([
|
|
|
103
103
|
__metadata("design:returntype", Promise)
|
|
104
104
|
], StatusController.prototype, "getChildBridges", null);
|
|
105
105
|
__decorate([
|
|
106
|
-
(0, swagger_1.ApiOperation)({ summary: 'Return the current Homebridge version
|
|
106
|
+
(0, swagger_1.ApiOperation)({ summary: 'Return the current Homebridge version and package information.' }),
|
|
107
107
|
(0, common_1.Get)('/homebridge-version'),
|
|
108
108
|
__metadata("design:type", Function),
|
|
109
109
|
__metadata("design:paramtypes", []),
|
|
@@ -124,7 +124,7 @@ __decorate([
|
|
|
124
124
|
__metadata("design:returntype", Promise)
|
|
125
125
|
], StatusController.prototype, "getNodeJsVersionInfo", null);
|
|
126
126
|
__decorate([
|
|
127
|
-
(0, swagger_1.ApiOperation)({ summary: 'Returns throttled status for Raspberry Pi' }),
|
|
127
|
+
(0, swagger_1.ApiOperation)({ summary: 'Returns throttled status for Raspberry Pi.' }),
|
|
128
128
|
(0, common_1.Get)('/rpi/throttled'),
|
|
129
129
|
__metadata("design:type", Function),
|
|
130
130
|
__metadata("design:paramtypes", []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.controller.js","sourceRoot":"","sources":["../../../src/modules/status/status.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2D;AAC3D,+CAA4C;AAC5C,6CAAsE;AAEtE,kFAA4E;AAC5E,qDAAgD;AAMzC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,aAA4B,EAC5B,mBAAwC;QADxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAIJ,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAA;IAC9C,CAAC;IAID,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;IACjD,CAAC;IAID,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAA;IACpD,CAAC;IAID,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAA;IACjD,CAAC;IAOK,AAAN,KAAK,CAAC,qBAAqB;QACzB,OAAO;YACL,MAAM,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;SACzD,CAAA;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IACnD,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAA;IAClD,CAAC;IAIK,AAAN,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAA;IACrD,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAA;IAClD,CAAC;IAIK,AAAN,KAAK,CAAC,6BAA6B;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,6BAA6B,EAAE,CAAA;IAC3D,CAAC;CACF,CAAA;AAzEY,4CAAgB;AAQ3B;IAFC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,2EAA2E,EAAE,CAAC;IACtG,IAAA,YAAG,EAAC,MAAM,CAAC;;;;wDAGX;AAID;IAFC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,uEAAuE,EAAE,CAAC;IAClG,IAAA,YAAG,EAAC,MAAM,CAAC;;;;2DAGX;AAID;IAFC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"status.controller.js","sourceRoot":"","sources":["../../../src/modules/status/status.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,7 +119,7 @@ let StatusService = class StatusService {
|
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
catch (e) {
|
|
122
|
-
this.logger.error(`Failed to read temp from ${this.configService.ui.temp}
|
|
122
|
+
this.logger.error(`Failed to read temp from ${this.configService.ui.temp} as ${e.message}.`);
|
|
123
123
|
return this.getCpuTempAlt();
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -194,6 +194,7 @@ let StatusService = class StatusService {
|
|
|
194
194
|
return {
|
|
195
195
|
status: this.homebridgeStatus,
|
|
196
196
|
consolePort: this.configService.ui.port,
|
|
197
|
+
name: this.configService.homebridgeConfig.bridge.name,
|
|
197
198
|
port: this.configService.homebridgeConfig.bridge.port,
|
|
198
199
|
pin: this.configService.homebridgeConfig.bridge.pin,
|
|
199
200
|
setupUri: this.serverService.setupCode,
|
|
@@ -289,7 +290,7 @@ let StatusService = class StatusService {
|
|
|
289
290
|
return glibcVersion;
|
|
290
291
|
}
|
|
291
292
|
catch (e) {
|
|
292
|
-
this.logger.debug(
|
|
293
|
+
this.logger.debug(`Could not check glibc version as ${e.message}.`);
|
|
293
294
|
return '';
|
|
294
295
|
}
|
|
295
296
|
}
|
|
@@ -382,7 +383,7 @@ let StatusService = class StatusService {
|
|
|
382
383
|
return versionInformation;
|
|
383
384
|
}
|
|
384
385
|
catch (e) {
|
|
385
|
-
this.logger.log(
|
|
386
|
+
this.logger.log(`Failed to check for Node.js version updates (check your internet connection) as ${e.message}.`);
|
|
386
387
|
const versionInformation = {
|
|
387
388
|
currentVersion: node_process_1.default.version,
|
|
388
389
|
latestVersion: node_process_1.default.version,
|
|
@@ -412,7 +413,7 @@ let StatusService = class StatusService {
|
|
|
412
413
|
}
|
|
413
414
|
}
|
|
414
415
|
catch (e) {
|
|
415
|
-
this.logger.debug(
|
|
416
|
+
this.logger.debug(`Could not check vcgencmd get_throttled as ${e.message}.`);
|
|
416
417
|
}
|
|
417
418
|
return output;
|
|
418
419
|
}
|