Git Product home page Git Product logo

homebridge-gsh's People

Contributors

dependabot[bot] avatar oznu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-gsh's Issues

"Link account" is absent

On version 0.0.2 of the plugin the "Links account" is absent in the plugin configuration window - only "Name" and "Token" fields are present

No Accesory listed from Google Assistant

Describe The Bug:

After the upgrade, no more accessories were displayed in Homebridge. I reinstall everything from scratch and seems the same - homebridge is not listing anything I see in gsh
To Reproduce:

fresh homebridge install
homebridge-gsh v1.4.1 then restart
link account - restart
no devices listed
Expected behavior:

Logs:

[5/15/2020, 9:34:46 AM] Homebridge is running on port 51608.
[5/15/2020, 9:34:46 AM] [Google Smart Home] Waiting 15 seconds before starting instance discovery...
[5/15/2020, 9:34:47 AM] [Google Smart Home] Connected (1) - wss://homebridge-gsh.iot.oz.nu
2020-05-15T08:35:01.265Z hapNodeJSClient Starting Homebridge instance discovery
2020-05-15T08:35:01.289Z hapNodeJSClient HAP Device discovered Homebridge DBB6 [ '172.16.20.12' ]
2020-05-15T08:35:01.304Z hapNodeJSClient HAP instance address: Homebridge DBB6 -> 0E_D8_AF_57_DB_B6.local -> 172.16.20.12:51608
2020-05-15T08:35:01.385Z hapNodeJSClient Homebridge instance discovered Homebridge DBB6 5297 with 1 accessories
2020-05-15T08:35:11.271Z hapNodeJSClient Ending Homebridge instance discovery
[5/15/2020, 9:35:11 AM] [Google Smart Home] Finished instance discovery
[5/15/2020, 9:35:26 AM] [Google Smart Home] Sending Sync Request
[5/15/2020, 9:35:27 AM] [Google Smart Home] Received SYNC intent
[5/15/2020, 9:35:27 AM] [Google Smart Home] {
"inputs": [
{
"intent": "action.devices.SYNC",
"requestId": "17143776239494410995"
}
],
"requestId": "17143776239494410995"
}
[5/15/2020, 9:35:27 AM] [Google Smart Home] []
[5/15/2020, 9:35:37 AM] [Google Smart Home] Sending full post-sync state report
[5/15/2020, 9:35:37 AM] [Google Smart Home] Sending full post-sync state report
2020-05-15T08:50:01.270Z hapNodeJSClient Starting Homebridge instance discovery
2020-05-15T08:50:01.278Z hapNodeJSClient HAP Device discovered Homebridge DBB6 [ '172.16.20.12' ]
2020-05-15T08:50:01.280Z hapNodeJSClient HAP instance address: Homebridge DBB6 -> 0E_D8_AF_57_DB_B6.local -> 172.16.20.12:51608
2020-05-15T08:50:01.310Z hapNodeJSClient Homebridge instance discovered Homebridge DBB6 5297 with 1 accessories
2020-05-15T08:50:11.273Z hapNodeJSClient Ending Homebridge instance discovery
2020-05-15T09:05:01.270Z hapNodeJSClient Starting Homebridge instance discovery
2020-05-15T09:05:01.275Z hapNodeJSClient HAP Device discovered Homebridge DBB6 [ '172.16.20.12' ]
2020-05-15T09:05:01.276Z hapNodeJSClient HAP instance address: Homebridge DBB6 -> 0E_D8_AF_57_DB_B6.local -> 172.16.20.12:51608

Show the Homebridge logs here.
Remove any sensitive information.

Homebridge Config:
"bridge": {
"name": "Homebridge DBB6",
"username": "0E:D8:AF:57:DB:B6",
"port": 51608,
"pin": "110-41-244"
},
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8585,
"auth": "form",
"theme": "auto",
"tempUnits": "c",
"lang": "auto",
"platform": "config"
},
{
"name": "Google Smart Home",
"token": "",
"notice": "Keep your token a secret!",
"debug": true,
"platform": "google-smarthome"
}
]
}

Show your homebridge config.json here.
Remove any sensitive information, such as your homebridge-gsh / google-smarthome token.

Screenshots:

Environment:

  • Node.js Version: v12.16.3
  • NPM Version: 6.14.5
  • Homebridge Version: 1.0.4
  • Homebridge GSH Plugin Version: 1.4.1
  • Homebridge Config UI X Plugin Version: 4.19.0
  • Operating System: Raspbian on RPI

Impossible to associate with Google Home

Dear Oznu,

Here is my issue. Hope you can help me.

On my android phone, I opened Google Home app.
Then I clicked on "Add Device", then "Set up device", then "gave something already setup", then I choose "Homebridge" then I log in with Google.
It answered : connexion then "Association of my account to Homebridge" then I went back to previous screen and nothing has been associated :(

Thank you in advance for your help.

Logs:

[07/01/2020, 13:02:55] Homebridge is running on port 51826.
[07/01/2020, 13:02:55] [Google Smart Home] Connected (1) - wss://homebridge-gsh.iot.oz.nu
[07/01/2020, 13:03:05] [Config] Homebridge Config UI X v4.6.7 is listening on :: port 8080
hapNodeJSClient Starting Homebridge instance discovery +0ms
hapNodeJSClient HAP Device discovered BSB002 [ 'fe80::217:88ff:fe40:9ab5', '192.168.1.11' ] +150ms
hapNodeJSClient HAP instance address: BSB002 -> Philips-hue.local -> 192.168.1.11:8080 +27ms
hapNodeJSClient HAP Discover failed BSB002 http://192.168.1.11:8080 error code 470 +91ms
hapNodeJSClient HAP Device discovered Healthy Home Coach [ '192.168.1.22', 'fe80::72ee:50ff:fe26:1390' ] +137ms
hapNodeJSClient HAP instance address: Healthy Home Coach -> Healthy Home Coach.local -> 192.168.1.22:5001 +1ms
hapNodeJSClient HAP Discover failed Healthy Home Coach http://192.168.1.22:5001 error code 470 +26ms
hapNodeJSClient HAP Device discovered Homebridge [ '192.168.1.75',
'2a01:cb1c:184:700:1ae4:40ec:f3db:96f1',
'fe80::e66a:d5bd:2844:426b' ] +2s
hapNodeJSClient HAP instance address: Homebridge -> CC_22_3D_E3_CE_21.local -> 192.168.1.75:51826 +1ms
hapNodeJSClient Homebridge instance discovered Homebridge-6279 with 5 accessories +45ms
hapNodeJSClient Ending Homebridge instance discovery +8s
[07/01/2020, 13:03:19] [Google Smart Home] Finished instance discovery
[07/01/2020, 13:03:34] [Google Smart Home] Sending Sync Request
[07/01/2020, 13:03:43] [Google Smart Home] Received SYNC intent
[07/01/2020, 13:03:43] [Google Smart Home] {
"inputs": [
{
"intent": "action.devices.SYNC",
"requestId": "4587449935825669676"
}
],
"requestId": "4587449935825669676"
}
[07/01/2020, 13:03:43] [Google Smart Home] []
[07/01/2020, 13:03:53] [Google Smart Home] Sending full post-sync state report

Homebridge Config:

{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:21",
"port": 51826,
"pin": "131-45-154"
},
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"sudo": true
},
{
"platform": "netatmo",
"name": "netatmo platform",
"ttl": 5,
"auth": {
"client_id": "XXXXXX",
"client_secret": "XXXXXXX",
"username": "[email protected]",
"password": "XXXXXX*"
}
},
{
"name": "Google Smart Home",
"token": XXXXXXXX",
"notice": "Keep your token a secret!",
"debug": true,
"platform": "google-smarthome"
}
],
"accessories": []
}

Screenshots:

drive-download-20200107T125539Z-001.zip

Environment:

  • Node.js Version: v10.15.2
  • NPM Version: 6.13.4
  • Homebridge Version: 0.4.50
  • Homebridge GSH Plugin Version: v1.1.3
  • Homebridge Config UI X Plugin Version: v4.6.7
  • Operating System: Debian on Raspberry Pi 3

Errors in hap.js

Describe The Bug:
When updating values through the updateCharacteristic on local thermostat+dehumidifier accessory, I see errors in logs. If I am performing the action through a scene, the whole scene application fails.

To Reproduce:
You need an accessory that exposes both thermostat and dehumidifier, then update some characteristic.

Expected behavior:
No error should be reported in logs

Logs:

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(). The promise rejected with the reason:
TypeError: Cannot read property 'characteristics' of undefined
    at Hap.<anonymous> (/usr/local/lib/node_modules/homebridge-gsh/src/hap.ts:452:38)
    at Generator.next (<anonymous>)
    at /usr/local/lib/node_modules/homebridge-gsh/dist/hap.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/usr/local/lib/node_modules/homebridge-gsh/dist/hap.js:4:12)
    at Hap.handleHapEvent (/usr/local/lib/node_modules/homebridge-gsh/dist/hap.js:360:16)
    at HAPNodeJSClient.<anonymous> (/usr/local/lib/node_modules/homebridge-gsh/src/hap.ts:140:12)
    at HAPNodeJSClient.emit (events.js:310:20)
    at HAPNodeJSClient.EventEmitter.emit (domain.js:482:12)
    at HAPNodeJSClient.<anonymous> (/usr/local/lib/node_modules/homebridge-gsh/node_modules/hap-node-client/HAPNodeJSClient.js:97:10)

Homebridge Config:

        {
            "name": "Google Smart Home",
            "token": "****",
            "notice": "Keep your token a secret!",
            "platform": "google-smarthome"
        }

Environment:

  • Node.js Version: 12.16.3
  • NPM Version: 6.14.7
  • Homebridge Version: 1.2.0-beta.35 and 1.1.2
  • Homebridge GSH Plugin Version: 1.6.0
  • Homebridge Config UI X Plugin Version: 4.26.0
  • Operating System: Raspbian

accessoryFilter Doesn't Work With Some Names

Describe The Bug:
When using some names in accessory filter, they still show up in Google Home.

