From b8a87fe760eb5f2ffa1fd36a0b98c683bc2b23f4 Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Mon, 23 May 2022 15:49:38 -0700 Subject: [PATCH] homekit: dont hard fail on bad address override, provide a console warning --- plugins/homekit/package-lock.json | 4 ++-- plugins/homekit/package.json | 2 +- plugins/homekit/src/types/camera/camera-streaming.ts | 8 +++++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/homekit/package-lock.json b/plugins/homekit/package-lock.json index 947b219d6..7dc745d5c 100644 --- a/plugins/homekit/package-lock.json +++ b/plugins/homekit/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/homekit", - "version": "1.1.8", + "version": "1.1.9", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/homekit", - "version": "1.1.8", + "version": "1.1.9", "dependencies": { "@koush/qrcode-terminal": "^0.12.0", "@koush/werift-src": "file:../../external/werift", diff --git a/plugins/homekit/package.json b/plugins/homekit/package.json index b296e8e55..029a7413b 100644 --- a/plugins/homekit/package.json +++ b/plugins/homekit/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/homekit", - "version": "1.1.8", + "version": "1.1.9", "description": "HomeKit Plugin for Scrypted", "scripts": { "prepublishOnly": "NODE_ENV=production scrypted-webpack", diff --git a/plugins/homekit/src/types/camera/camera-streaming.ts b/plugins/homekit/src/types/camera/camera-streaming.ts index 9b21ea80a..c595d2cff 100644 --- a/plugins/homekit/src/types/camera/camera-streaming.ts +++ b/plugins/homekit/src/types/camera/camera-streaming.ts @@ -58,12 +58,14 @@ export function createCameraStreamingDelegate(device: ScryptedDevice & VideoCame }); const socketType = request.addressVersion === 'ipv6' ? 'udp6' : 'udp4'; - const addressOverride = homekitPlugin.storageSettings.values.addressOverride || undefined; + let addressOverride = homekitPlugin.storageSettings.values.addressOverride || undefined; if (addressOverride) { const infos = Object.values(os.networkInterfaces()).flat().map(i => i?.address); - if (!infos.find(address => address === addressOverride)) - homekitPlugin.log.a('The provided Scrypted Server Address was not found in the list of network addresses and may be invalid: ' + addressOverride); + if (!infos.find(address => address === addressOverride)) { + console.error('The provided Scrypted Server Address was not found in the list of network addresses and may be invalid and will not be used (DHCP assignment change?): ' + addressOverride); + addressOverride = undefined; + } } const { socket: videoReturn, port: videoPort } = await getPort(socketType, addressOverride);