Closed fjs21 closed 3 years ago
This is a different issue. So I moved it here. I don't think this is easy to debug as the error is triggered by this line:
import base64 from 'base-64';
So it looks like a problem with your install or os specific? Might need help from others for this one. What is homebridge running on?
Okay thanks for the response. I'm running a new install on a Raspberry Pi which includes the Homebridge Config UI X. I should mention that I only get the above errors when this plugin is installed. If I remove the kumo plugin, my log doesn't have these messages. I'll look around to see if I have made some install errors.
Can you try setting the "Connect directly to devices?" to false (unticked)? Restart homebridge.
Using the kumo cloud connection will avoid the use of 'base-64' and you might be able to avoid the bug. Check your log, hopefully you won't have any more unhandled promise rejections (i.e. errors).
I still don't understand why you are getting this error but this might be a viable workaround.
Great- I turned off the connect directly to device option, and I can now see the devices in HomeKit, but they are still not showing the correct temperature. HomeApp displays Upstairs: 58, and downstairs:57. Here is that same portion of my log.
10/7/2020, 14:48:56] [Kumo] Initializing Kumo platform... [10/7/2020, 14:48:56] [Kumo] Finished initializing platform: undefined [10/7/2020, 14:48:56] [Kumo] Loading accessory from cache: Downstairs [10/7/2020, 14:48:56] [Kumo] Loading accessory from cache: Upstairs [10/7/2020, 14:48:56] [Kumo] Executed didFinishLaunching callback NOTICE: Temperature Unit is Now: (F) NOTICE: Updating Global Values | HubIP: 192.168.1.176 | UseLocal: false [10/7/2020, 14:48:57] [Kumo] [ { device: null, token: ‘[xxxx]', username: ‘[xxxx]' }, { filterReminder: true, lastUpdate: 1482878764216, sendAnalytics: 1 }, { children: [ { '$$hashKey': 'object:110', children: [], id: '1482878764218-765819019', label: 'Music Hall', lastScheduleChange: 1600922310155, lastUpdate: 1484240658683, level: 2, network: { name: 'Durebroek', password: '' }, program: { deactivated: null, events: [ [Object], [Object] ], timeZone: 'America/New_York' }, reportedCondition: { more: {}, operation_mode: 3, power: 1, set_temp: 16, sp_cool: 11.5, sp_heat: 10 }, zoneTable: { '1605070040': { '$$hashKey': 'object:155', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.50', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Downstairs', lastUpdate: 1601496218936, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:94:51', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T15:02:52.256Z', serial: '1605070040', systemChangeoverSettings: [Object], timezone: 'America/New_York' }, '1606300072': { '$$hashKey': 'object:156', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.180', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Upstairs', lastUpdate: 1601496218937, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:7c:a0', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T10:24:39.871Z', serial: '1606300072', systemChangeoverSettings: [Object], timezone: 'America/New_York' } } } ], id: '1482878764206-2401448951', label: 'Home', lastScheduleChange: 0, lastUpdate: 1602182937108, level: 1, version: 1582, zoneTable: {} }, 'no device token' ] [10/7/2020, 14:48:57] [Kumo] Kumo API: Successfully connected to the Kumo API. [10/7/2020, 14:48:57] [Kumo] Parsing child: [ { '$$hashKey': 'object:110', children: [], id: '1482878764218-765819019', label: 'Music Hall', lastScheduleChange: 1600922310155, lastUpdate: 1484240658683, level: 2, network: { name: 'Durebroek', password: '' }, program: { deactivated: null, events: [ [Object], [Object] ], timeZone: 'America/New_York' }, reportedCondition: { more: {}, operation_mode: 3, power: 1, set_temp: 16, sp_cool: 11.5, sp_heat: 10 }, zoneTable: { '1605070040': { '$$hashKey': 'object:155', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.50', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Downstairs', lastUpdate: 1601496218936, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:94:51', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T15:02:52.256Z', serial: '1605070040', systemChangeoverSettings: [Object], timezone: 'America/New_York' }, '1606300072': { '$$hashKey': 'object:156', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.180', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Upstairs', lastUpdate: 1601496218937, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:7c:a0', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T10:24:39.871Z', serial: '1606300072', systemChangeoverSettings: [Object], timezone: 'America/New_York' } } } ] [10/7/2020, 14:48:57] [Kumo] Serial: 1605070040 [10/7/2020, 14:48:57] [Kumo] Label: Downstairs [10/7/2020, 14:48:57] [Kumo] Serial: 1606300072 [10/7/2020, 14:48:57] [Kumo] Label: Upstairs [10/7/2020, 14:48:57] [Kumo] Parsing child: [] [10/7/2020, 14:48:57] [Kumo] Number of devices found: 2 [10/7/2020, 14:48:57] [Kumo] Token: 071a07f085aed26a9a47ee8e928058b4 [10/7/2020, 14:48:57] [Kumo] Restoring existing accessory from cache: Downstairs [10/7/2020, 14:48:57] [Kumo] Restoring existing accessory from cache: Upstairs INFO: SmartThings-v2 Hub Communication Established [10/7/2020, 14:48:57] [Kumo] queryDevice success. [10/7/2020, 14:48:57] [Kumo] queryDevice success.
On Oct 7, 2020, at 2:47 PM, Fraser Sim notifications@github.com wrote:
Can you try setting the "Connect directly to devices?" to false (unticked)? Restart homebridge.
Using the kumo cloud connection will avoid the use of 'base-64' and you might be able to avoid the bug. Check your log, hopefully you won't have any more unhandled promise rejections (i.e. errors).
I still don't understand why you are getting this error but this might be a viable workaround.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fjs21/homebridge-kumo/issues/9#issuecomment-705126144, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIDOGVJIK5C5LYBORC7N2M3SJSZV7ANCNFSM4R3A3OKQ.
Try v1.2.6 which provides some additional debugging at the "queryDevice" stage.
Can you post the results of that?
Yes. Thanks - here are those results - there seem to be 2 temperature readings in here, one room_temp: 13.5, and the other room_temp_a: 21.5. It’s this second one that seems correct. (I have no idea what that first one refers to?)
Also, one thing I noticed while looking around on the Mitsubishi site- there are two PAC internet adapters, and I might have an older one than the one currently being sold.
-Curtis
[10/7/2020, 15:58:15] [Kumo] Initializing Kumo platform... [10/7/2020, 15:58:15] [Kumo] Finished initializing platform: undefined [10/7/2020, 15:58:15] Loading 1 accessories... [10/7/2020, 15:58:15] [Nearby] Initializing DummySwitch accessory... [10/7/2020, 15:58:15] [Kumo] Loading accessory from cache: Downstairs [10/7/2020, 15:58:15] [Kumo] Loading accessory from cache: Upstairs GOOD: Refreshing All Device Data | Source: (First Launch) [10/7/2020, 15:58:15] [Kumo] Executed didFinishLaunching callback [10/7/2020, 15:58:17] [Kumo] [ { device: null, token: ‘[xxxx]', username: ‘[xxxx]' }, { filterReminder: true, lastUpdate: 1482878764216, sendAnalytics: 1 }, { children: [ { '$$hashKey': 'object:110', children: [], id: '1482878764218-765819019', label: 'Music Hall', lastScheduleChange: 1600922310155, lastUpdate: 1484240658683, level: 2, network: { name: ‘[xxxx]', password: '' }, program: { deactivated: null, events: [ [Object], [Object] ], timeZone: 'America/New_York' }, reportedCondition: { more: {}, operation_mode: 3, power: 1, set_temp: 16, sp_cool: 11.5, sp_heat: 10 }, zoneTable: { '1605070040': { '$$hashKey': 'object:155', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.50', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Downstairs', lastUpdate: 1602096592138, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:94:51', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T15:02:52.256Z', serial: '1605070040', systemChangeoverSettings: [Object], timezone: 'America/New_York' }, '1606300072': { '$$hashKey': 'object:156', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.180', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Upstairs', lastUpdate: 1602096592142, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:7c:a0', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T10:24:39.871Z', serial: '1606300072', systemChangeoverSettings: [Object], timezone: 'America/New_York' } } } ], id: '1482878764206-2401448951', label: 'Home', lastScheduleChange: 0, lastUpdate: 1602187097434, level: 1, version: 1583, zoneTable: {} }, 'no device token' ] [10/7/2020, 15:58:17] [Kumo] Kumo API: Successfully connected to the Kumo API. [10/7/2020, 15:58:17] [Kumo] Parsing child: [ { '$$hashKey': 'object:110', children: [], id: '1482878764218-765819019', label: 'Music Hall', lastScheduleChange: 1600922310155, lastUpdate: 1484240658683, level: 2, network: { name: 'Durebroek', password: '' }, program: { deactivated: null, events: [ [Object], [Object] ], timeZone: 'America/New_York' }, reportedCondition: { more: {}, operation_mode: 3, power: 1, set_temp: 16, sp_cool: 11.5, sp_heat: 10 }, zoneTable: { '1605070040': { '$$hashKey': 'object:155', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.50', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Downstairs', lastUpdate: 1602096592138, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:94:51', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T15:02:52.256Z', serial: '1605070040', systemChangeoverSettings: [Object], timezone: 'America/New_York' }, '1606300072': { '$$hashKey': 'object:156', _isRespondingLocally: null, _requestRescan: 0, address: '192.168.1.180', desiredConditionStack: [], eqcStageThreeBacksupChannels: [Object], eqcUpdatedLocally: [Object], equipmentControllerSettings: {}, errorHandler: [Object], forceCloudUpdates: false, hasElectricHeatingOption: false, holdChanged: 0, label: 'Upstairs', lastUpdate: 1602096592142, ledDisabled: false, localAdapterStatus: 'NORMAL', mac: '00:1d:c9:99:7c:a0', mhk2Settings: [Object], optimalStart: false, overrideSettings: {}, port: 80, profileCodeFrames: [Array], programEventSettings: [Object], prohibits: [Object], prohibitsChanged: 0, reportedCondition: [Object], rssi: {}, sendDesiredConditionsPending: false, sendDesiredConditionsTime: '2020-09-20T10:24:39.871Z', serial: '1606300072', systemChangeoverSettings: [Object], timezone: 'America/New_York' } } } ] [10/7/2020, 15:58:17] [Kumo] Serial: 1605070040 [10/7/2020, 15:58:17] [Kumo] Label: Downstairs [10/7/2020, 15:58:17] [Kumo] Serial: 1606300072 [10/7/2020, 15:58:17] [Kumo] Label: Upstairs [10/7/2020, 15:58:17] [Kumo] Parsing child: [] [10/7/2020, 15:58:17] [Kumo] Number of devices found: 2 [10/7/2020, 15:58:17] [Kumo] Token: e892d9b40eb998673a24624e2bfc0b62 [10/7/2020, 15:58:17] [Kumo] Restoring existing accessory from cache: Downstairs [10/7/2020, 15:58:17] [Kumo] Restoring existing accessory from cache: Upstairs [10/7/2020, 15:58:17] [Kumo] Kumo response: [ true, null, [ [ { active_thermistor: null, actual_fan_speed: 2, air_direction: 0, device_serial: '1606300072', fan_speed: 0, id: '2251817071309437', it_status: 'NORMAL', operation_mode: 7, out_of_use: 0, power: 1, prohibit_local_remote_control: 0, raw_frames: 'fc62013010020000010709000000000cac0000000092 fc620130100300000d00a4afaffe000000000000004d fc6201301004000000800000000000000000000000d9 fc620130100900000002000000000000000000000052', record_time: '2020-10-07T19:57:43.996Z', room_temp: 14.5, room_temp_a: 23.5, room_temp_beyond: null, rssi: -55, run_test: null, seconds_since_contact: 34, set_temp: 22, set_temp_a: 22, sp_auto: null, sp_cool: null, sp_heat: null, status_display: 0, temp_source: null, two_figures_code: 'A0', unusual_figures: 32768 } ], [] ] ] [10/7/2020, 15:58:17] [Kumo] queryDevice success. [10/7/2020, 15:58:18] [Kumo] Kumo response: [ true, null, [ [ { active_thermistor: null, actual_fan_speed: 0, air_direction: 0, device_serial: '1605070040', fan_speed: 0, id: '2253861514273335', it_status: 'NORMAL', operation_mode: 9, out_of_use: 0, power: 0, prohibit_local_remote_control: 0, raw_frames: 'fc620130100200000009190000000003ad0000000089 fc620130100300000b00a4ababfe0000000000000057 fc6201301004000000800000000000000000000000d9 fc620130100900000000000000000000000000000054', record_time: '2020-10-07T19:57:25.102Z', room_temp: 13.5, room_temp_a: 21.5, room_temp_beyond: null, rssi: -52, run_test: null, seconds_since_contact: 53, set_temp: 22.5, set_temp_a: 22.5, sp_auto: null, sp_cool: null, sp_heat: null, status_display: 0, temp_source: null, two_figures_code: 'A0', unusual_figures: 32768 } ], [] ] ] [10/7/2020, 15:58:18] [Kumo] queryDevice success. NOTICE: Temperature Unit is Now: (F) NOTICE: Updating Global Values | HubIP: 192.168.1.176 | UseLocal: false WARN: Devices to Remove: (0) [] INFO: Devices to Update: (3) GOOD: Devices to Create: (0) [] ALERT: Total Initialization Time: (6 seconds) NOTICE: Unknown Capabilities: []
On Oct 7, 2020, at 3:52 PM, Fraser Sim notifications@github.com wrote:
Try v1.2.6 which provides some additional debugging at the "queryDevice" stage.
Can you post the results of that?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fjs21/homebridge-kumo/issues/9#issuecomment-705158497, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIDOGVNZF5Y5SH3V2S723ALSJTBJXANCNFSM4R3A3OKQ.
This is definitely a different response than currently expected by the plugin but perhaps we can work it out.
Currently the plugin uses the following from this:
looks like one device is on 7 "fan" and the other is 9 (which I don't know)
perhaps set_temp: 22.5, set_temp_a: 22.5 are the right variables for the temperature setpoint?
room_temp (room temperature) = seems to be outside? instead we can definitely use room_temp_a if it is accurate
power = off (0) or on (1) - seems ok 👍
fan_speed auto: 0, superQuiet: 1, quiet: 2, low: 3, powerful: 5, superPowerful: 6
air_direction currently I look for '7' to indicate swing mode, and toggle between 7 and auto only. Other settings are not supported easily in Homebridge API.
Using the Kumo APP to set various settings (temp set points, heat, cool, off, etc) on your devices, can you see how those change the outputs that are being logged in Homebridge. You might have to wait a few seconds (up to 30 for the changes to propagate from the Kumo App to the cloud and back to homebridge, it is definitely a pain) That way we can work out how to support displaying the correct temperature, etc.
I'll probably have to code a new platformAccessory to support these devices.
Let me know what you find.
Great - let me dive in and see if I can get you some numbers. I am definitely seeing weird behavior IN HomeKit, which makes sense - as my numbers aren’t matching what the plugin is expecting to see.
(I.E. right now, my upstairs unit is set to heat mode, but HomeKit thinks it’s just on fan mode).
It might take me a bit, but I can at least try and dump some logs with some specific settings as a start.
I did some quick tests, here is some additional information:
My fan modes seem to match yours. (fan_speed - 6 (very high), 5 (high), 3 (medium), 2 (low), 1 (quiet), 0 (auto)) My modes do NOT match yours exactly. Here's what I'm getting: 11 - Cool 7 - fan 10-dehumidify 9 - heat 8- auto heat or cool
Power - 0 off, 1 on
Set_temp: appears to be correct set temp Set_temp_a: seems to match the set temp, not sure what the difference is
room_temp_a: seems to be the actual room temp room_temp: not sure? Thought it might be the outside temp (it's pretty close). Is there even a temp sensor in the condenser outside unit? But the temps don’t match between units (I have just one outdoor unit, so theoretically, those readings should be the same. Although they aren't far off.)
Haven't looked at air direction.
I'll try to do some more poking around.
Here is a copy of a log for reference to see how it compares to yours. I'm wondering how Kumo Cloud knows the difference between our products.
[10/9/2020, 13:34:49] [Kumo] Kumo response: [ true, null, [ [ { active_thermistor: null, actual_fan_speed: 3, air_direction: 0, device_serial: '1606300072', fan_speed: 0, id: '2251817071616631', it_status: 'NORMAL', operation_mode: 9, out_of_use: 0, power: 1, prohibit_local_remote_control: 0, raw_frames: 'fc62013010020000010907000000000cb0000000008e fc620130100300000e009eb0aefe0000000000000052 fc6201301004000000800000000000000000000000d9 fc620130100900000003000000000000000000000051', record_time: '2020-10-09T17:34:44.285Z', room_temp: 15, room_temp_a: 24, room_temp_beyond: null, rssi: -53, run_test: null, seconds_since_contact: 5, set_temp: 24, set_temp_a: 24, sp_auto: null, sp_cool: null, sp_heat: null, status_display: 0, temp_source: null, two_figures_code: 'A0', unusual_figures: 32768 } ], [] ] ]
Hi, I've tried to write a new accessory for your schema. I doubt it will work first time as I can't troubleshoot myself. If you want to try it can you see if you can install the beta (homebridge-kumo@1.2.9-beta.0).
sudo npm install -g homebridge-kumo@beta
You should see:
'Initializing "%s" as generic (unspecified) unit.'
On startup and you should see a Thermostat in the Home App (rather than a HeaterCooler). Hopefully, the correct temperature and target temperatures are shown. I did try adding your modes as well so it might correctly set heat/cool/auto. Let me know.
I think I will close this issue for now as I can't verify the new code is working. I will revert to the previous version on the main branch to avoid introducing any bugs. Will be happy to revisit in the future.
I think I'm having a similar issue here. In trying to debug my other temperature issue ( #6 ) - I'm finding I'm getting the same types of errors:
(node:20849) UnhandledPromiseRejectionWarning: InvalidCharacterError: at /usr/local/lib/node_modules/homebridge-kumo/node_modules/base-64/base64.js:23:36 at Object. (/usr/local/lib/node_modules/homebridge-kumo/node_modules/base-64/base64.js:165:2)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Module.require (internal/modules/cjs/loader.js:1019:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object. (/usr/local/lib/node_modules/homebridge-kumo/src/kumo-api.ts:6:1)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
(node:20849) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag (/usr/local/lib/node_modules/homebridge-kumo/node_modules/base-64/base64.js:165:2)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
at Module.load (internal/modules/cjs/loader.js:977:32)
at Function.Module._load (internal/modules/cjs/loader.js:877:14)
at Module.require (internal/modules/cjs/loader.js:1019:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object. (/usr/local/lib/node_modules/homebridge-kumo/src/kumo-api.ts:6:1)
at Module._compile (internal/modules/cjs/loader.js:1133:30)
--unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 39) (node:20849) UnhandledPromiseRejectionWarning: InvalidCharacterError: at /usr/local/lib/node_modules/homebridge-kumo/node_modules/base-64/base64.js:23:36 at Object.Originally posted by @GitHubRR1867 in https://github.com/fjs21/homebridge-kumo/issues/7#issuecomment-695797087