To Reproduce:
Try to filter a name with a special character (such as '), for example "Max's Room Lamp".

Expected behavior:
Accessory does not show up in Google Home.

Homebridge Config:

        {
            "platform": "google-smarthome",
            "plugin_map": {
                "plugin_name": "homebridge-gsh"
            },
            "name": "Google Home",
            "notice": "Keep your token a secret!",
            "token": "",
            "accessoryFilter": [
                "Living Room Fairy Lights",
                "Living Room Lava Lamp",
                "Living Room Smart Kettle",
                "Max's Room Lava Lamp"
            ]
        },

Environment:

  • Node.js Version: v12.16.2
  • NPM Version: 6.14.4
  • Homebridge Version: v1.2.0
  • Homebridge GSH Plugin Version: 1.6.0
  • Homebridge Config UI X Plugin Version: N/A
  • Operating System: Docker

Doors and windows not displayed

Hello,

I am using homebridge with this plugin, so far Lights and Thermostats are visible in the google home app. I do have however several shutter contacts on my doors and windows. None of them is visible in the app.
When configuring them as "motorized windows" in homebridge, I can at least see them, but not any state. I have only a static icon without any chance of seeing weather the shutter contact is open or closed. Of course everything works as expected in homekit and also in homebridge-config-ui-x. There I can see the state of the doors and windows.
Also my door lock is only displayed with a gear icon, but cannot be used to open or close the lock from google.

any hints?

thank you and best

Homebriddge not showing up after account linked in google.

Describe Your Problem:
Hi

After installing, the raspberry pi configuration looks fine. I’ve done everything as in instructions. But when link homebridge at google it shows account linked then goes to smart home devices and that’s it no devices showed. I’ve try reinstall and linked account one more time.

Log

019-8-16 01:55:04] [Google Smart Home] Finished instance discovery
[2019-8-16 01:55:04] [Hue] Philips hue: bridge request 5: get /lights
[2019-8-16 01:55:04] [Hue] Philips hue: bridge communication error ESOCKETTIMEDOUT on 192...192
[2019-8-16 01:55:04] [homebridge-lib.Lib] warning: heartbeat 57, drift 7545
[2019-8-16 01:55:05] [homebridge-lib.Lib] warning: heartbeat 58, drift 7699
[2019-8-16 01:55:05] [homebridge-lib.Lib] warning: heartbeat 59, drift 6736
[2019-8-16 01:55:05] [homebridge-lib.Lib] warning: heartbeat 60, drift 5889
[2019-8-16 01:55:05] [homebridge-lib.Lib] warning: heartbeat 61, drift 4899
[2019-8-16 01:55:10] [homebridge-lib.Lib] warning: heartbeat 62, drift 8469
[2019-8-16 01:55:10] [homebridge-lib.Lib] warning: heartbeat 63, drift 7601
[2019-8-16 01:55:11] [homebridge-lib.Lib] warning: heartbeat 64, drift 7713
[2019-8-16 01:55:11] [homebridge-lib.Lib] warning: heartbeat 65, drift 6732
[2019-8-16 01:55:11] [homebridge-lib.Lib] warning: heartbeat 66, drift 5923
[2019-8-16 01:55:11] [homebridge-lib.Lib] warning: heartbeat 67, drift 4928
[2019-8-16 01:55:11] [homebridge-lib.Lib] warning: heartbeat 68, drift 3933
[2019-8-16 01:55:11] [homebridge-lib.Lib] warning: heartbeat 69, drift 2938
[2019-8-16 01:55:13] [homebridge-lib.Lib] warning: heartbeat 70, drift 3198
[2019-8-16 01:55:13] [homebridge-lib.Lib] warning: heartbeat 71, drift 2208
[2019-8-16 01:55:16] [homebridge-lib.Lib] warning: heartbeat 72, drift 4966
[2019-8-16 01:55:17] [homebridge-lib.Lib] warning: heartbeat 73, drift 4093
[2019-8-16 01:55:17] [homebridge-lib.Lib] warning: heartbeat 74, drift 3099
[2019-8-16 01:55:18] [homebridge-lib.Lib] warning: heartbeat 75, drift 3067
[2019-8-16 01:55:18] [homebridge-lib.Lib] warning: heartbeat 76, drift 2087
[2019-8-16 01:55:18] [homebridge-lib.Lib] warning: heartbeat 77, drift 1191
[2019-8-16 01:55:18] [homebridge-lib.Lib] warning: heartbeat 78, drift 292
[2019-8-16 01:55:19] [Google Smart Home] Sending Sync Request
[2019-8-16 01:55:21] [Google Smart Home] Received SYNC intent
[2019-8-16 01:55:21] [Google Smart Home] Received SYNC intent
[2019-8-16 01:55:23] [homebridge-lib.Lib] warning: heartbeat 83, drift 258
[2019-8-16 01:55:24] [Google Smart Home] Received SYNC inte

Environment:

  • Node.js Version:
  • NPM Version:
  • Homebridge Version:
  • Homebridge GSM Plugin Version: 1.0.2
  • Homebridge Config UI X Plugin Version: 4.6.0
  • Operating System: <!-- Raspbian

Install issue

Hi i tryed install it, but display this error:

npm ERR! Linux 4.19.58-v7+
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "homebridge-gsh"
npm ERR! node v10.15.2
npm ERR! npm v3.10.10
npm ERR! path /usr/lib/node_modules/.staging/@oznu/ws-connect-f59aab56
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename

npm ERR! enoent ENOENT: no such file or directory, rename '/usr/lib/node_modules/.staging/@oznu/ws-connect-f59aab56' -> '/usr/lib/node_modules/homebridge-gsh/node_modules/@oznu/ws-connect'
npm ERR! enoent ENOENT: no such file or directory, rename '/usr/lib/node_modules/.staging/@oznu/ws-connect-f59aab56' -> '/usr/lib/node_modules/homebridge-gsh/node_modules/@oznu/ws-connect'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR! /home/pi/npm-debug.log
npm ERR! code 1
pi@raspberrypi:~ $ sudo npm install -g homebridge-gsh
/usr/lib
└── (empty)

npm ERR! Linux 4.19.58-v7+
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "homebridge-gsh"
npm ERR! node v10.15.2
npm ERR! npm v3.10.10
npm ERR! path /usr/lib/node_modules/.staging/@oznu/ws-connect-f59aab56
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename

npm ERR! enoent ENOENT: no such file or directory, rename '/usr/lib/node_modules/.staging/@oznu/ws-connect-f59aab56' -> '/usr/lib/node_modules/homebridge-gsh/node_modules/@oznu/ws-connect'
npm ERR! enoent ENOENT: no such file or directory, rename '/usr/lib/node_modules/.staging/@oznu/ws-connect-f59aab56' -> '/usr/lib/node_modules/homebridge-gsh/node_modules/@oznu/ws-connect'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR! /home/pi/npm-debug.log
npm ERR! code 1

Cannot get switch state in Google Home App

I use this plugin with HOOBS, and installed it correctly like how the installation process mentioned, but when I go into the Google Home App on my phone and press of the appliance that I have which runs on the Broadlink RM Mini 3, my HOOBS crashes.

To Reproduce:
Go into the Google Home app, press on one of the accessory that is controlled by a Broadlink RM Mini 3, check hoobs.local for log and status.

Expected behavior:
I can see whether the accessory is on or off.

Logs:

[Google Smart Home] Received QUERY intent
30/05/2020, 18:54:22 TypeError: log is not a function
    at Name.getName (/home/hoobs/.hoobs/node_modules/homebridge-platform-helper/dist/serviceManager.js:69:9)
    at Name.emit (events.js:223:5)
    at Name.EventEmitter.emit (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/EventEmitter.js:59:38)
    at Name.Characteristic._this.getValue (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/Characteristic.js:190:23)
    at /usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/Accessory.js:753:32
    at Array.forEach (<anonymous>:null:null)
    at Bridge.Accessory._this._handleGetCharacteristics (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/Accessory.js:694:18)
    at HAPServer.emit (events.js:223:5)
    at HAPServer.EventEmitter.emit (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/EventEmitter.js:59:38)
    at HAPServer._this._handleCharacteristics (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/HAPServer.js:664:23)
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/@hoobs/hoobs/node_modules/hap-nodejs/dist/lib/HAPServer.js:227:39)
    at IncomingMessage.emit (events.js:223:5)
    at endReadableNT (_stream_readable.js:1185:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
30/05/2020, 18:54:22 Got SIGTERM, shutting down Bridge...
30/05/2020, 18:54:22 (node:29250) UnhandledPromiseRejectionWarning: Error: socket hang up
30/05/2020, 18:54:22 at connResetException (internal/errors.js:570:14)
30/05/2020, 18:54:22 at Socket.socketOnEnd (_http_client.js:440:23)
30/05/2020, 18:54:22 at Socket.emit (events.js:228:7)
30/05/2020, 18:54:22 at endReadableNT (_stream_readable.js:1185:12)
30/05/2020, 18:54:22 at processTicksAndRejections (internal/process/task_queues.js:81:21)
30/05/2020, 18:54:22 (node:29250) 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(). (rejection id: 1)
30/05/2020, 18:54:22 (node:29250) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
30/05/2020, 18:54:41 [Refresh Services] connect ECONNREFUSED 127.0.0.1:51826
30/05/2020, 18:54:41 [Refresh Services] connect ECONNREFUSED 127.0.0.1:51826
30/05/2020, 18:54:41 [Refresh Services] connect ECONNREFUSED 127.0.0.1:51826
30/05/2020, 18:54:41 [Refresh Services] connect ECONNREFUSED 127.0.0.1:51826
30/05/2020, 18:54:41 [Refresh Services] connect ECONNREFUSED 127.0.0.1:51826
30/05/2020, 18:54:41 [Refresh Services] connect ECONNREFUSED 127.0.0.1:51826
30/05/2020, 18:54:41 [Refresh Services] connect ECONNREFUSED 127.0.0.1:51826

Homebridge Config:

{
"platform": "google-smarthome",
"plugin_map": {
"plugin_name": "homebridge-gsh"
},
"name": "Google Smart Home",
"notice": "Keep your token a secret!",
"token": "meowmeow",
"debug": false,
"instanceBlacklist": [],
"accessoryFilter": []
}

Environment:

  • Node.js Version: 12.14.1
  • NPM Version:
  • HOOBS Version: 3.2.6
  • Homebridge GSH Plugin Version:
  • Homebridge Config UI X Plugin Version:
  • Operating System: HOOBS

Security System

Hi.

Any chance of adding support for Security System device type?
It is already a device present in Google Smart Home and behaves a little different from switches because it asks for confirmation on certain sensible actions.

Thanks.

Support for TVs

Any chance of exposing homebridge TVs to google assistant?

Thanks

Unable to get and set Heating Threshold Temperature of Heater Cooler

Describe The Bug:
I'm unable to get and set the Heating Threshold Temperature of a heater cooler exposed to Homekit through Homebridge using the plugin homebridge-millheat.

To Reproduce:
When opening the device in Google Smart Home the heating threshold temperature is not shown. When trying to set the threshold temperature, an error is thrown (see error below).

Expected behavior:
Heating threshold tempereature should be able to get and set.

Logs:
[6/28/2020, 9:54:28 AM] [Google Smart Home] Received EXECUTE intent
(node:12488) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'iid' of undefined
at HeaterCooler.execute (/homebridge/node_modules/homebridge-gsh/src/types/heater-cooler.ts:130:108)
at Hap. (/homebridge/node_modules/homebridge-gsh/src/hap.ts:225:73)
at Generator.next ()
at /homebridge/node_modules/homebridge-gsh/dist/hap.js:8:71
at new Promise ()
at __awaiter (/homebridge/node_modules/homebridge-gsh/dist/hap.js:4:12)
at Hap.execute (/homebridge/node_modules/homebridge-gsh/dist/hap.js:163:16)
at Plugin. (/homebridge/node_modules/homebridge-gsh/src/main.ts:130:37)
at Generator.next ()
at /homebridge/node_modules/homebridge-gsh/dist/main.js:8:71
(node:12488) 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 --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 44)

Homebridge Config:

{
"bridge": {
"name": "Homebridge Google Smart Home",
"username": "",
"port": ,
"pin": "
"
},
"description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8097,
"auth": "none",
"theme": "red",
"tempUnits": "c",
"sudo": false,
"log": {
"method": "file",
"path": "/homebridge/logs/homebridge.log"
},
"platform": "config"
},
{
"name": "Google Smart Home",
"platform": "google-smarthome",
"token": "
",
"accessoryFilter": [
"Cleaning Room Thermostat",
"Downstairs Bathroom Thermostat",
"Downstairs Hall Thermostat",
"Guest Bathroom Thermostat",
"Living Room Thermostat",
"Master Bathroom Thermostat",
"Storage Room Thermostat",
"Technical Room Thermostat",
"Cleaning Room Spots",
"Dinner Table Downlights",
"Downstairs Bathroom Downlights",
"Downstairs Bathroom Mirror",
"Downstairs Hall Downlights",
"Guest Bathroom Downlights",
"Guest Bathroom Mirror",
"Guest Room Downlights",
"Hennys Downlights",
"Ingeborgs Downlights",
"Kitchen Bench",
"Kitchen Downlights",
"Loft Downlights",
"Master Bathroom Downlights",
"Master Bathroom Mirror",
"Master Bedroom Downlights",
"Storage Room Spots",
"Technical Room Spots",
"TV Downlights",
"Upstairs Hall Downlights",
"Terrace Door",
"Terrace Window",
"Master Bedroom Blind",
"Guest Room Big Window Blind",
"Guest Room Small Window Blind"
],
"notice": "Keep your token a secret!"
}
]
}

Screenshots:
N/A

Environment:

  • Node.js Version: 12.18.1
  • NPM Version: 6.14.5
  • Homebridge Version: 1.1.1
  • Homebridge GSH Plugin Version: 1.5.0
  • Homebridge Config UI X Plugin Version: 4.23.0
  • Operating System: Docker

Allow multiple instances to connect to GSH

Is your feature request related to a problem? Please describe:
Yes, i currently run three Homebridge Instances ie. Ground Floor, Level 1 and Level 2. I really would like to use GSH on all of my accessories.

Describe the solution you'd like:
I would like a modification of the script to be able to achieve simultaneous connection to google for multiple instances of homebridge.

Describe alternatives you've considered:
This is currently not a problem with both Siri and Alexa.

