home-assistant / home-assistant.io

:blue_book: Home Assistant User documentation
https://www.home-assistant.io
Other
4.82k stars 7.21k forks source link

Support for connecting an external OpenThread Border Router #32210

Open linkedupbits opened 5 months ago

linkedupbits commented 5 months ago

Feedback

I have picked up an Espressif ESP32 OpenThread Border Router for testing.

I have two use cases:

  1. Join the router to an existing Apple Thread Network (HomeAssistant has already joined) as an additional Border Router. On the OTBR GUI I can scan and attempt to join the Apple Thread network, however I require the Network Key and Prefix. Can these be exposed in the iPhone companion app to enable this?
  2. Create a new thread network on the OTBR and connect HomeAssitant to this. HomeAssitant can see the OTBR when it forms a new Thread network, but there is no method to join it. As I would be manually provisioning the Thread network, I could manually enter the required keys.

Are either of these use cases possible? Thanks

URL

https://www.home-assistant.io/integrations/thread/

Version

2024.4.1

Additional information

Example Join Dialog from OpenThread Border Router: image

Example of detected OpenThread network in Home Assistant: image

home-assistant[bot] commented 5 months ago

Hey there @home-assistant/core, mind taking a look at this feedback as it has been labeled with an integration (thread) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `thread` can trigger bot actions by commenting: - `@home-assistant close` Closes the feedback. - `@home-assistant rename Awesome new title` Renames the feedback. - `@home-assistant reopen` Reopen the feedback. - `@home-assistant unassign thread` Removes the current integration label and assignees on the feedback, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information) to the feedback. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information) on the feedback.
sbisschops commented 4 months ago

I would like to second this request. I'm running Home Assistant with a Zigbee/Thread stick (Sonoff zbdongle E), but it's the only (border) router I have in the entire house. Naturally my Thread network sucks, devices work half the time simply because the router is too far away.

I got an ESP H2 to solve the issue, it now functions as a Thread Router and I have successfully extended my network. Connecting it required some digging though, because I couldn't find my network key anywhere in the Home Assistant UI. Since I'm using Home Assistant as my main Thread Border Router I also run the OpenThread Border Router addon, which comes with a web & rest api (disabled by default). After enabling them I found my network key hidden in the rest api. For reference, here it is: http://homeassistant:8081/node/dataset/active

Exposing the network key somewhere would make it much easier to configure this in the future. I would prefer it to be added in the standard Home Assistant UI, because I think that's where most people will look and it will also work in the app. The data currently shown in Home Assistant seems completely useless to me, with the exception of network name and (maybe) pan id: image

If this is updated anyway, I would also include the PSKc. It's the only alternative to join a Thread network manually and it's available via the same rest api.

I'm afraid my solution isn't going to help @linkedupbits, since you're running an existing Thread network outside of Home Assistant. I'm not even sure if anyone but Apple can help you get the key from an Apple device, since Home Assistant isn't actually part of your Thread network. I think it's just connected via TCP/IP.