Home Monitoring with Things Gateway 0.6

The Eve Room 1 is supported, but there are a lot of Bluetooth issues with the Pi and with noble, the Bluetooth library we use for Node.js. See here for more information. Unfortunately, I don’t have a good solution.

Thnaks, I disabled WiFi but still no progress.
The pattern is that with every pairing attempt I get “timeout”, then “Got error status: 6” with following attempt and then timeout again. And it goes on like this.

2019-10-09 08:55:14.944 INFO : AdapterProxy: setPin: xxx-xx-xxx for: homekit-3a:e0:e5:75:1b:99
2019-10-09 08:55:37.040 INFO : homekit: Pairing failed for device 3a:e0:e5:75:1b:99: Timeout
2019-10-09 08:55:37.042 ERROR : homekit: AddonManagerProxy: Failed to set PIN for device homekit-3a:e0:e5:75:1b:99
2019-10-09 08:55:37.043 ERROR : homekit: undefined
2019-10-09 08:55:37.045 ERROR : Failed to set PIN for homekit-3a:e0:e5:75:1b:99: undefined
2019-10-09 08:55:40.100 INFO : AdapterProxy: setPin: xxx-xx-xxx for: homekit-3a:e0:e5:75:1b:99
2019-10-09 08:55:42.851 INFO : homekit: Pairing failed for device 3a:e0:e5:75:1b:99: M1: Got error status: 6
2019-10-09 08:55:42.854 ERROR : homekit: AddonManagerProxy: Failed to set PIN for device homekit-3a:e0:e5:75:1b:99
2019-10-09 08:55:42.856 ERROR : homekit: undefined
2019-10-09 08:55:42.857 ERROR : Failed to set PIN for homekit-3a:e0:e5:75:1b:99: undefined

Any hints how to further troubleshoot it? I would really love to get this to work.

It seems like you’re in a bad loop of:

  1. Reset device
  2. Try to pair
  3. Get timeout
  4. Pairing actually succeeded
  5. Cannot pair

We could try increasing the timeout period and see if that helps, though I’m not sure it will. I pushed out a small update to the add-on, version 0.6.1, with that change. Please let me know if it helps.

You will have to reset your device again, since you’re back in a paired state.

Trying 0.6.1, it’s a bit different:

2019-10-09 19:35:32.724 INFO : AdapterProxy: setPin: xxx-xx-xxx for: homekit-33:49:8c:8a:ee:6b
2019-10-09 19:35:54.994 INFO : Pairing timeout
2019-10-09 19:35:54.999 ERROR : Thing was not added
2019-10-09 19:35:55.000 ERROR : addNewThing cancelled
2019-10-09 19:35:55.014 INFO : homekit: Adapter: HomeKitAdapter id homekit-adapter pairing cancelled
2019-10-09 19:35:55.018 INFO : thing-url: Adapter: ThingURLAdapter id thing-url-adapter pairing cancelled
2019-10-09 19:35:58.742 INFO : homekit: Pairing failed for device 33:49:8c:8a:ee:6b: TypeError: Cannot read property ‘0’ of undefined
2019-10-09 19:35:58.745 ERROR : homekit: AddonManagerProxy: Failed to set PIN for device homekit-33:49:8c:8a:ee:6b
2019-10-09 19:35:58.747 ERROR : homekit: undefined
2019-10-09 19:35:58.749 ERROR : Failed to set PIN for homekit-33:49:8c:8a:ee:6b: undefined

And then subsequent attempt:

2019-10-09 19:38:02.259 INFO : AdapterProxy: setPin: xxx-xx-xxx for: homekit-33:49:8c:8a:ee:6b
2019-10-09 19:38:28.017 INFO : homekit: Pairing failed for device 33:49:8c:8a:ee:6b: TypeError: Cannot read property ‘0’ of undefined
2019-10-09 19:38:28.020 ERROR : homekit: AddonManagerProxy: Failed to set PIN for device homekit-33:49:8c:8a:ee:6b
2019-10-09 19:38:28.021 ERROR : homekit: undefined
2019-10-09 19:38:28.023 ERROR : Failed to set PIN for homekit-33:49:8c:8a:ee:6b: undefined

Should I open an issue with https://github.com/mozilla-iot/homekit-adapter ?

Another observation: although the timeout has been increased, still it takes much longer to pair my Eve Room to iOS.
Is there a way for me to increase the timeout to something much larger locally on my gateway?

Unfortunately, I think this is just back to the standard Bluetooth issues. I’ve tried increasing the timeout to something really high in the past, but it hasn’t made any difference.

That did not sound very encouraging. :frowning:
Any other options? Rust?

The best option is probably bluepy for Python, but the last time I used it, the library segfaulted immediately.

Regardless, switching languages would require a full rewrite of the HAP controller library.