Any chance for camera support as well?

Specifically hoping to share homebridge cameras with GSH as well. And not sure if contact/motion sensors are supported with the latest versions of Google Home either.

Sent with GitHawk

Device <Name of Device> is not ready. [Question]

Hi there!
Just stumbled over this nice homebridge addon and got it set up so far,

However when im turning on my Lamps (which I've integrated using Zigbee2MQTT), Google tells me the Lamp isn't ready but turns it on regardless. Any idea on whats the cause of it?

Multi-Instance Support

I am running two instances of HomeBridge on my server.

Would be nice to force homebridge-gsh to only look at the one running instance (Bind to specific port).

I receive errors because it's trying to access my other instance.

[12/20/2019, 4:26:34 AM] [Google Smart Home] Error: Homebridge auth failed, invalid PIN [_Pin from second Instance_]
    at HAPNodeJSClient. (C:\HomeBridge\node_modules\homebridge-gsh\node_modules\hap-node-client\HAPNodeJSClient.js:277:18)
    at eventedHttpClient.f [as callback] (C:\HomeBridge\node_modules\homebridge-gsh\node_modules\once\once.js:25:25)
    at Socket. (C:\HomeBridge\node_modules\homebridge-gsh\node_modules\hap-node-client\lib\eventedHttpClient.js:71:16)
    at Socket.emit (events.js:305:20)
    at addChunk (_stream_readable.js:341:12)
    at readableAddChunk (_stream_readable.js:316:11)
    at Socket.Readable.push (_stream_readable.js:250:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:186:23)

Unable to add additional Homebridge Action devices

Describe The Bug:

Homebridge does not appear when setting up a device in the Google Home app. Tapping the existing Homebridge item and selecting "Check for new devices" results in a "Homebridge is linked" message followed by a "Something went wrong. Try again" message. I have unlinked and linked the the account but the result is the same.

To Reproduce:

  1. Set up device
  2. Select "Have something already set up?"
  3. Search for "Homebridge"

Expected behavior:

Homebridge to appear when searching or "Check for new devices" to work without an error.

Logs:

[2/17/2020, 18:42:19] [Google Smart Home] Initializing google-smarthome platform...
[2/17/2020, 18:42:21] [Google Smart Home] Connected (1) - wss://homebridge-gsh.iot.oz.nu
[2/17/2020, 18:42:45] [Google Smart Home] Finished instance discovery
[2/17/2020, 18:43:00] [Google Smart Home] Sending Sync Request

Homebridge Config:

{
            "name": "Google Smart Home",
            "token": "",
            "notice": "Keep your token a secret!",
            "platform": "google-smarthome"
}

Screenshots:

IMG_6702

Environment:

  • Node.js Version: 12.15.0
  • NPM Version: 6.13.7
  • Homebridge Version: 0.4.50
  • Homebridge GSH Plugin Version: 1.1.4
  • Homebridge Config UI X Plugin Version: 4.10.1
  • Operating System: Raspbian Buster Lite (2020-02-05)

plugin goes down sometimes

Hi,
sometime in a day if I ask google to operate on the homebridge plugin, sometime it answer "sorry homebridge is not responding". So I check on the homekit app and homebridge is on and working. Do you have any suggestion?
Second question, is it possible to link a second account on the plugin? This because if a second voice ask to do some action the ACL block it.

Thanks in advance

Map rotation speed characteristic for fan service

Is your feature request related to a problem? Please describe:
Fan services in Homekit are only exposed with an option to turn on/off in Google Smart Home.

Describe the solution you'd like:
Map characterstic rotation speed as well.

Describe alternatives you've considered:
Obviously other charactertics would be welcome as well.

Fan accessories not showing up

Describe The Bug:
All fan accessories from the plugin homebridge-broadlink-rm and homebridge-mi-fan do not show up in the Google Home App (I use iOS). They show up as unsupported devices in the Homebridge Config UI X accessories tab. I have a fake fan from the homebridge-marantz-volume plugin which however shows up with an on/off button.
To Reproduce:

Expected behavior:

Logs:

Show the Homebridge logs here.
Remove any sensitive information.

Homebridge Config:

Show your homebridge config.json here.
Remove any sensitive information, such as your homebridge-gsm / google-smarthome token.

Screenshots:

Environment:

  • Node.js Version:
  • NPM Version:
  • Homebridge Version:
  • Homebridge GSM Plugin Version:
  • Homebridge Config UI X Plugin Version:
  • Operating System:

Google home lost its connection with Homebridge

Describe The Bug:
Google home lost its connection with homebridge every day. I must restart homebridge to fix the issue but after a while, it happens again.

To Reproduce:
Wait a few times. After a while, Google's assistant will answer you that it can connect with homebridge.

Expected behavior:
No lost of connection

Logs:

2020-05-21T13:14:54.985Z hapNodeJSClient HAP instance address: Homebridge 3A33 -> 0E_D8_65_B2_68_85.local -> 192.168.0.47:51645
2020-05-21T13:14:55.020Z hapNodeJSClient Homebridge instance discovered Homebridge 3A33 B05F with 8 accessories
2020-05-21T13:15:04.981Z hapNodeJSClient Ending Homebridge instance discovery
[5/21/2020, 3:24:37 PM] [Domoticz] synchronizeAccessories in progress...
[5/21/2020, 3:27:50 PM] [Google Smart Home] Lost Connection (1) - No ping back for 20100ms.
[5/21/2020, 3:27:50 PM] [Google Smart Home] Disconnected (1) - Retry in 5000ms
[5/21/2020, 3:27:55 PM] [Google Smart Home] Reconnecting (1)
[5/21/2020, 3:27:55 PM] [Google Smart Home] Connected (2) - wss://homebridge-gsh.iot.oz.nu
2020-05-21T13:29:54.978Z hapNodeJSClient Starting Homebridge instance discovery
2020-05-21T13:29:54.986Z hapNodeJSClient HAP Device discovered Homebridge 3A33 [
  '192.168.0.47',
  '192.168.0.35',
  'fe80::a319:819d:7c45:cccb',
  'fe80::72ab:307:a696:4876'
]
2020-05-21T13:29:54.988Z hapNodeJSClient HAP instance address: Homebridge 3A33 -> 0E_D8_65_B2_68_85.local -> 192.168.0.47:51645
2020-05-21T13:30:04.981Z hapNodeJSClient Ending Homebridge instance discovery
2020-05-21T13:30:30.771Z hapNodeJSClient HAP Discover failed Homebridge 3A33 http://192.168.0.47:51645 error EHOSTUNREACH
[5/21/2020, 3:34:37 PM] [Domoticz] synchronizeAccessories in progress...
[5/21/2020, 3:40:52 PM] [Google Smart Home] Received EXECUTE intent
[5/21/2020, 3:40:52 PM] [Google Smart Home] {
  "inputs": [
    {
      "context": {
        "locale_country": "FR",
        "locale_language": "fr"
      },
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "customData": {
                  "aid": 6,
                  "iid": 8,
                  "instanceIpAddress": "192.168.0.47",
                  "instancePort": 51645,
                  "instanceUsername": "0E:D8:65:B2:68:85"
                },
                "id": "5704c4ff8ceb32fea1c69a4534843b89094c84bdbe4673734172f18ead519c8c"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OpenClose",
                "params": {
                  "openPercent": 50
                }
              }
            ]
          }
        ]
      },
      "requestId": "11233477824716390819"
    }
  ],
  "requestId": "11233477824716390819"
}
[5/21/2020, 3:40:52 PM] [Google Smart Home] []

Homebridge Config:

{
    "bridge": {
        "name": "Homebridge 3A33",
        "username": "0E:D8:65:B2:68:85",
        "port": 51645,
        "pin": "587-81-345"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "Domoticz",
            "server": "XXX:[email protected]",
            "port": "8080",
            "roomid": 2,
            "mqtt": false,
            "ssl": false,
            "dimFix": 0,
            "platform": "eDomoticz"
        },
        {
            "name": "Google Smart Home",
            "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "notice": "Keep your token a secret!",
            "debug": true,
            "platform": "google-smarthome"
        }
    ]
}

Screenshots:
NA

Environment:

  • Node.js Version: v12.16.2
  • NPM Version: v6.14.4
  • Homebridge Version: v1.1.0
  • Homebridge GSH Plugin Version: v1.4.2
  • Homebridge Config UI X Plugin Version: v4.19.0
  • Operating System: Raspbian

Homebridge GSH setting blinds at "openPercent":5 instead of 100 when opening multiple blinds in the same room

Describe The Bug:
When I ask Google Home to open 2 blinds in the same room, the query that Homebridge GSH sends is openPrecent:5, instead of 90%
If ask Google home to open 1 of the 2 blinds only, it sends the correct query and opens the blind. The issue seems to happen in rooms with multiple blinds and when we ask Google home to open them all.

NOTE : the issue also happens when asking Google Home to close multiple blinds. In this case, Home Bridge sends a query with openPercent:90 instead of 0

To Reproduce:
Say : "Ok, google. Open both blinds in the living room"
Answer: "Ok I will open both blinds"

Nothing happens because Homebridge GSH sends the wrong query (openPercent:5) to both blinds instead of openPercent:100 (see verbose logs below)

Expected behavior:
Homebridge GSH send a query with openPercent:100 for both blinds

Logs:

[9/27/2020, 11:19:54 PM] [Domoticz] Data received for Volets Salle-à-manger.
[9/27/2020, 11:19:54 PM] [Domoticz] Data received for Volets Salle-à-manger.
[9/27/2020, 11:19:54 PM] [Domoticz] Data received for Volets Séjour.
[9/27/2020, 11:19:54 PM] [Domoticz] Data received for Volets Séjour.
[9/27/2020, 11:19:54 PM] [Google Smart Home] {
  ce8b2d515b9eb016fd230e3a8d43cf3a28e13045e1c0358b2020113bef99bcfc: { on: true, online: true, openPercent: 0 },
  b707d52d506fd852cfbfe154c1f1732a19ce75bf300cc131e3f840be09237ab5: { on: true, online: true, openPercent: 0 }
}
[9/27/2020, 11:19:54 PM] [Google Smart Home] Received EXECUTE intent
[9/27/2020, 11:19:54 PM] [Google Smart Home] {
  "inputs": [
    {
      "context": {
        "locale_country": "FR",
        "locale_language": "fr"
      },
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "customData": {
                  "aid": 30,
                  "iid": 8,
                  "instanceIpAddress": "192.168.1.42",
                  "instancePort": 51655,
                  "instanceUsername": "0E:3A:8D:F2:18:AB"
                },
                "id": "ce8b2d515b9eb016fd230e3a8d43cf3a28e13045e1c0358b2020113bef99bcfc"
              },
              {
                "customData": {
                  "aid": 32,
                  "iid": 8,
                  "instanceIpAddress": "192.168.1.42",
                  "instancePort": 51655,
                  "instanceUsername": "0E:3A:8D:F2:18:AB"
                },
                "id": "b707d52d506fd852cfbfe154c1f1732a19ce75bf300cc131e3f840be09237ab5"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OpenClose",
                "params": {
                  "openPercent": 5
                }
              }
            ]
          }
        ]
      },
      "requestId": "3434955166644386174"
    }
  ],
  "requestId": "3434955166644386174"
}
[9/27/2020, 11:19:54 PM] [Domoticz] Volets Salle-à-manger sent command succesfully.
2020-09-27T21:19:54.548Z hapNodeJSClient Events [{"host":"192.168.1.42","port":51655,"aid":30,"iid":10,"value":5,"status":5}]
2020-09-27T21:19:54.549Z hapNodeJSClient Events [{"host":"192.168.1.42","port":51655,"aid":30,"iid":11,"value":5,"status":5}]
[9/27/2020, 11:19:54 PM] [Domoticz] Volets Séjour sent command succesfully.
2020-09-27T21:19:54.614Z hapNodeJSClient Events [{"host":"192.168.1.42","port":51655,"aid":32,"iid":10,"value":5,"status":5}]
2020-09-27T21:19:54.615Z hapNodeJSClient Events [{"host":"192.168.1.42","port":51655,"aid":32,"iid":11,"value":5,"status":5}]
[9/27/2020, 11:19:54 PM] [Google Smart Home] [
  {
    ids: [
      'ce8b2d515b9eb016fd230e3a8d43cf3a28e13045e1c0358b2020113bef99bcfc'
    ],
    status: 'SUCCESS',
    states: undefined
  },
  {
    ids: [
      'b707d52d506fd852cfbfe154c1f1732a19ce75bf300cc131e3f840be09237ab5'
    ],
    status: 'SUCCESS',
    states: undefined
  }
]
[9/27/2020, 11:19:55 PM] [Google Smart Home] Sending State Report
[9/27/2020, 11:19:55 PM] [Google Smart Home] {
  "type": "report-state",
  "body": {
    "ce8b2d515b9eb016fd230e3a8d43cf3a28e13045e1c0358b2020113bef99bcfc": {
      "on": true,
      "online": true,
      "openPercent": 5
    },
    "b707d52d506fd852cfbfe154c1f1732a19ce75bf300cc131e3f840be09237ab5": {
      "on": true,
      "online": true,
      "openPercent": 5
    }
  }
}

