API failures shouldn't cause homebridge to terminate
See original GitHub issueAnalysis
I’ve noticed this with a couple of plug ins, including a private one I wrote. If a plug-in makes an API request and receives a response code that isn’t 200 or malformed JSON it causes the entire of Homebridge to restart
The latest one to exhibit this it the Visonic plug in, it appears the API has changed earlier this week so the authentication url is now producing a 404.
Even if the api calls are wrapped in try { } catch { } the failure still causes Homebridge to shut down and effectively get caught in an infinite loop, which if you also hitting rate limited apis (ring/nest etc) it just makes the problem worse as the only effective solution is to manually intervene or lose your entire homebridge set up
Expected Behavior
Plug in should be marked as unloadable and the administrator notified via the console of the failure, then either
- Unloaded and ignored until user intervention
- Re-tried periodically to see if the problem is fixed
Steps To Reproduce
Load any plug in, get a 404 when expecting a JSON packet back, watch homebridge fall over
Logs
[1/13/2022, 7:07:20 AM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules
[1/13/2022, 7:07:20 AM] [HB Supervisor] Started Homebridge v1.3.9 with PID: 37390
[1/13/2022, 7:07:21 AM] Loaded config.json with 13 accessories and 9 platforms.
[1/13/2022, 7:07:21 AM] Loaded 16 cached accessories from cachedAccessories.
[1/13/2022, 7:07:21 AM] ---
[1/13/2022, 7:07:22 AM] Plugin /usr/local/lib/node_modules/homebridge-lib package.json does not contain the keyword 'homebridge-plugin'.
[1/13/2022, 7:07:24 AM] Loaded plugin: homebridge-broadlink-rm-pro@4.4.8
[1/13/2022, 7:07:24 AM] Registering platform 'homebridge-broadlink-rm-pro.BroadlinkRM'
[1/13/2022, 7:07:24 AM] ---
[1/13/2022, 7:07:24 AM] Loaded plugin: homebridge-dummy@0.5.0
[1/13/2022, 7:07:24 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[1/13/2022, 7:07:24 AM] ---
[1/13/2022, 7:07:24 AM] Loaded plugin: homebridge-dyson-pure-cool@2.1.0
[1/13/2022, 7:07:24 AM] Registering platform 'homebridge-dyson-pure-cool.DysonPureCoolPlatform'
[1/13/2022, 7:07:24 AM] ---
[1/13/2022, 7:07:25 AM] Loaded plugin: homebridge-homeconnect@0.23.4
[1/13/2022, 7:07:25 AM] Registering platform 'homebridge-homeconnect.HomeConnect'
[1/13/2022, 7:07:25 AM] ---
[1/13/2022, 7:07:25 AM] The plugin "homebridge-hue" requires Node.js version of ^16.13.1 which does not satisfy the current Node.js version of v14.17.3. You may need to upgrade your installation of Node.js - see https://git.io/JTKEF
[1/13/2022, 7:07:26 AM] Loaded plugin: homebridge-hue@0.13.34
[1/13/2022, 7:07:26 AM] Registering platform 'homebridge-hue.Hue'
[1/13/2022, 7:07:26 AM] ---
[1/13/2022, 7:07:27 AM] Loaded plugin: homebridge-melcloud2@0.1.0
[1/13/2022, 7:07:27 AM] Registering platform 'homebridge-melcloud2.melcloud2'
[1/13/2022, 7:07:27 AM] ---
[1/13/2022, 7:07:27 AM] Loaded plugin: homebridge-multisensor-trigger@1.0.2-beta.0
[1/13/2022, 7:07:27 AM] Registering accessory 'homebridge-multisensor-trigger.MultisensorTrigger'
[1/13/2022, 7:07:27 AM] ---
[1/13/2022, 7:07:27 AM] Loaded plugin: homebridge-nest@4.6.3
[1/13/2022, 7:07:27 AM] Registering platform 'homebridge-nest.Nest'
[1/13/2022, 7:07:27 AM] ---
[1/13/2022, 7:07:27 AM] Loaded plugin: homebridge-ring@9.23.0
[1/13/2022, 7:07:27 AM] Registering platform 'homebridge-ring.Ring'
[1/13/2022, 7:07:27 AM] ---
[1/13/2022, 7:07:28 AM] Loaded plugin: homebridge-tplink-smarthome@6.4.0
[1/13/2022, 7:07:28 AM] Registering platform 'homebridge-tplink-smarthome.TplinkSmarthome'
[1/13/2022, 7:07:28 AM] ---
[1/13/2022, 7:07:28 AM] Loaded plugin: homebridge-unifi-protect@4.4.4
[1/13/2022, 7:07:28 AM] Registering platform 'homebridge-unifi-protect.UniFi Protect'
[1/13/2022, 7:07:28 AM] ---
[1/13/2022, 7:07:28 AM] Loaded plugin: homebridge-visonic-powerlink3@1.2.1
[1/13/2022, 7:07:28 AM] Registering accessory 'homebridge-visonic-powerlink3.PowerLink3'
[1/13/2022, 7:07:28 AM] ---
[1/13/2022, 7:07:28 AM] Loaded plugin: homebridge-config-ui-x@4.41.2
[1/13/2022, 7:07:28 AM] Registering platform 'homebridge-config-ui-x.config'
[1/13/2022, 7:07:28 AM] ---
[1/13/2022, 7:07:28 AM] Loading 9 platforms...
[1/13/2022, 7:07:28 AM] [Config] Initializing config platform...
[1/13/2022, 7:07:28 AM] [Config] Running in Service Mode
[1/13/2022, 7:07:28 AM] [Nest] Initializing Nest platform...
[1/13/2022, 7:07:28 AM] [DysonPureCoolPlatform] Initializing DysonPureCoolPlatform platform...
[1/13/2022, 7:07:28 AM] [UniFi Protect] Initializing UniFi Protect platform...
[1/13/2022, 7:07:28 AM] [HomeConnect] Initializing HomeConnect platform...
[1/13/2022, 7:07:28 AM] [HomeConnect] new HomeConnectPlatform
[1/13/2022, 7:07:28 AM] [TplinkSmarthome] Initializing TplinkSmarthome platform...
[1/13/2022, 7:07:28 AM] [TplinkSmarthome] homebridge-tplink-smarthome v6.4.0, node v14.17.3, homebridge v1.3.9, api v2.7
[1/13/2022, 7:07:29 AM] [Hue] Initializing Hue platform...
[1/13/2022, 7:07:29 AM] [Hue] homebridge-hue v0.13.34, node v14.17.3, homebridge v1.3.9
[1/13/2022, 7:07:29 AM] [Hue] warning: recommended version: node v16.13.1 LTS
[1/13/2022, 7:07:29 AM] [Broadlink RM] Initializing BroadlinkRM platform...
[1/13/2022, 7:07:29 AM] [Broadlink RM] [INFO] Automatically discovering Broadlink RM devices.
[1/13/2022, 7:07:29 AM] [Broadlink RM] Fan Accessory Ready
[1/13/2022, 7:07:29 AM] [melcloud2] Initializing melcloud2 platform...
[1/13/2022, 7:07:29 AM] [melcloud2] Fetching Melcloud devices...
[1/13/2022, 7:07:29 AM] Loading 13 accessories...
[1/13/2022, 7:07:29 AM] [Heat On Check] Initializing MultisensorTrigger accessory...
[1/13/2022, 7:07:29 AM] [Heat On Check] Switch finished initializing!
[1/13/2022, 7:07:29 AM] [Heat Off Check] Initializing MultisensorTrigger accessory...
[1/13/2022, 7:07:29 AM] [Heat Off Check] Switch finished initializing!
[1/13/2022, 7:07:29 AM] [Heat Status Check] Initializing MultisensorTrigger accessory...
[1/13/2022, 7:07:29 AM] [Heat Status Check] Switch finished initializing!
[1/13/2022, 7:07:29 AM] [Boiler On Check Trigger] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [HeatStatus-Bedfordshire] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [HeatStatus-Bedfordshire] Setting switch to true
[1/13/2022, 7:07:29 AM] [HeatStatus-Bethan] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [HeatStatus-Bethan] Setting switch to false
[1/13/2022, 7:07:29 AM] [HeatStatus-Landing] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [HeatStatus-Landing] Setting switch to false
[1/13/2022, 7:07:29 AM] [HeatStatus-Guest] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [HeatStatus-Guest] Setting switch to false
[1/13/2022, 7:07:29 AM] [HeatStatus-Wormhole] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [HeatStatus-Wormhole] Setting switch to false
[1/13/2022, 7:07:29 AM] [HeatStatus-Harriet] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [HeatStatus-Harriet] Setting switch to false
[1/13/2022, 7:07:29 AM] [OutdoorLight-Triggered] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [OutdoorLight-Triggered] Setting switch to false
[1/13/2022, 7:07:29 AM] [ODL-LightOnCheck] Initializing DummySwitch accessory...
[1/13/2022, 7:07:29 AM] [PowerLink3] Initializing PowerLink3 accessory...
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Configuring cached accessory: [Plug 1] UUID: 1b1ab289-0b4e-4450-88fd-6b6399b667df deviceId: 80069DABEF93F346B2F46A176BAEE8C81D99EA0500
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Configuring cached accessory: [Plug 2] UUID: 46ef7a51-782a-4f83-b61f-8dce84549050 deviceId: 80069DABEF93F346B2F46A176BAEE8C81D99EA0501
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Configuring cached accessory: [Guest Bedside Light] UUID: ec746e09-77e3-4ec7-a85b-3a075d6eb4e9 deviceId: 80069DABEF93F346B2F46A176BAEE8C81D99EA0502
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Configuring cached accessory: [Smart Plug] UUID: 6ee68225-2423-43c9-8ca7-f64812ddecfd deviceId: 8006C566B1893A3553B70F86D268A23D1876ED46
[1/13/2022, 7:07:29 AM] [Nest] Fetching Nest devices.
[1/13/2022, 7:07:29 AM] [DysonPureCoolPlatform] Some devices are missing credentials. Please visit the credentials generator (see README) to retrieve them and add them to the configuration.
[1/13/2022, 7:07:29 AM] [HomeConnect] Restored 3 cached accessories
[1/13/2022, 7:07:29 AM] Initializing platform accessory 'Learn'...
[1/13/2022, 7:07:29 AM] Initializing platform accessory 'Scan Frequency'...
[1/13/2022, 7:07:29 AM] Initializing platform accessory 'Fan'...
[1/13/2022, 7:07:29 AM] [HomeConnect] Starting events stream for all appliances
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] New Device Online: [Smart Plug] plug [8006C566B1893A3553B70F86D268A23D1876ED46] 192.168.1.242 9999
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Adding: [Smart Plug] plug [8006C566B1893A3553B70F86D268A23D1876ED46]
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] New Device Online: [Plug 1] plug [80069DABEF93F346B2F46A176BAEE8C81D99EA0500] 192.168.1.32 9999
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Adding: [Plug 1] plug [80069DABEF93F346B2F46A176BAEE8C81D99EA0500]
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] New Device Online: [Plug 2] plug [80069DABEF93F346B2F46A176BAEE8C81D99EA0501] 192.168.1.32 9999
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Adding: [Plug 2] plug [80069DABEF93F346B2F46A176BAEE8C81D99EA0501]
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] New Device Online: [Guest Bedside Light] plug [80069DABEF93F346B2F46A176BAEE8C81D99EA0502] 192.168.1.32 9999
[1/13/2022, 7:07:29 AM] [TplinkSmarthome] Adding: [Guest Bedside Light] plug [80069DABEF93F346B2F46A176BAEE8C81D99EA0502]
[INFO] Adding RF Support to device 24dfa7f934bf with type 61a2
[1/13/2022, 7:07:30 AM] [Broadlink RM] [INFO] Discovered Broadlink RM4 Pro (61a2) at 192.168.1.241 (24:df:a7:f9:34:bf)
[1/13/2022, 7:07:30 AM] [Hue] Sandpit HB 2: Signify Netherlands B.V. BSB002 bridge v1949107040, api v1.48.0
[1/13/2022, 7:07:30 AM] [Hue] Sandpit Hue Brid: Signify Netherlands B.V. BSB002 bridge v1949107040, api v1.48.0
[1/13/2022, 7:07:30 AM] [melcloud2] ContextKey: E71C4C47DB2C4A2289E1C5A8C61C64
[1/13/2022, 7:07:30 AM] [HomeConnect] Waiting 53399 seconds before issuing Home Connect API request
[1/13/2022, 7:07:30 AM] [HomeConnect] Terminated events stream for all appliances: Home Connect API error: Too Many Requests
[1/13/2022, 7:07:30 AM] [HomeConnect] Waiting 53399 seconds before requesting events stream for all appliances
[1/13/2022, 7:07:30 AM] [PowerLink3] Executing request https://visonic.tycomonitor.com/rest_api/8.0/status
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Connected to the Protect controller API (address: 192.168.1.1 mac: 245A4C9BEE40).
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: The user '--' requires the Administrator role in order to automatically configure camera RTSP streams.
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Connected to the UniFi realtime update events API.
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Discovered camera: G4 Bullet [UVC G4 Bullet] (address: 192.168.1.44 mac: 68D79AE16075).
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Discovered camera: Garden [UVC G3 Flex] (address: 192.168.1.180 mac: B4FBE49E4BF4).
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Discovered camera: Side [UVC G3 Flex] (address: 192.168.1.169 mac: B4FBE49F80CA).
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Discovered camera: Doorbell [UVC G4 Doorbell Pro] (address: 192.168.1.153 mac: 68D79AE18BDF).
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Discovered camera: Front [UVC G3 Flex] (address: 192.168.1.8 mac: B4FBE49EF72D).
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO]: Controller refresh interval set to 10 seconds.
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO] Doorbell [UVC G4 Doorbell Pro]: Discovered doorbell message switch: LEAVE PACKAGE AT DOOR.
[1/13/2022, 7:07:30 AM] [UniFi Protect] Sandpit UDM PRO [UDM-PRO] Doorbell [UVC G4 Doorbell Pro]: Discovered doorbell message switch: DO NOT DISTURB.
[1/13/2022, 7:07:30 AM] [Broadlink RM]
[1/13/2022, 7:07:30 AM] [Broadlink RM] **************************************************************************************************************
[1/13/2022, 7:07:30 AM] [Broadlink RM] ** Welcome to version 4.4.8 of the Homebridge Broadlink RM Plugin!
[1/13/2022, 7:07:30 AM] [Broadlink RM] **
[1/13/2022, 7:07:30 AM] [Broadlink RM] ** Find out what's in the latest release here: https://github.com/kiwi-cam/homebridge-broadlink-rm/blob/master/CHANGELOG.md
[1/13/2022, 7:07:30 AM] [Broadlink RM] **
[1/13/2022, 7:07:30 AM] [Broadlink RM] ** If you like this plugin then please star it on GitHub or better yet
[1/13/2022, 7:07:30 AM] [Broadlink RM] ** buy me a drink using Paypal https://paypal.me/kiwicamRM.
[1/13/2022, 7:07:30 AM] [Broadlink RM] **
[1/13/2022, 7:07:30 AM] [Broadlink RM] ** You can disable this message by adding "hideWelcomeMessage": true to the config (see config-sample.json).
[1/13/2022, 7:07:30 AM] [Broadlink RM] **
[1/13/2022, 7:07:30 AM] [Broadlink RM] **************************************************************************************************************
[1/13/2022, 7:07:30 AM] [Broadlink RM]
[1/13/2022, 7:07:30 AM] [PowerLink3] Updating status (1)
[1/13/2022, 7:07:30 AM] SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at /homebridge/node_modules/homebridge-visonic-powerlink3/node_modules/visonic-powerlink3/index.js:88:20
at Request._callback (/homebridge/node_modules/homebridge-visonic-powerlink3/node_modules/visonic-powerlink3/index.js:309:4)
at Request.self.callback (/homebridge/node_modules/homebridge-visonic-powerlink3/node_modules/request/request.js:185:22)
at Request.emit (events.js:375:28)
at Request.<anonymous> (/homebridge/node_modules/homebridge-visonic-powerlink3/node_modules/request/request.js:1154:10)
at Request.emit (events.js:375:28)
at IncomingMessage.<anonymous> (/homebridge/node_modules/homebridge-visonic-powerlink3/node_modules/request/request.js:1076:12)
at Object.onceWrapper (events.js:481:28)
at IncomingMessage.emit (events.js:387:35)
[1/13/2022, 7:07:30 AM] Got SIGTERM, shutting down Homebridge...
Configuration
{
"bridge": {
"name": "Homebridge A4ED",
"username": "0E:77:9D:64:A4:ED",
"port": 51190,
"pin": "363-60-788",
"bind": [
"eth0"
]
},
"accessories": [
{
"name": "Heat On Check",
"delay": 1000,
"sensors": 1,
"accessory": "MultisensorTrigger"
},
{
"name": "Heat Off Check",
"delay": 1000,
"sensors": 1,
"accessory": "MultisensorTrigger"
},
{
"name": "Heat Status Check",
"delay": 1000,
"sensors": 1,
"accessory": "MultisensorTrigger"
},
{
"accessory": "DummySwitch",
"name": "Boiler On Check Trigger",
"time": 5000
},
{
"name": "HeatStatus-Bedfordshire",
"stateful": true,
"accessory": "DummySwitch"
},
{
"name": "HeatStatus-Bethan",
"stateful": true,
"accessory": "DummySwitch"
},
{
"name": "HeatStatus-Landing",
"stateful": true,
"accessory": "DummySwitch"
},
{
"name": "HeatStatus-Guest",
"stateful": true,
"accessory": "DummySwitch"
},
{
"name": "HeatStatus-Wormhole",
"stateful": true,
"accessory": "DummySwitch"
},
{
"name": "HeatStatus-Harriet",
"stateful": true,
"accessory": "DummySwitch"
},
{
"name": "OutdoorLight-Triggered",
"stateful": true,
"accessory": "DummySwitch"
},
{
"name": "ODL-LightOnCheck",
"time": 1000,
"accessory": "DummySwitch"
},
{
"accessory": "PowerLink3",
"name": "PowerLink3",
"host": "visonic.tycomonitor.com",
"userCode": "1782",
"appType": "com.visonic.PowerMaxApp",
"userId": "USERID",
"panelWebName": "PANELWEBNAME",
"userEmail": "EMAILADDRESS",
"userPassword": "PASSWORD"
}
],
"platforms": [
{
"name": "Config",
"port": 8581,
"platform": "config"
},
{
"name": "Nest",
"googleAuth": {
"issueToken": "ISSUETOKEN",
"cookies": "COOKIEHERE",
"apiKey": "APIKEY"
},
"platform": "Nest"
},
{
"username": "someone@example.com",
"password": "passwordhere",
"devices": [
{
"ipAddress": "10.0.0.78",
"serialNumber": "XX1-AA-NNN1111N",
"enableAutoModeWhenActivating": false,
"enableOscillationWhenActivating": false,
"isNightModeEnabled": true,
"isJetFocusEnabled": false,
"isContinuousMonitoringEnabled": false,
"isTemperatureSensorEnabled": true,
"isHumiditySensorEnabled": true,
"isAirQualitySensorEnabled": true,
"isSingleSensorAccessoryModeEnabled": false,
"isSingleAccessoryModeEnabled": false,
"isFullRangeHumidity": false,
"isHeatingDisabled": false
}
],
"platform": "DysonPureCoolPlatform"
},
{
"refreshToken": "REFRESHTOKEN",
"platform": "Ring"
},
{
"controllers": [
{
"address": "IPADDRESS",
"password": "PASSWORD",
"username": "USERNAME"
}
],
"platform": "UniFi Protect"
},
{
"clientid": "518042F7EC84A8408D6234393705468817C563ADF99EBA4258290E8F06C477DB",
"simulator": false,
"language": {
"api": "en-GB"
},
"platform": "HomeConnect"
},
{
"name": "TplinkSmarthome",
"addCustomCharacteristics": true,
"switchModels": [
"KP303"
],
"deviceTypes": [
"plug",
"bulb"
],
"platform": "TplinkSmarthome"
},
{
"name": "Hue",
"anyOn": true,
"effects": true,
"groups": false,
"hosts": [
"192.168.1.156",
"192.168.1.10"
],
"lights": true,
"nativeHomeKitLights": true,
"nativeHomeKitSensors": true,
"resource": true,
"schedules": false,
"sensors": false,
"platform": "Hue",
"users": {
USERSREMOVED
}
},
{
"platform": "BroadlinkRM",
"name": "Broadlink RM",
"accessories": [
{
"name": "Fan",
"type": "fan",
"showSwingMode": false,
"data": {
"off": "b2c0b004b49f0600150b0a16170a0b16160b0aec170a170a0a17160a170a0a17160b160b160b160b160b09180917160b0a1709180a170a170917160b0a17160b0917160b0aec170a170a0a17160b160b0a16160b160c150b160b160b0a170917160b0a170a1809170a170a17160a0a17160b0a17160b09ed160b160a0b16160b160b0a17160a160c160b160a160b0a170a17150c09170a180a160a170a17160b0a17150b0a17160b0aec160b160b0a17160a170a0a17160b160b160b160b160b09180917160b0a1709180a170a160a17160b0a17160b0a17150b0aed160a170a0a17160b160b0917160b160c160a160b160b0a170918150b0a170a170a170a170a17160b0917160b0a17160b09ed160b160b0917160b160b0a17160a170b160b160b150b0a170a17160b09170a180a160a170a17160b0a16160b0a17160b0aec160b160b0a17160a160b0a17160b160b160b160b150c09170a17160b0a1709180a170a160a17160b0a17160b0917160b0aec170a160b0a17160b160a0a17160b160b160b160b160b09180917160b0a170a170a170a170917160c0917160b0a16160b0aed160a170a0a17160b160b0a16160b160c160a160b160b0a170918150b0a170a170a170a170a17160b0917160b0a17160b09ed160b160b0a16160b160b0a17160a170b160b160b150c09170a17160b09170a180a160a170a17160b0a17160a0a17160b0aec170a160b0a17160a170a0a17160b160b160b160b160b09180917160b0a170a170a170a170a17150b0a17160b0a17160a0aed160b160a0a17160b160b0a17160a160c160b150c150b0a170a17160b09170a1809170a170a17160b0a16170a0a17160b0aec160b160b0a17160a170a0a17160b160b160b160b160b09180917160b0a1709180a170a170917160b0a17160b0a17150b0aed160a170a0a17160b160b0a17150b160c160a160b160b0a170a17150c09170a170a170a170a17160b0917160b0a17160b0aec160b160b0a17160a160b0a17160b160b160b160b160b09170a17160b0a170a170a170a170917160b0a17160b0917160b0aed160a170a0a17160b160b0a16160b160c160a160b160b0a170a17150b0a170a1809170a170a17160b0917160b0a17160b09ed160b160b0a16170a160b0a17160b160b160b160b150c09170a17160b091809180a170a170917160b0a17160b0917160b0aed160a160b0a17160b160b0917160b160c150b160b160b0c150918150b0a170a1809170a170a17160a0a17160b0a17160b09ed160b160b0a16170a160b0a17160b160b160b160b160a0a170a17160b091809180a170a160a17160b0a17160b0917160b0aec170a160b0a17160b160b0917160b160c150b160b160b0a170918150b0a170a170a170a170a17160a0a17160b0a17160a0aed160b160b0917160b160b0a17160a160c160b160b150b0a170a17160b09170a18091809170a17160b0a17150b0b16160b0aec170a160b0a17160b160a0a17160b160b160b160b160b0a170917160b0a1709180a170a170a17150b0a17160b0a17160a0aed160b160b0a16160b160b0a17160a160c160b160b150b0a170a17160b09170a18091809170a17160b0a16170a0a17160b0aec160b160b0a17160a170a0a17160b160b160b160b160b09180917160b0a1709180a17000000000000",
"fanSpeed10": "",
"fanSpeed20": "",
"fanSpeed30": "b2c0b004509f060009ec170a160b0a16170a1710100b160b0a17160b160b160b09170a170a17160b160b0a1709180917160b0a170a170a1709170aed160b160a0a17170a160b160b160b0918160b160b160b09170a170a17160b150c0a1709180917160b0a170a170a160a170aed160b160a0a17160b160b160b160a0a18160b160b160a0a170a170a17160a160c0a1709180917160b0a170a1709170a170aed160a170a0a17160b160b160b160a0a18160b150c150b0a170a170a17150b160c0a1709170a17160b0a170a160a170a170aed160a160b0a17160b160b160a160b0a18150c150b160b0a170a170917160b160c091809170a17160b0a1709170a170a170aec170a160b0a17160b160a170a160b0a18150b160b160b0a1709180917160b160c09170a170a17160b09170a170a170a170aec160b160b0a17160a170b150b160b0a17160b160b160b091809170a17160b160c09170a170a17160a0a170a170a170a160aed160b160b0a16170a160b160b160b0a17160b160b160b091809170a17160b160b0a170a170917170a0a170a170a170a160aed160b160b0a16170a160b160b160b0a17160b160b150c09170a170a17160b150c0a1709180917160b0a170a1709170a170aed160a170a0a17170a160b160b160a0a18160b160b150b0a170a170a16170b150c0a1709170a17160b0a170a160a170a170aed160b160a0a17160b160b160a160b0a18160b150b160b0a170a170a16160b160c09170a170a17160b0a1709170a170a170aec170a160b0a17160a170a160b160b0a17160b160b160b0a1709170a17160b160b0a170a170a17160a0a170a170a170a1709ed160b160b0a16170a160b160b160b0a17160b160b160b09170a170a17160b150c0a170a170a17150b0a170a170a1709170aed160b160a0b16160b160b160b160b0918160b160b150b0a170a170a17160b150c0a170a160a17160b0a170a1709170a170aed160a170a0a17160b160b160b150b0a18160b160a160b0a170a170a17150b160c0a170a160a17160b0a170a160a170a170aed160a170a0a17160b160b160b150b0a18160a160b160b0a170a170917160b160c09170a170a17160b091809170a170a170aec170a160b0a17160a170a160b160b0a17160b160b160b091809170a17160b160b0a170a170a17160b09170a170a170a160aed160b160b0a17160a160b160b160b0918160b160b160b09170a170a17160b160b0a170a170917160b0a170a170a1709170aed160b160b0a16170a160b160b160b0918160b160b150c09170a170a17160b150c0a170a170917160b0a170a1709170a170aed160a170a0b18140b160b160b160b0918160b150c150b0a170a170918160a160c0a1709170a17160b0a17091809170a170aed160a160b0a17160b160a170a170a0a18150c150b160b0a170a170917160b160c091809170a17160b0a1709170a170a170aec160b170a0a17160b160a170a160b0a18150b160b160b0a1709180917160b160c09170a170a17160b09170a170a170a170aec160b160b0a17160a170a160b160b0a17160b160b160b0a1709170a17160b160c09170a170a17160b09170a170a170a160aed160b160b0a16170a160b160b160b0a17160b160b160b09170a170a17160b160b0a170a170a16160b0a170a17000000000000",
"fanSpeed40": "",
"fanSpeed50": "",
"fanSpeed60": "b2c0b004b49f0600150a170a0b16170a170a0a170a1c0517160a170a160b0a170a17160b150b160c09170a170a17160b0918150b160b09180aec160b160a0b16160b160b0a170a160a18160b160a160b0a170a17160a160b160c091809170a17160b0917160b160b0a1709ed160b160b0a16160b160b0a170a160a18160b160b150b0a170a17160a160b160c091809170a17160b0917160b160b0a1709ed160b160b0a16160b160b0a170a160a18160a170a160b0a170a17160b150b160c091809170a17160b0918150b160b0a1709ee160a160b0a16170a160b0a170a160b17160b160a160b0a170a17160a160b160c09170a170a17160b0918150b160b0a1709ed160b160b0a17160a160b0a170a160b17160b160b160a0a170a17160b150c150c091809170a17160b0a17150b160b0a170aec160b160b0a17160b160a0a170a170a17160b160b160b09170a17160b160b160b0a170a170917160b0a17160b160b09170aed160a160b0a17160b160a0a170a170a18150b160b160b0a160a17160b160b160b0a170a170a16160b0a17160b160b09170aed160a170a0a17160b160b0a160a170a18160a160b160b0a170917160b160b160c09170a170a17160b0917160b160b0a1709ed160b160a0a17160b160b0a1709170a17170a160b160b0a170a17150b160b160c09170a170a17160b0917160b160b0a1709ed160b160a0a17160b160b0a160b160a18160a170a160b0a170a17150b160b160c09170a170a17160b0917160b160b0a1709ed160b160b0a16170a160b0a170a160a18160b160b150b0a170a17160a160b160c091809170a17160b0917160b160b0a1709ed160b160b0a16170a160b0a170a170a17160b160a160b0a170a17160b160b150c0a1709180917160b0a17160b150b0a170aec170a160b0a17160a170a0a170a170a17160b160b160b09170a17160b160b150c0a1709180917160b0a17160b150e07170aed160a160b0a17160b160b09170a170a17160b160b160b0a170917160b160b160b0a170a170918150b0a17160b160b09170aed160b160a0a17160b160b0a160a170a17170a160b160b0a170a16160b160b160c09170a170a17160b0917160b160b0a1709ed160b160b0917160b160b0a1709170a18160a160b160b0a170a17160a160b160c09170a170a17160b0917160b160b0a1709ed160b160b0a16170a160b0a170a170918160b160a160b0a170a17160b150c150c091809170a17160b0a17160a160b0a170aec160b160b0a16170a170a0a170a170a17160b160b160a0a170a17160b160b150c0a1709170a17160b0a17150c150b0a1709ed170a160b0a17160b150b0a170a170a17160b160b160b09170a17160b160b150c0a1709180917160b0a17160a160b0a170aec160b160b0a17160a160b0a170a170a17160b160b160b09170a17160b160b150c0a1709180917160b0a17160b150b0a170aec160b160b0a17160a170a0a170a170a17160b160b160a0a170a17160b160b150c0a1709170a17160b0a17160b150b0a170aec160b160b0a17160a170a0a170a170a17160b160b160b09170a17160b160b150c0a1709180917160b0a17150c150c09170aec170a160b0a17160b160a0a170a170a17160b160b160b09170a17160b160b150c0a1709180917160b0a17160b150b000000000000",
"fanSpeed70": "",
"fanSpeed80": "",
"fanSpeed90": "",
"fanSpeed100": "b2c0b004509f0600150b0aec170a160b160e130b150b160b160b160b160b160b09180917160b0a17150c09180a170917160b0a170a170a160a17160b0aed150b160b160b160b150b160b160b160b160b160b0a170917160b0a17160b09180a170a17150b0a170a170a160a17160b0aec160b160b160b160a170a160b160b160c150b160b0a170917160b0a17160b09180a170a16170a0a170a170a170917160b0aed160a160b160b160b160a170a160b160c150b160b0a170918150b0a17160b0a170a170a17160b09170a170a170a16160b0aec1a07170a160b160b160b150b160c150c160b150b0a170a17150c0917160b0a170a170a17160b09170a170a170a16170a0aed160a170a160b160b160b160a160b160c160b150c09170a17150c0917160b0a170a170a17160b09170a170a170a17160a0aed160b160a160b160b160b160b150b160c150c150c09170a17160b0917160b0a1809170a17160b0a160a170a170a17160b09ed160a170a160b160b160b160b150c150c160b150b0a170a17160b0918150b0a1809170a17160b0a1709170a170a17160b09ed160b160a170a170a160b160b160b150c160b150c09170a17160b0918150b0a1809170a17160b0a1709170a170a17160b09ed160b160b160a160b160b160b160b150c160b160b09180917160b0a17150b0a1809180917160b0a170a1709170a17160b09ed160b160b160a170a160b160b160b160b160b160b09180917160b0a17160b091909170917160b0a17091809170a17160b0aec160b160b160b160a160b160b160b160b160b160b09180917160b0a17160b09180a170917160b0a170a1709170a17160b0aec160b160b160b160a170a160b160b160b160b160b09180917160b0a17160b09180a170918150b0a170a170a170917160b0aec160b160b160b160b160a160b160b160c150b160b0a170918150b0a17160b0a170a170a17160b09170a170a170a16160b0aec170a170a160b160b160a160b160b160c150b160b0a170a17150b0a17160b0a170a170a17160b09170a170a170a16170a0aed160b160a160b160b160b160b160a160c150c150c09170a17160b0917160b0a1809170a17160b0a1709170a170a17160b09ed160b160a170a160b160b160b160b150c160b160b09170a17160b0a17160b09180a170917160b0a170a1709170a17160b0aec160b160b160b160a170a160b160b160b160b160b09180917160b0a17160b09180a170918160a0a170a170a170a16160b0aec170a160b160b160b160a160b160b160b160b160b0a170918150b0a17160b09180a170a17150b0a170a170a170917160b0aed160a160b160b160b160a170a160b160c150c150b0a170a17150b0a17160b0a170a170a17160b09170a170a170a17150b0aed160b160a160b160b160b160b160a160c160b150b0a170a17160b0917160b0a1809170a17160b09170a170a170a17160b09ed160b160a170a160b160b160b150c150c160b150c09170a17160b0918150b0a1809170a17160b0a170a160a170a17160b09ed160b160b160a170a160b160b160b150c160b160b09180917160b0a17160b09180a170917160b0a170a1709180917160b0aec170a160b160b160b150b160b160b160b160b160b0a170918150b0a17160c09170a170a17150c09170a17000000000000"
}
}
]
},
{
"platform": "melcloud2",
"name": "melcloud2",
"language": "0",
"username": "USERNAME",
"password": "PASSWORD"
}
]
}
Environment
- OS: Homebridge Docker Container
- Software: VMWARE Pro
- Node: 14.17.3
- npm: 6.14.13
Process Supervisor
Docker (Mention image name in Additional Context
)
Additional Context
No response
Issue Analytics
- State:
- Created 2 years ago
- Comments:11 (2 by maintainers)
The argument then becomes “Oh, your whole Homebridge is crashing because you didn’t use child bridges? Sorry, that’s on you”. You shouldn’t have to operate the software in a specific way to prevent fatal crashes, or if it’s somehow necessary to do so, that should be the default way. Since I’ve been trying to fix some bugs in plugins recently, I redid everything last night on its own bridge. Now I have to go through and redo all of my automations, scenes, etc.
Yes even if a plug in doesn’t have good error handling no individual plug in should cause Homebridge such a catastrophic failure that it needs to shut down, since we’re all relying on 3rd party plug ins the core of Homebridge needs to survive one of those being poorly written