Homebridge Config:

{
    "bridge": {
        "name": "Homebridge 18AB",
        "username": "0E:3A:8D:F2:18:AB",
        "port": 51655,
        "pin": "298-68-679"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "Domoticz",
            "server": "127.0.0.1",
            "port": "8084",
            "roomid": 0,
            "mqtt": true,
            "ssl": false,
            "dimFix": 0,
            "platform": "eDomoticz"
        },
        {
            "name": "Google Smart Home",
            "token": "xxxxxx",
            "notice": "Keep your token a secret!",
            "debug": true,
            "platform": "google-smarthome"
        }
    ]
}

Environment:

  • Node.js Version: v12.18.4
  • NPM Version: 6.14.8
  • Homebridge Version: 1.2.3
  • Homebridge GSH Plugin Version: 1.6.0
  • Homebridge Config UI X Plugin Version: 4.27.2
  • Operating System: Raspbian
    Linux raspberrypi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux

Issue sending command to connected homebridge

Hi - I am unable to control any homebridge device from Google Home. I have a Google Next Mini speaker hooked in to Google Home via the App. I have set up a single RPi with the plugin and I believe I have linked it correctly to my google account. I have also added the necessary Google/Homebridge assistant piece.

The logs below show -

** Login appears to be successful -
[2020-2-21 10:33:34] Homebridge is running on port 51826.
[2020-2-21 10:33:50] [Google Smart Home] Waiting 15 seconds before starting instance discovery...
[2020-2-21 10:33:52] [Google Smart Home] Connected (1) - wss://homebridge-gsh.iot.oz.nu
[2020-2-21 10:34:15] [Google Smart Home] Finished instance discovery
[2020-2-21 10:34:16] [Google Smart Home] HAP Event listeners registered succesfully
[2020-2-21 10:34:30] [Google Smart Home] Sending Sync Request

** Sending device status (I have a single gpio relay switch as a test) -
[2020-2-21 10:42:49] [Google Smart Home] Sending State Report
[2020-2-21 10:42:49] [Google Smart Home] {
"type": "report-state",
"body": {
"dbf71b56e88cfcd828e17a7655c4fe86a96f0ea7ccf6de168422e953d4ea6c22": {
"on": false,
"online": true
}
}
}

[2020-2-21 10:45:00] [Google Smart Home] Sending State Report
[2020-2-21 10:45:00] [Google Smart Home] {
"type": "report-state",
"body": {
"dbf71b56e88cfcd828e17a7655c4fe86a96f0ea7ccf6de168422e953d4ea6c22": {
"on": true,
"online": true
}
}
}

config.json -
{
"name": "Google Smart Home",
"token": "",
"notice": "Keep your token a secret!",
"debug": true,
"platform": "google-smarthome"
}

config.json - pgio device config -

    {
        "accessory": "GPIODevice",
        "type": "Lightbulb",
        "name": "Sample Lights",
        "inverted": true,
        "pin": 24
    }

My understanding is that I should be able to say "Hey google, switch on SAMPLE LIGHTS" ? Or have I misunderstood the purpose of the plugin?

Environment -
Raspian Stretch
homebridge-gsh v1.1.4
Node v9.9.0

Colour control isn't working

Describe The Bug:
When I change the colour of a coloured light it goes white.

To Reproduce:
Control a coloured light

Expected behavior:
Light changes to chosen colour and brightness

I've tested this with my own mqtt-based coloured lights (using homebridge-mqttthing), and with my Xiaomi gateway's light.

P.S. It's great to see Google Home integration available within Homebridge finally. I've wanted to attempt this myself for a while, but never managed to find the time. Thank you!!

plugin does not map all devices

Describe Your Problem:
I have 2 rooms with cree bulbs controlled through a phillips hue hub. They are made compatible with apple homekit via homebridge-hue. Only one room is mapped to homebridge-gsh. The other room is ignored. It also doesnt understand how to turn a living room light on and off, which is controlled by an idevices smart plug.

Logs:
hapNodeJSClient Starting Homebridge instance discovery +0ms
hapNodeJSClient HAP Device discovered BSB002 [ '10.0.1.185', 'fe80::217:88ff:fea4:60b5' ] +125ms
hapNodeJSClient HAP instance address: BSB002 -> Philips-hue.local -> 10.0.1.185:8080 +2ms
hapNodeJSClient HAP Discover failed BSB002 http://10.0.1.185:8080 error code 470 +48ms
hapNodeJSClient HAP Device discovered IDEV0001 [ '10.0.1.124' ] +112ms
hapNodeJSClient HAP instance address: IDEV0001 -> Switch-00006623.local -> 10.0.1.124:80 +2ms
hapNodeJSClient HAP Device discovered ecobee3 lite [ '10.0.1.72',
'2605:a000:122a:a0e5:4661:32ff:fe97:401f',
'fe80::4661:32ff:fe97:401f' ] +10ms
hapNodeJSClient HAP instance address: ecobee3 lite -> little-bee.local -> 10.0.1.72:1200 +1ms
hapNodeJSClient HAP Discover failed IDEV0001 http://10.0.1.124:80 error code 470 +25ms
hapNodeJSClient HAP Device discovered Homebridge [ '10.0.1.2' ] +82ms
hapNodeJSClient HAP instance address: Homebridge -> CC_22_3D_E3_CE_30.local -> 10.0.1.2:51826 +1ms
hapNodeJSClient Homebridge instance discovered Homebridge-CAD8 with 12 accessories +27ms
hapNodeJSClient HAP Device discovered front door [ '10.0.1.2' ] +243ms
hapNodeJSClient HAP instance address: front door -> 2C_86_18_3A_6D_96.local -> 10.0.1.2:52100 +2ms
hapNodeJSClient Homebridge instance discovered front door-E83A with 1 accessories +25ms
hapNodeJSClient HAP Discover failed ecobee3 lite http://10.0.1.72:1200 error code 470 +3s
hapNodeJSClient Ending Homebridge instance discovery +7s
[9/7/2019, 3:22:42 PM] [Google Smart Home] Finished instance discovery
[9/7/2019, 3:22:42 PM] [Google Smart Home] HAP Event listeners registered succesfully
[9/7/2019, 3:22:57 PM] [Google Smart Home] Sending Sync Request

Homebridge Config:
{
"bridge": {
"name": "Homebridge",
"username": “REDACTED”,
"port": 51826,
"pin": “REDACTED”
},
"description": "Homebridge server",
"ports": {
"start": 52100,
"end": 52150,
"comment": "whatever"
},
"accessories": [],
"platforms": [
{
"platform": "Camera-ffmpeg",
"cameras": [
{
"name": "front door",
"videoConfig": {
"vcodec": "h264",
"source": "-re -i rtsp://[email protected]/live",
"maxStreams": 2,
"maxWidth": 1080,
"maxHeight": 720,
"maxFPS": 15
}
}
]
},
{
"platform": "Frigidaire",
"name": "Frigidaire AC Units",
"username": “REDACTED”,
"password": “REDACTED”
},
{
"platform": "HarmonyHubWebSocket",
"name": "Harmony Hub",
"hubIP": "10.0.1.27",
"TVPlatformMode": true,
"mainActivity": "Watch Apple TV",
"showTurnOffActivity": "stateless"
},
{
"platform": "Hue",
"users": {
“REDACTED”
},
"lights": true,
"nativeHomeKitlights": true
},
{
"platform": "config",
"name": "Config",
"port": 4200,
"sudo": true,
"restart": "sudo systemctl restart homebridge.service",
"log": {
"method": "systemd",
"service": "homebridge"
}
},
{
"name": "Google Smart Home",
"token": “REDACTED”,
"notice": "Keep your token a secret!",
"platform": "google-smarthome",
"debug": true
}
]
}
Environment:

  • Node.js Version: 10.16.3
  • NPM Version: 6.11.2
  • Homebridge Version: 0.4.50
  • Homebridge GSM Plugin Version: 1.0.3
  • Homebridge Config UI X Plugin Version: 4.6.1
  • Operating System: Debian

Homebridge Google Smart Home - Now Available

The homebridge-gsh plugin will allow you to control your supported Homebridge accessories from any Google Home speaker or the Google Home mobile app.

This plugin is still in development and not ready for general use yet.

Get Notified

To get notified when it's available, Watch Releases on this repo, or subscribe to this issue.

55521767-b6a6d680-56b4-11e9-9ddf-87b7e2888153

Outstanding Tasks:

  • Action submitted to Google for approval (2019-07-24)
  • Action passed certification (2019-08-09)
  • Action approved by Google review team (2019-08-10)
  • Action deployed to Google Assistant Directory
  • Update documentation to show how to link the Homebridge GSH action from the Google Home app
  • Publish homebridge-config-ui-x v4.6.0

Speed

I have noticed on my iOS devices, i'll get "Devices Not Responding" or "Updating" for 10-30 seconds. I thought it was an issue with HomeBridge-HomeSeer-2018 plugin, but I realized that it actually seems to happen (at least a lot more often) when I have this plugin installed.

It's not only this plugin that causes it. I also have used the homebridge-alexa plugin and it also causes issues with speed.

If I strictly have ONLY the HomeBridge-HomeSeer plugin installed, everything seems REALLY fast.

Have you heard of this or know of any resolutions to try? I will also post this on the HomeBridge-HomeSeer github just for there feedback as well.

Google Home devices not responding

About a week ago devices started not responding in google home almost once a day. Only solution I’ve found is restarting homebridge. Nothing has changed in my config or plugins added. Nothing in the log file either.

I'm interested in implementing camera support

I noticed that camera support was requested in #16, which is something that I am also interested in having. As I am relatively familiar with TypeScript, I thought I might be able to give it a crack, however, I'd like to have a discussion around the best way to implement this.

My thoughts are to add the ability, in a configuration file, to run some sort of shell script (e.g. that calls FFMPEG) that outputs HLS to a web server (the address of which is also specified in the configuration). From looking at the Google Developer documentation, it should simply be a matter of inputting the URL to that particular stream.

The main obstacle with this method as far as I can tell would be remote access, as we would likely have to port forward in order to access streams remotely because even if there was some way to stream it through the current central server setup, I'd imagine that would be rather bandwidth heavy.

The other thing that would need to be sorted would be the ability to have some sort of per-device configuration. I suppose this could be avoided by having a global script that we pass the RTSP stream and the accessory ID to, and then we do something like this for the webserver portion: {webserverurl}/{accessory_id}/index.m3u8, but this seems like a rather hacky way of doing this.

Settings don't hold on Google

After logging into Google Home and assigning all my devices to a room and naming them correctly, later my devices reset on Google and everything is back as if I just added the devices again.

Is this normal? Is there anyway of preventing this?

It's like the device ID's change or something because I can't rename them back to what they were because google thinks the device is still there, but I can't see it anymore. I have to delete the home on Google and recreate it.

Can't authorize with Google Home App

I've connected my account via the Homebridge Config UI settings for the plugin. When i try to connect it via the google home app and i choose for homebridge in the services, it says account connected. After a few seconds it gives an error and its not connected.

What to do to authorize it?

Discover new devices

Hi guys, how we can add/discover new devices added to homebridge? New devices are displayed in homebridge panel but we dont see in Google Home App.

Installation Issues/ Question

Im setting up the Gsh plugin in homebridge
when I authenticate it tells me to verify that the following address is my homebridge instance:
https://192.168.2.50:8222
Is it okay that this is not a public IP? Or do I have to make my homebridge instance accessible from the outside internet?

2FA only for sensitive actions in security systems

Is your feature request related to a problem? Please describe:
I need to announce my 2FA code to set the security system state to away, home, or night.

Describe the solution you'd like:
I am looking to use the google home to set my security system state to away, home or night (from the off state) without requiring 2FA. This is not a sensitive action so it shouldn't require a 2FA passcode to be performed.

Describe alternatives you've considered:
Currently my alternative is to use siri on my phone to change the security system state so that I do not need to announce my 2FA passcode.

Additional context:
According to https://developers.google.com/assistant/smarthome/guides/securitysystem#request only disarming the security system is a sensitive action & the rest are not so I believe the google assistant API should support this action as well.

Exclude some accessories

Some of my homebridge plugins I use aren't compatible for homekit but they can be ad to Google home. So is there a way to exclude some types? For example Locks en Windowcovering. So they do not ad to my Google Home because they already there.

ICS-1000 (window Covering)

When I open de Google Home app i see the windows covering logo with inside configuration icon. But I can't do anything.

I have install the plugin "homebridge-ics1000" https://www.npmjs.com/package/homebridge-ics1000. The owner "Django" https://github.com/djangosoe/homebridge-ics1000-django has edit index.js file to enable the ASUN-650.

The site is unfortunately no longer available.
Below I have placed the concerning index.js file

index.js
`"use strict";
const ics1000 = require('./ICS1000.js');

var Service, Characteristic;

module.exports = function (homebridge)
{
Service = homebridge.hap.Service;
Characteristic = homebridge.hap.Characteristic;
homebridge.registerAccessory('homebridge-ics1000', 'ICS1000-OnOff', OnOffAccessory);
homebridge.registerAccessory('homebridge-ics1000', 'ICS1000-Outlet', OutletAccessory);
homebridge.registerAccessory('homebridge-ics1000', 'ICS1000-Dimmer', DimmerAccessory);
homebridge.registerAccessory('homebridge-ics1000', 'ICS1000-Window', WindowAccessory);
}

function OnOffAccessory(log, config)
{
this.log = log;
this.name = config['name'];
this.room = config['room'];
this.device = config['device'];
}

function OutletAccessory(log, config)
{
this.log = log;
this.name = config['name'];
this.room = config['room'];
this.device = config['device'];
}

function DimmerAccessory(log, config)
{
this.log = log;
this.name = config['name'];
this.room = config['room'];
this.device = config['device'];
}

function WindowAccessory(log, config)
{
this.log = log;
this.name = config['name'];
this.room = config['room'];
this.device = config['device'];
this.timeToOpen = config['opentime'];
this.timeToClose= config['closetime'];

this.currentPosition = 0; //Position in percentage 0-100% 0 = closed 100 = open
this.targetPosition = 0;
this.positionState = Characteristic.PositionState.STOPPED;

this.service = new Service.WindowCovering(this.name);

}
function emtycallback(){}

WindowAccessory.prototype =
{
identify: function (callback)
{
this.log('Identify requested!');
callback();
},

getServices: function ()
{
var informationService = new Service.AccessoryInformation();
informationService
.setCharacteristic(Characteristic.Manufacturer, 'KlikAanKlikUit')
.setCharacteristic(Characteristic.Model, 'ICS-1000');

            //const WindowCoveringService = new Service.WindowCovering(this.name);

            // the current position (0-100%)
            this.service
              .getCharacteristic(Characteristic.CurrentPosition)
              .on('get', this.getCurrentPosition.bind(this));

            // the position state
            // 0 = DECREASING; 1 = INCREASING; 2 = STOPPED;
            this.service
              .getCharacteristic(Characteristic.PositionState)
              .on('get', this.getPositionState.bind(this));

            this.service
                .getCharacteristic(Characteristic.TargetPosition)
                .on('get', this.getTargetPosition.bind(this))
                .on('set', this.setTargetPosition.bind(this));

            return [informationService, this.service];
},

    getCurrentPosition: function (callback)
{
            this.log("calling getCurrentPosition :", this.currentPosition)

            callback(null, this.currentPosition)
},
    getPositionState: function (callback)
{
            this.log("calling getPositionState :", this.positionState);
            // 0 = DECREASING; 1 = INCREASING; 2 = STOPPED;
            callback(null, this.positionState)
},
    getTargetPosition: function (callback)
{
            this.log("calling getTargetPosition :", this.targetPosition);
            callback(null, this.targetPosition)
},
    setTargetPosition: function (value, callback)
{
            this.log("calling setTargetPosition from: ", this.currentPosition, "to: ", value)
            this.targetPosition = value;
	var self = this;
	if(this.positionState != Characteristic.PositionState.STOPPED)
	{
	}
	else if(this.targetPosition > (this.currentPosition + 0))//opening
	{
	    self.service.setCharacteristic(Characteristic.PositionState, Characteristic.PositionState.INCREASING);
	    var time = this.timeToOpen * (0.01 * (this.targetPosition - this.currentPosition));
                this.log("SendON for: ", time, "seconds", "Room=", this.room, "Device=", this.device, "name=", this.name);
                ics1000.sendOn(this.room, this.device, this.name, emtycallback);

                setTimeout(function(){
		self.currentPosition = self.targetPosition;
            	self.service.setCharacteristic(Characteristic.PositionState, Characteristic.PositionState.STOPPED);
            	self.service.setCharacteristic(Characteristic.CurrentPosition, self.currentPosition);
		self.currentPosition = value;
		if(value != 100)
		{
                    	self.log("SendON to stop moving Room=", this.room, "Device=", this.device, "name=", this.name);
                    	ics1000.sendOn(self.room, self.device, self.name, callback);
		}
                    else
                    {
                        callback();
                    }

          	    }, (time * 1000));

	}
	else if(this.targetPosition < (this.currentPosition - 0))//closing
	{
                self.service.setCharacteristic(Characteristic.PositionState, Characteristic.PositionState.DECRESING);
                var time = this.timeToClose * (0.01 * (this.currentPosition - this.targetPosition));
                this.log("SendOFF for: ", time, "seconds", "Room=", this.room, "Device=", this.device, "name=", this.name);
                ics1000.sendOff(this.room, this.device, this.name, emtycallback);

                setTimeout(function(){
                    self.currentPosition = self.targetPosition;
                    self.service.setCharacteristic(Characteristic.PositionState, Characteristic.PositionState.STOPPED);
                    self.service.setCharacteristic(Characteristic.CurrentPosition, self.currentPosition);
		self.currentPositoin = value;
		if(value != 0)
		{
    	            self.log("SendOFF to stop moving Room=", this.room, "Device=", this.device, "name=", this.name);
                    ics1000.sendOff(self.room, self.device, self.name, callback);
                	}
		else
		{
		    callback();
		}
	    }, (time * 1000));
	}
            //callback(null, value) //original
            //callback(null);
}

};

OnOffAccessory.prototype =
{
identify: function (callback)
{
this.log('Identify requested!');
callback();
},

getServices: function ()
{
var informationService = new Service.AccessoryInformation();
informationService
.setCharacteristic(Characteristic.Manufacturer, 'KlikAanKlikUit')
.setCharacteristic(Characteristic.Model, 'ICS-1000');

	const lightbulbService = new Service.Switch(this.name);
	lightbulbService
	.getCharacteristic(Characteristic.On)
	.on('set', this.setOnOff.bind(this));

	return [informationService, lightbulbService];
},

setOnOff: function (value, callback)
{
const state = Boolean(value);
if(state == true) {
this.log('SendON: Room=' + this.room + ' Device=' + this.device + ' name=' + this.name);
ics1000.sendOn(this.room, this.device, this.name, callback);
}
else {
this.log('SendOFF: Room=' + this.room + ' Device=' + this.device + ' name=' + this.name);
ics1000.sendOff(this.room, this.device, this.name, callback);
}
},
};

OutletAccessory.prototype =
{
identify: function (callback)
{
this.log('Identify requested!');
callback();
},

getServices: function ()
{
var informationService = new Service.AccessoryInformation();
informationService
.setCharacteristic(Characteristic.Manufacturer, 'KlikAanKlikUit')
.setCharacteristic(Characteristic.Model, 'ICS-1000');

	const lightbulbService = new Service.Outlet(this.name);
	lightbulbService
	.getCharacteristic(Characteristic.On)
	.on('set', this.setOnOff.bind(this));

	return [informationService, lightbulbService];
},

setOnOff: function (value, callback)
{
const state = Boolean(value);
if(state == true) {
this.log('SendON: Room=' + this.room + ' Device=' + this.device + ' name=' + this.name);
ics1000.sendOn(this.room, this.device, this.name, callback);
}
else {
this.log('SendOFF: Room=' + this.room + ' Device=' + this.device + ' name=' + this.name);
ics1000.sendOff(this.room, this.device, this.name, callback);
}
},
};

DimmerAccessory.prototype =
{
identify: function (callback)
{
this.log('Identify requested!');
callback();
},

getServices: function ()
{
var informationService = new Service.AccessoryInformation();
informationService
.setCharacteristic(Characteristic.Manufacturer, 'KlikAanKlikUit')
.setCharacteristic(Characteristic.Model, 'ICS-1000');

	const lightbulbService = new Service.Lightbulb(this.name);
	lightbulbService
	.getCharacteristic(Characteristic.On)
	.on('set', this.setOnOff.bind(this));

	lightbulbService
	.getCharacteristic(Characteristic.Brightness)
	.on('set', this.setDim.bind(this));

	return [informationService, lightbulbService];
},

setOnOff: function (value, callback)
{
const state = Boolean(value);
if(state == true) {
this.log('SendON: Room=' + this.room + ' Device=' + this.device + ' Name=' + this.name);
ics1000.sendOn(this.room, this.device, this.name, callback);
}
else {
this.log('SendOFF: Room=' + this.room + ' Device=' + this.device + ' Name=' + this.name);
ics1000.sendOff(this.room, this.device, this.name, callback);
}
},

setDim: function (level, callback)
{
const percentage = parseInt(level);

	this.log('SendDim: Room=' + this.room + ' Device=' + this.device + ' Name=' + this.name + 'Level=' + percentage);

	if(percentage <= 0) {
		ics1000.sendOff(this.room, this.device, this.name, callback);
	}
	else if(percentage >= 100) {
		ics1000.sendOn(this.room, this.device, this.name, callback);
	}
	else {
		ics1000.sendDim(this.room, this.device, this.name, percentage, callback);
	}
}

};
`

Config.js
{ "accessory": "ICS1000-Window", "name": "Window", "room": 1, "device": 4, "opentime": 1, "closetime": 1 },

Auth error

image

I'm pretty sure my connection is clean. Isn't it the problem on your side?

Happens only with Google authentication. With github all is working properly.

Google assistant can't communicate some times with homebridge

Hi team,
I notioced that some times (about 1/2 times per day) Google assistant is unable to speak with gsh plugin. The common answer is "Can't communicate, please verify your connection". If I repeat after some second the command it start to work. Commonly this happen when I use google routin instead of the single switch. Example: I have a switch called PC and controlled by homebridge. If I ask to google to turn on the PC it works immediatly, If I create a routine with inside the command turn on PC, sometime google assistant answer that is impossible to communicate.
I asked to google support if this problem is from theyr side and they made some tests with me, the most important we cancelled all routine (with also orphan's one) and reset to default the google home speaker.

Logs:
Sometime I receive communications error like this:

hpmaria@lubuntu:~/.homebridge$ cat homebridge.log | grep Google | more
[2020-5-7 15:04:02] [Google Smart Home] Error (181) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:04:02] [Google Smart Home] Disconnected (181) - Retry in 5000ms
[2020-5-7 15:04:07] [Google Smart Home] Reconnecting (181)
[2020-5-7 15:04:17] [Google Smart Home] Error (182) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:04:17] [Google Smart Home] Disconnected (182) - Retry in 5000ms
[2020-5-7 15:04:22] [Google Smart Home] Reconnecting (182)
[2020-5-7 15:04:32] [Google Smart Home] Error (183) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:04:32] [Google Smart Home] Disconnected (183) - Retry in 5000ms
[2020-5-7 15:04:37] [Google Smart Home] Reconnecting (183)
[2020-5-7 15:04:47] [Google Smart Home] Error (184) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:04:47] [Google Smart Home] Disconnected (184) - Retry in 5000ms
[2020-5-7 15:04:52] [Google Smart Home] Reconnecting (184)
[2020-5-7 15:05:02] [Google Smart Home] Error (185) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:05:02] [Google Smart Home] Disconnected (185) - Retry in 5000ms
[2020-5-7 15:05:07] [Google Smart Home] Reconnecting (185)
[2020-5-7 15:05:17] [Google Smart Home] Error (186) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:05:17] [Google Smart Home] Disconnected (186) - Retry in 5000ms
[2020-5-7 15:05:22] [Google Smart Home] Reconnecting (186)
[2020-5-7 15:05:32] [Google Smart Home] Error (187) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:05:32] [Google Smart Home] Disconnected (187) - Retry in 5000ms
[2020-5-7 15:05:37] [Google Smart Home] Reconnecting (187)
[2020-5-7 15:05:47] [Google Smart Home] Error (188) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:05:47] [Google Smart Home] Disconnected (188) - Retry in 5000ms
[2020-5-7 15:05:52] [Google Smart Home] Reconnecting (188)
[2020-5-7 15:06:02] [Google Smart Home] Error (189) - getaddrinfo EAI_AGAIN homebridge-gsh.iot.oz.nu
[2020-5-7 15:06:02] [Google Smart Home] Disconnected (189) - Retry in 5000ms

And sometime not:
[2020-5-11 18:00:21] [Google Smart Home] Initializing google-smarthome platform...
[2020-5-11 18:00:23] [Google Smart Home] Connected (1) - wss://homebridge-gsh.iot.oz.nu
[2020-5-11 18:00:48] [Google Smart Home] Finished instance discovery
[2020-5-11 18:01:03] [Google Smart Home] Sending Sync Request
[2020-5-11 18:01:03] [Google Smart Home] Received SYNC intent
[2020-5-11 19:16:48] [Google Smart Home] Received EXECUTE intent
[2020-5-12 11:08:00] [Google Smart Home] Received EXECUTE intent

Show the Homebridge logs here.
Remove any sensative information.

Show your homebridge config.json here.
{
"bridge": {
"name": "Homebridge",
"username": "xxxxxxxxxxxxxxxx",
"port": 51826,
"pin": "203-54-181"
},
"description": "Casa",
"accessories": [
{
"accessory": "Xbox",
"name": "Xbox",
"ipAddress": "192.168.0.159",
"liveId": "xxxxxxxxxxxxxxxxxxxxx"
},
{
"accessory": "Pihole",
"name": "Firewall",
"auth": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"host": "192.168.0.190",
"time": 300
},
{
"inputs": [
{
"appId": "com.webos.app.livetv",
"name": "Canali TV"
},
{
"appId": "com.webos.app.hdmi1",
"name": "Ingresso PC"
},
{
"appId": "com.webos.app.hdmi2",
"name": "Ingresso SKY"
},
{
"appId": "com.webos.app.hdmi3",
"name": "Ingresso XBOX"
},
{
"appId": "amazon",
"name": "Amazon"
},
{
"appId": "netflix",
"name": "Netflix"
},
{
"appId": "cdp-30",
"name": "Plex"
},
{
"appId": "youtube.leanback.v4",
"name": "YouTube"
}
],
"name": "Tv",
"ip": "192.168.0.200",
"mac": "78:5d:c8:f2:c1:76",
"keyFile": "/home/hpmaria/.homebridge/lgtvKeyFile",
"prefsDir": "~/.webosTv",
"pollingInterval": 10,
"tvService": true,
"volumeControl": "true",
"volumeLimit": 100,
"channelControl": false,
"showInputButtons": true,
"mediaControl": true,
"remoteControlButtons": [
"EXIT"
],
"accessory": "webostv"
}
],
"platforms": [
{
"name": "Config",
"port": 8581,
"auth": "form",
"theme": "blue",
"tempUnits": "c",
"lang": "auto",
"platform": "config"
},
{
"platform": "SoundTouchPlatform",
"name": "Bose",
"discoverAllAccessories": true,
"ip": "192.168.0.171",
"accessories": [
{
"name": "Bose",
"room": "Soggiorno",
"volume": {
"unmuteValue": 40,
"maxValue": 80
}
}
]
},
{
"platform": "eWeLink",
"name": "eWeLink",
"email": "xxxxxxxxxxxxxxxxxxxx",
"password": "xxxxxxxxxxxxxxxxxxx",
"imei": "7CAEA4FE-9F3A-41E6-A099-938650ADDAC6"
},
{
"platform": "IFTTT",
"name": "IFTTT",
"makerkey": "xxxxxxxxxxxxxxxxxxxxxxx",
"accessories": [
{
"name": "Lampada Ingresso",
"buttons": [
{
"caption": "Lampada Ingresso",
"triggerOn": "lampada_ingresso_ON",
"triggerOff": "lampada_ingresso_OFF"
},
{
"caption": "Cancello",
"triggerOn": "cancello_ON"
}
]
}
]
},
{
"name": "Google Smart Home",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"notice": "Keep your token a secret!",
"platform": "google-smarthome"
}
]
}

Environment:

  • Node.js Version: v12.16.3
  • NPM Version: 6.14.5
  • Homebridge Version: 1.0.4
  • Homebridge GSH Plugin Version:[email protected]
  • Homebridge Config UI X Plugin Version: [email protected]
  • Operating System: Lubuntu 20.04 VM in Windows 10 virtualbox

Some devices don't respond after reinstall

Describe Your Problem:
I had to reinstall my homebridge after a server crash. Having done so, all my devices are working fine from Apple devices, and most devices are working fine from Google, however there are a few devices that appear in the Google app, but attempting to use them from either the google app or from a google speaker simply results in an error that something went wrong. These few devices won't respond at all. There is nothing about them that is different to other devices that are working. Devices that aren't working are "Computer Room Light", "Dining Room Centre Light", "Bedroom 3 Light". I have tried unlinking and relinking the plugin with homebridge, and also from the google app, but each time after it finds the devices these 3 devices will not work.

Logs:

Below are the startup logs for the smart plugin. When you try to use a device that isn't working, nothing appears in the log.

[7/5/2020, 3:46:01 PM] [Google Smart Home] Connected (1) - wss://homebridge-gsh.iot.oz.nu
2020-07-05T05:46:15.453Z hapNodeJSClient Starting Homebridge instance discovery
2020-07-05T05:46:15.462Z hapNodeJSClient HAP Device discovered Homebridge 53CC
2020-07-05T05:46:15.462Z hapNodeJSClient HAP Device address Homebridge 53CC ->  {
  host: '192.168.1.50',
  port: 51826,
  url: 'http://192.168.1.50:51826',
  deviceID: '0E:BA:32:1C:54:F2',
  txt: {
    md: 'Homebridge',
    pv: '1.1',
    id: '0E:BA:32:1C:54:F2',
    'c#': '2',
    's#': '1',
    ff: '0',
    ci: '2',
    sf: '0',
    sh: 'RgvXHQ=='
  }
}
2020-07-05T05:46:15.483Z hapNodeJSClient Homebridge instance discovered Homebridge with 25 accessories
2020-07-05T05:46:25.456Z hapNodeJSClient Ready
[7/5/2020, 3:46:25 PM] [Google Smart Home] Finished instance discovery
[7/5/2020, 3:46:25 PM] [Google Smart Home] HAP Event listeners registered succesfully
[7/5/2020, 3:46:40 PM] [Google Smart Home] Sending Sync Request
[7/5/2020, 3:46:40 PM] [Google Smart Home] Received SYNC intent
[7/5/2020, 3:46:40 PM] [Google Smart Home] {
  "inputs": [
    {
      "intent": "action.devices.SYNC",
      "requestId": "7889191968795518894"
    }
  ],
  "requestId": "7889191968795518894"
}
[7/5/2020, 3:46:40 PM] [Google Smart Home] [
  {
    id: 'fdbf8e60e42ab5c24bc56943bb7cb4441f58aaf1288f04a6c2d775d28941975b',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Living Room 1', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 2,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '67cdcc6c7f91c579a49d7fb8d611fbe7a648c85614b61707c8e7c1b97e405d24',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Living Room 2', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 3,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '107e3e416bf75fbd655652921e1a38f78489d437d249c7f0fe5f36ac3242c2cc',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Living Room Lamp', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 4,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '09dbf953e942154de7437b6082118f829eed03e7b8de177572911bac5c2bb66f',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: {
      defaultNames: [Array],
      name: 'Master Bedroom Light',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 5,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '892fb2914fbd01e91127c77fb517cff0a9448491fd2348113a79f8c9623cb864',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Bedroom 2 light', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 6,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '976a2dfb58f07690d3a5d45d7dd5a38820358e48b1c7ee3d0aa10675c555493b',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Bedroom 3 light', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 7,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: 'b51ba0f88fbe7dd2be0206fd347d8943e098f85dbf4cf21307b104306693e33b',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Bedside Lamp', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 8,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '1f1cc2e70c2667d5c85b2ca8e12edcbff0a56cfba5d7005dca02aae4da3e3dca',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: {
      defaultNames: [Array],
      name: 'Dining Room Table Light',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 9,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: 'a6cfff3e9775348f64f3740a6e5c916e96bfcfc70ac2c8e072de8808c765dfbc',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: {
      defaultNames: [Array],
      name: 'Dining Room Centre Light',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 10,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '4dbdef9e9ad5e07156b45356a3a74a64de20881e905bbe90dcb511219ca1caec',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: {
      defaultNames: [Array],
      name: 'Computer Room Light',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 11,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '67dcd5e4afc176f75524dfa73022356672585d4a5c4038357e02abd225560427',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: {
      defaultNames: [Array],
      name: 'Clothes Room Light',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 12,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '0f47ee82d59c9c0edbab47d89958153bc5fd4701514a35eb6e8ef6e39acdc27f',
    type: 'action.devices.types.LIGHT',
    traits: [
      'action.devices.traits.OnOff',
      'action.devices.traits.Brightness'
    ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Toilet', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 13,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '2ea43bded5b83610f1e370bbcdb03788a4a84566411760ad73ce3d38494e5154',
    type: 'action.devices.types.LIGHT',
    traits: [ 'action.devices.traits.OnOff' ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Aquarium Light', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 14,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '20ba37a4e4568f5ab0753d295b6e43c7e00c5ce20b4cd05611895667de7c0287',
    type: 'action.devices.types.LIGHT',
    traits: [ 'action.devices.traits.OnOff' ],
    attributes: {},
    name: { defaultNames: [Array], name: 'Garage Light', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'lightbulb' },
    customData: {
      aid: 15,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: 'b20de1a409ef67f07f1b54ff4632a35360cafa1435947623246af2408e72ca99',
    type: 'action.devices.types.SWITCH',
    traits: [ 'action.devices.traits.OnOff' ],
    name: { defaultNames: [Array], name: 'Electric Blanket', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'switch' },
    customData: {
      aid: 16,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '33cc474a3bfa9b721c00838e924e0504c611c95264a30a3b5f2a8c4237ff7d35',
    type: 'action.devices.types.SWITCH',
    traits: [ 'action.devices.traits.OnOff' ],
    name: {
      defaultNames: [Array],
      name: 'Electric Blanket Ethan',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'switch' },
    customData: {
      aid: 17,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: 'ffaed986f06946f3db408a4436e888a0897feee1f9c0ab174f0600d0e0c93f4b',
    type: 'action.devices.types.SWITCH',
    traits: [ 'action.devices.traits.OnOff' ],
    name: {
      defaultNames: [Array],
      name: 'Electric Blanket Lachlan',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'switch' },
    customData: {
      aid: 18,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: 'fdfeb2aa2bc45d10142b959cacdb39a07cda2789eb804272c6bede38f51a3493',
    type: 'action.devices.types.TV',
    traits: [ 'action.devices.traits.OnOff' ],
    name: { defaultNames: [Array], name: 'Audiosonic TV', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'television' },
    customData: {
      aid: 21,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '4e83fbaeef7a7d462e209fb6f29a0d03c4173ffc35692878a590a012a1edbe6f',
    type: 'action.devices.types.THERMOSTAT',
    traits: [ 'action.devices.traits.TemperatureSetting' ],
    attributes: {
      availableThermostatModes: 'off,heat,cool,auto',
      thermostatTemperatureUnit: 'C'
    },
    name: { defaultNames: [Array], name: 'Bedroom Aircon', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'mqttthing', model: 'thermostat' },
    customData: {
      aid: 22,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '29fe41618a0589798db430d89b79c7c7ad1fe742266133ff5ac3f35b039017ca',
    type: 'action.devices.types.SWITCH',
    traits: [ 'action.devices.traits.OnOff' ],
    name: {
      defaultNames: [Array],
      name: 'Water Leakage Sensor',
      nicknames: []
    },
    willReportState: true,
    deviceInfo: { manufacturer: 'eDomoticz', model: 'Light/Switch' },
    customData: {
      aid: 24,
      iid: 8,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  },
  {
    id: '23221dfcf0d3682cee7b309e2a353a034ccb6522c481b11468150a30cd230018',
    type: 'action.devices.types.TV',
    traits: [ 'action.devices.traits.OnOff' ],
    name: { defaultNames: [Array], name: 'Sony Bravia', nicknames: [] },
    willReportState: true,
    deviceInfo: { manufacturer: 'Default-Manufacturer', model: 'Default-Model' },
    customData: {
      aid: 25,
      iid: 22,
      instanceUsername: '0E:BA:32:1C:54:F2',
      instanceIpAddress: '192.168.1.50',
      instancePort: 51826
    }
  }
]
[7/5/2020, 3:46:50 PM] [Google Smart Home] Sending full post-sync state report
[7/5/2020, 3:46:50 PM] [Google Smart Home] Sending State Report
[7/5/2020, 3:46:50 PM] [Google Smart Home] {
  "type": "report-state",
  "body": {
    "fdbf8e60e42ab5c24bc56943bb7cb4441f58aaf1288f04a6c2d775d28941975b": {
      "on": true,
      "online": true,
      "brightness": 100
    },
    "67cdcc6c7f91c579a49d7fb8d611fbe7a648c85614b61707c8e7c1b97e405d24": {
      "on": true,
      "online": true,
      "brightness": 100
    },
    "107e3e416bf75fbd655652921e1a38f78489d437d249c7f0fe5f36ac3242c2cc": {
      "on": true,
      "online": true,
      "brightness": 100
    },
    "09dbf953e942154de7437b6082118f829eed03e7b8de177572911bac5c2bb66f": {
      "on": false,
      "online": true,
      "brightness": 50
    },
    "892fb2914fbd01e91127c77fb517cff0a9448491fd2348113a79f8c9623cb864": {
      "on": false,
      "online": true,
      "brightness": 100
    },
    "976a2dfb58f07690d3a5d45d7dd5a38820358e48b1c7ee3d0aa10675c555493b": {
      "on": true,
      "online": true,
      "brightness": 100
    },
    "b51ba0f88fbe7dd2be0206fd347d8943e098f85dbf4cf21307b104306693e33b": {
      "on": false,
      "online": true,
      "brightness": 50
    },
    "1f1cc2e70c2667d5c85b2ca8e12edcbff0a56cfba5d7005dca02aae4da3e3dca": {
      "on": true,
      "online": true,
      "brightness": 100
    },
    "a6cfff3e9775348f64f3740a6e5c916e96bfcfc70ac2c8e072de8808c765dfbc": {
      "on": true,
      "online": true,
      "brightness": 100
    },
    "4dbdef9e9ad5e07156b45356a3a74a64de20881e905bbe90dcb511219ca1caec": {
      "on": true,
      "online": true,
      "brightness": 100
    },
    "67dcd5e4afc176f75524dfa73022356672585d4a5c4038357e02abd225560427": {
      "on": false,
      "online": true,
      "brightness": 100
    },
    "0f47ee82d59c9c0edbab47d89958153bc5fd4701514a35eb6e8ef6e39acdc27f": {
      "on": false,
      "online": true,
      "brightness": 100
    },
    "2ea43bded5b83610f1e370bbcdb03788a4a84566411760ad73ce3d38494e5154": {
      "on": false,
      "online": true
    },
    "20ba37a4e4568f5ab0753d295b6e43c7e00c5ce20b4cd05611895667de7c0287": {
      "on": false,
      "online": true
    },
    "b20de1a409ef67f07f1b54ff4632a35360cafa1435947623246af2408e72ca99": {
      "on": false,
      "online": true
    },
    "33cc474a3bfa9b721c00838e924e0504c611c95264a30a3b5f2a8c4237ff7d35": {
      "on": false,
      "online": true
    },
    "ffaed986f06946f3db408a4436e888a0897feee1f9c0ab174f0600d0e0c93f4b": {
      "on": false,
      "online": true
    },
    "fdfeb2aa2bc45d10142b959cacdb39a07cda2789eb804272c6bede38f51a3493": {
      "on": false,
      "online": true
    },
    "4e83fbaeef7a7d462e209fb6f29a0d03c4173ffc35692878a590a012a1edbe6f": {
      "online": true,
      "thermostatMode": "off",
      "thermostatTemperatureSetpoint": 17,
      "thermostatTemperatureAmbient": 17
    },
    "29fe41618a0589798db430d89b79c7c7ad1fe742266133ff5ac3f35b039017ca": {
      "on": false,
      "online": true
    },
    "23221dfcf0d3682cee7b309e2a353a034ccb6522c481b11468150a30cd230018": {
      "on": true,
      "online": true
    }
  }
}

Homebridge Config:

Below is excerpt from the config showing the google-gsh platform section, and the sections from some devices that do work, some that don't - there isn't really any difference between them.
{
"name": "Google Smart Home",
"token": "[Token Removed]",
"notice": "Keep your token a secret!",
"debug": true,
"platform": "google-smarthome"
}

    {
        "accessory": "mqttthing",
        "type": "lightbulb",
        "name": "Dining Room Table Light",
        "url": "mqtt://localhost",
        "username": "DVES_USER",
        "password": "",
        "topics": {
            "setOn": "cmnd/DiningRoomTableLight/power",
            "getOn": "stat/DiningRoomTableLight/POWER",
            "getBrightness": {
                "topic": "stat/DiningRoomTableLight/RESULT",
                "apply": "return JSON.parse(message).Dimmer;"
            },
            "setBrightness": "cmnd/DiningRoomTableLight/Dimmer",
            "getColorTemperature": {
                "topic": "stat/DiningRoomTableLight/RESULT",
                "apply": "return Math.round(140 + (JSON.parse(message).CT - 153) * 360 / 347);"
            },
            "setColorTemperature": {
                "topic": "cmnd/DiningRoomTableLight/CT",
                "apply": "return Math.round(153 + (message - 140) * 347 / 360);"
            }
        },
        "integerValue": false,
        "onValue": "ON",
        "offValue": "OFF",
        "startPub": {
            "cmnd/DiningRoomTableLight/power": "",
            "cmnd/DiningRoomTableLight/Dimmer": "",
            "cmnd/DiningRoomTableLight/CT": ""
        },
        "logMqtt": true
    },
    {
        "accessory": "mqttthing",
        "type": "lightbulb",
        "name": "Dining Room Centre Light",
        "url": "mqtt://localhost",
        "username": "DVES_USER",
        "password": "",
        "topics": {
            "setOn": "cmnd/DiningRoomCentreLight/power",
            "getOn": "stat/DiningRoomCentreLight/POWER",
            "getBrightness": {
                "topic": "stat/DiningRoomCentreLight/RESULT",
                "apply": "return JSON.parse(message).Dimmer;"
            },
            "setBrightness": "cmnd/DiningRoomCentreLight/Dimmer",
            "getColorTemperature": {
                "topic": "stat/DiningRoomCentreLight/RESULT",
                "apply": "return Math.round(140 + (JSON.parse(message).CT - 153) * 360 / 347);"
            },
            "setColorTemperature": {
                "topic": "cmnd/DiningRoomCentreLight/CT",
                "apply": "return Math.round(153 + (message - 140) * 347 / 360);"
            }
        },
        "integerValue": false,
        "onValue": "ON",
        "offValue": "OFF",
        "startPub": {
            "cmnd/DiningRoomCentreLight/power": "",
            "cmnd/DiningRoomCentreLight/Dimmer": "",
            "cmnd/DiningRoomCentreLight/CT": ""
        },
        "logMqtt": true
    },
    {
        "accessory": "mqttthing",
        "type": "lightbulb",
        "name": "Computer Room Light",
        "url": "mqtt://localhost",
        "username": "DVES_USER",
        "password": "",
        "topics": {
            "setOn": "cmnd/ComputerRoomLight/power",
            "getOn": "stat/ComputerRoomLight/POWER",
            "getBrightness": {
                "topic": "stat/ComputerRoomLight/RESULT",
                "apply": "return JSON.parse(message).Dimmer;"
            },
            "setBrightness": "cmnd/ComputerRoomLight/Dimmer",
            "getColorTemperature": {
                "topic": "stat/ComputerRoomLight/RESULT",
                "apply": "return Math.round(140 + (JSON.parse(message).CT - 153) * 360 / 347);"
            },
            "setColorTemperature": {
                "topic": "cmnd/ComputerRoomLight/CT",
                "apply": "return Math.round(153 + (message - 140) * 347 / 360);"
            }
        },
        "integerValue": false,
        "onValue": "ON",
        "offValue": "OFF",
        "startPub": {
            "cmnd/ComputerRoomLight/power": "",
            "cmnd/ComputerRoomLight/Dimmer": "",
            "cmnd/ComputerRoomLight/CT": ""
        },
        "logMqtt": true
    },
    {
        "accessory": "mqttthing",
        "type": "lightbulb",
        "name": "Clothes Room Light",
        "url": "mqtt://localhost",
        "username": "DVES_USER",
        "password": "",
        "topics": {
            "setOn": "cmnd/ClothesRoomLight/power",
            "getOn": "stat/ClothesRoomLight/POWER",
            "getBrightness": {
                "topic": "stat/ClothesRoomLight/RESULT",
                "apply": "return JSON.parse(message).Dimmer;"
            },
            "setBrightness": "cmnd/ClothesRoomLight/Dimmer",
            "getColorTemperature": {
                "topic": "stat/ClothesRoomLight/RESULT",
                "apply": "return Math.round(140 + (JSON.parse(message).CT - 153) * 360 / 347);"
            },
            "setColorTemperature": {
                "topic": "cmnd/ClothesRoomLight/CT",
                "apply": "return Math.round(153 + (message - 140) * 347 / 360);"
            }
        },
        "integerValue": false,
        "onValue": "ON",
        "offValue": "OFF",
        "startPub": {
            "cmnd/ClothesRoomLight/power": "",
            "cmnd/ClothesRoomLight/Dimmer": "",
            "cmnd/ClothesRoomLight/CT": ""
        },
        "logMqtt": true
    },
    {
        "accessory": "mqttthing",
        "type": "lightbulb",
        "name": "Toilet",
        "url": "mqtt://localhost",
        "username": "DVES_USER",
        "password": "",
        "topics": {
            "setOn": "cmnd/toilet/power",
            "getOn": "stat/toilet/POWER",
            "getBrightness": {
                "topic": "stat/toilet/RESULT",
                "apply": "return JSON.parse(message).Dimmer;"
            },
            "setBrightness": "cmnd/toilet/Dimmer"
        },
        "integerValue": false,
        "onValue": "ON",
        "offValue": "OFF",
        "startPub": {
            "cmnd/toilet/power": "",
            "cmnd/toilet/Dimmer": ""
        },
        "logMqtt": true
    },

**Screenshots:**
<!-- If applicable, add screenshots to help explain your problem. -->

**Environment:**

* **Node.js Version**: v12.18.2
* **NPM Version**: v6.14.5
* **Homebridge Version**: v1.1.1
* **Homebridge GSH Plugin Version**: v1.5.0
* **Homebridge Config UI X Plugin Version**: v4.23.2
* **Operating System**: Ubuntu 20.04 LTS


<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->

App state doesn't update

Hi all! Need help. I've installed Google Home and was able to add all my devices to it. However, I've noticed that switches states are not updating when I actually switch them physically. It works fine on IOS, but not on Google Home. That's what I see in logs

hapNodeJSClient Events [{"host":"192.168.1.10","port":51826,"aid":11,"iid":10,"value":false,"status":false}]
rd1-app         | [3/7/2020, 2:14:05 PM] [Google Smart Home] Sending State Report
rd1-app         | [3/7/2020, 2:14:05 PM] [Google Smart Home] {
rd1-app         |   "type": "report-state",
rd1-app         |   "body": {
rd1-app         |     "f812cb4aeca3ba99cf7660bc498c0bfa67a504355d2c8587d1edb89fedeed424": {
rd1-app         |       "on": false,
rd1-app         |       "online": true
rd1-app         |     }
rd1-app         |   }
rd1-app         | }

Which is correct, however it doesn't take effect in the app. Seems like external events are ignored.

Any help appreciated

Can't get Homebridge Thermostat status.

I have HomeBridge installed and running with a Z-Wave thermostat. I can control the thermostat fine through HomeKit, however, google doesn't work with it.

Homebridge shows: "[Google Smart Home] Received QUERY intent", however the Google Home app shows it's Zero degrees and no status.

  • Node.js Version: 13.2.0
  • NPM Version: 6.13.2
  • Homebridge Version: 2.4.0
  • Homebridge GSH Plugin Version: 1.1.0
  • Homebridge Config UI X Plugin Version: 4.6.5
  • Operating System: Windows

Google Smart Home Unlinking in App

I've noticed that sometimes when I reboot my Raspberry Pi, the Google Home app says that my gmail account has unlinked all of my homebridge devices. Is there a solution to this? Thanks.

account linking Homebridge GSH not working

Describe Your Problem:
When I installed Homebridge GSH on my synology and try to link my account (Google or Github) then the linking proces hangs in the browser screen saying : Waiting for Homebridge, please wait…
But waiting takes forever. see screenshot.
Homebridge GSH

Logs:

Loading logs using native method...
File: /homebridge/homebridge.log

[5/15/2020, 11:47:25 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:47:25 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:47:25 AM] ---
[5/15/2020, 11:47:25 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:47:25 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:47:25 AM] ---
[5/15/2020, 11:47:25 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:47:25 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:47:25 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    ││     
    └────────────┘     
                       
[5/15/2020, 11:47:25 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:47:25 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 11:47:34 AM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 11:47:34 AM] ---
[5/15/2020, 11:47:34 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:47:34 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:47:34 AM] ---
[5/15/2020, 11:47:34 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:47:34 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:47:34 AM] ---
[5/15/2020, 11:47:34 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:47:34 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:47:34 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │
    └────────────┘     
                       
[5/15/2020, 11:47:35 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:47:35 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 11:47:43 AM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 11:47:43 AM] ---
[5/15/2020, 11:47:43 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:47:43 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:47:43 AM] ---
[5/15/2020, 11:47:43 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:47:43 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:47:43 AM] ---
[5/15/2020, 11:47:43 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:47:43 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:47:43 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │  
    └────────────┘     
                       
[5/15/2020, 11:47:44 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:47:44 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 11:47:52 AM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 11:47:52 AM] ---
[5/15/2020, 11:47:52 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:47:52 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:47:52 AM] ---
[5/15/2020, 11:47:52 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:47:52 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:47:52 AM] ---
[5/15/2020, 11:47:52 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:47:52 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:47:52 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 
    └────────────┘     
                       
[5/15/2020, 11:47:53 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:47:53 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 11:48:01 AM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 11:48:01 AM] ---
[5/15/2020, 11:48:01 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:48:01 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:48:01 AM] ---
[5/15/2020, 11:48:01 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:48:01 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:48:01 AM] ---
[5/15/2020, 11:48:01 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:48:01 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:48:01 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 
    └────────────┘     
                       
[5/15/2020, 11:48:02 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:48:02 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 11:48:10 AM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 11:48:10 AM] ---
[5/15/2020, 11:48:10 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:48:10 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:48:10 AM] ---
[5/15/2020, 11:48:10 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:48:10 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:48:10 AM] ---
[5/15/2020, 11:48:10 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:48:10 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:48:10 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │┘     
                       
[5/15/2020, 11:48:11 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:48:11 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 11:48:19 AM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 11:48:19 AM] ---
[5/15/2020, 11:48:20 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:48:20 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:48:20 AM] ---
[5/15/2020, 11:48:20 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:48:20 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:48:20 AM] ---
[5/15/2020, 11:48:20 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:48:20 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:48:20 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 
                       
[5/15/2020, 11:48:20 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:48:20 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 11:48:29 AM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 11:48:29 AM] ---
[5/15/2020, 11:48:30 AM] Loaded plugin: homebridge-dummy
[5/15/2020, 11:48:30 AM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 11:48:30 AM] ---
[5/15/2020, 11:48:30 AM] Loaded plugin: homebridge-gsh
[5/15/2020, 11:48:30 AM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 11:48:30 AM] ---
[5/15/2020, 11:48:30 AM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 11:48:30 AM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 11:48:30 AM] ---
Setup Payload:
X-HM://0023ISYWYD329
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
                                                      
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 
    └────────────┘     
                       
[5/15/2020, 11:48:31 AM] Error: listen EADDRINUSE: address already in use :::51141
    at Server.setupListenHandle [as _listen2] (net.js:1313:16)
    at listenInCluster (net.js:1361:12)
    at Server.listen (net.js:1449:7)
    at EventedHTTPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:85:21)
    at HAPServer._this.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/HAPServer.ts:258:22)
    at Bridge.Accessory._this.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:978:18)
    at Server.publishBridge (/usr/local/lib/node_modules/homebridge/src/server.ts:191:17)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:163:24
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:162:5)
[5/15/2020, 11:48:31 AM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 2:27:15 PM] [Config] Homebridge restart request received
[5/15/2020, 2:27:15 PM] [Config] UI / Bridge settings have not changed; only restarting Homebridge process
[5/15/2020, 2:27:15 PM] [HB Supervisor] Sending SIGTERM to Homebridge
[5/15/2020, 2:27:15 PM] Got SIGTERM, shutting down Homebridge...
[5/15/2020, 2:27:20 PM] [HB Supervisor] Sending SIGKILL to Homebridge
[5/15/2020, 2:27:20 PM] [HB Supervisor] Homebridge Process Ended. Code: null, Signal: SIGKILL
[5/15/2020, 2:27:25 PM] [HB Supervisor] Restarting Homebridge...
[5/15/2020, 2:27:25 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules
[5/15/2020, 2:27:26 PM] [HB Supervisor] Started Homebridge v1.0.4 with PID: 2260
[5/15/2020, 2:27:28 PM] Loaded config.json with 0 accessories and 0 platforms.
[5/15/2020, 2:27:28 PM] ---
[5/15/2020, 2:27:30 PM] Loaded plugin: homebridge-dummy
[5/15/2020, 2:27:30 PM] Registering accessory 'homebridge-dummy.DummySwitch'
[5/15/2020, 2:27:30 PM] ---
[5/15/2020, 2:27:30 PM] Loaded plugin: homebridge-gsh
[5/15/2020, 2:27:30 PM] Registering platform 'homebridge-gsh.google-smarthome'
[5/15/2020, 2:27:30 PM] ---
[5/15/2020, 2:27:30 PM] Loaded plugin: homebridge-config-ui-x
[5/15/2020, 2:27:30 PM] Registering platform 'homebridge-config-ui-x.config'
[5/15/2020, 2:27:30 PM] ---
Setup Payload:
X-HM://0023ISYWYD329
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
       
    └────────────┘     
                       
[5/15/2020, 2:27:30 PM] Homebridge is running on port 51141.

Homebridge Config:

```  "bridge": {
        "name": "Homebridge 5122",
        "username": "0E:04:48:48:51:22",
        "port": 51141,
        "pin": "031-45-154"
    },
    "accessories": [],
    "platforms": []
}



**Screenshots:**
<!-- If applicable, add screenshots to help explain your problem. -->

**Environment:**

* **Node.js Version**: <!-- node -v -->12.16.3
* **NPM Version**: <!-- npm -v -->6.14.4
* **Homebridge Version**: <!-- homebridge -V -->1.1.0
* **Homebridge GSH Plugin Version**:1.4.1
* **Homebridge Config UI X Plugin Version**:4.19.0
* **Operating System**: <!Docker -->Synology


<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->

Garage Opener Not Exposed to GA

I have an Insignia HomeKit Garage Door opener that I was hoping to use with this plug-in. Initially H-GHS did not seem to expose the device to my Google Assistant setup, so I re-ran my installation in debug mode. Below seems to be the gist of my startup, and my device in question is the 'NS-CH1XGO8' on IP 192.168.7.78. It seems to be discovered, but then fails with error code 470. Any idea what could be wrong? It seems I have a few devices failing with error 470. Let me know what else I can provide to help! Thanks!

hapNodeJSClient Starting Homebridge instance discovery +0ms
hapNodeJSClient HAP Device discovered BSB002 [ '192.168.7.54', 'fe80::217:88ff:fe21:843a' ] +228ms
hapNodeJSClient HAP instance address: BSB002 -> mikeHue.local -> 192.168.7.54:8080 +1ms
hapNodeJSClient HAP Device discovered LIFX Pls BR30 [ '192.168.7.45', 'fe80::d273:d5ff:fe22:3b76' ] +10ms
hapNodeJSClient HAP instance address: LIFX Pls BR30 -> Garage-2.local -> 192.168.7.45:80 +0ms
hapNodeJSClient HAP Device discovered NS-CH1XGO8 [ '192.168.7.78', 'fe80::2aed:e0ff:fe20:d62' ] +1ms
hapNodeJSClient HAP instance address: NS-CH1XGO8 -> GarageOpener-200D62.local -> 192.168.7.78:80 +0ms
hapNodeJSClient HAP Device discovered Wemo Mini [ '192.168.7.77', 'fe80::26f5:a2ff:fe94:3747' ] +1ms
hapNodeJSClient HAP instance address: Wemo Mini -> wemo_mini.local -> 192.168.7.77:53772 +0ms
hapNodeJSClient HAP Device discovered NL22 [ '192.168.7.80', 'fe80::255:daff:fe52:a1cc' ] +1ms
hapNodeJSClient HAP instance address: NL22 -> Light-Panels-52-a1-cc.local -> 192.168.7.80:6517 +0ms
hapNodeJSClient HAP Device discovered IDEV0004 [ '192.168.7.101' ] +1ms
hapNodeJSClient HAP instance address: IDEV0004 -> idevices-outdoor-switch.local -> 192.168.7.101:80 +0ms
hapNodeJSClient HAP Device discovered IDEV0009 [ '192.168.7.105' ] +1ms
hapNodeJSClient HAP instance address: IDEV0009 -> Wall-Dimmer-00537750.local -> 192.168.7.105:80 +0ms
hapNodeJSClient HAP Device discovered LIFX BR30 [ '192.168.7.46', 'fe80::d273:d5ff:fe22:55e8' ] +1ms
hapNodeJSClient HAP instance address: LIFX BR30 -> Garage-1.local -> 192.168.7.46:80 +0ms
hapNodeJSClient HAP Discover failed BSB002 http://192.168.7.54:8080 error code 470 +14ms
hapNodeJSClient HAP Discover failed IDEV0009 http://192.168.7.105:80 error code 470 +1ms
hapNodeJSClient HAP Discover failed Wemo Mini http://192.168.7.77:53772 error code 470 +6ms
hapNodeJSClient HAP Discover failed IDEV0004 http://192.168.7.101:80 error code 470 +10ms
hapNodeJSClient HAP Discover failed NS-CH1XGO8 http://192.168.7.78:80 error code 470 +9ms
hapNodeJSClient HAP Discover failed NL22 http://192.168.7.80:6517 error code 470 +52ms
hapNodeJSClient Ending Homebridge instance discovery +10s

Two Factor Authentication for Garage Doors

Is your feature request related to a problem? Please describe:
I love the Two Factor Authentication for locks but it doesn't seem to apply to garage door openers.

Describe the solution you'd like:
Prompt for the Two Factor Authentication PIN when trying to OPEN the garage door and not when closing the door. Just like the locks work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.