-
|
I seem to be super confused and need help. sometime later....
What i would like to do:
My questions:
Can anyone provide guidance or direct me to a how to? |
Beta Was this translation helpful? Give feedback.
Replies: 20 comments 132 replies
-
|
It's working! - though i am still confused about persisting state across container refreshes.... which i think is required for the mesh network to be reformed when the container is recreated? any answers i think i have found have been updated in the OP |
Beta Was this translation helpful? Give feedback.
-
|
Interesting, i was forced to delete the OTBR container + replug the SkyConnect as it was non functional
it either used data on the RCP or home assistant store the previous network in thread AND persisted that even when i deleted the OTBR integration! i am trending to the latter..... |
Beta Was this translation helpful? Give feedback.
-
|
based on the suggestion in this thread home-assistant/addons#3532 (comment) i am now trying another approach:
ser2net compose file (runs on the remote pi) set2net.yaml file otbr-addon yaml config
|
Beta Was this translation helpful? Give feedback.
-
|
random question: why do the home assistant folks disable mdns in their OTBR add-on when it is required by the thread specification for all border routers.... |
Beta Was this translation helpful? Give feedback.
-
Just want to put that out here, especially for other folks comming here: We work hard to build exactly that, as an out-of-the-box working solution: Home Assistant OS + OpenThread Border Router add-on provides a well tested and known working platform. It is built ontop of Linux + Docker, and comes with the Supervisor (roughly HA specific "container" manager). And we seek always for contributors, as our system certainly isn't perfect 😉 That said, I do understand, there is fun and value in building something like that from scratch. Not judging, just sayin 😄 I'll answer to things/question in here in more details per answer/topic. |
Beta Was this translation helpful? Give feedback.
-
|
In general, from what I can tell, the container offered by this upstream project is really more meant for development/testing. The fact that by default Thread network settings are not stored shows that. That said, ideally I would like to offer a "pure" container to run a OTBR for the Home Assistant community, for those using Core container and Matter container installations. Ideally, I'd like to use that container then as base for the add-on. We have a similar setup for Matter: The python-matter-server project offers a pure container, and this pure container is then also turned into an add-on. Maybe we could even go a step further and adjust/synchronize with the upstream |
Beta Was this translation helpful? Give feedback.
-
|
Hoping that both of you continue development of the OTBR as a Home Assistant container. I've a similar set up as scyto in that I run HA in docker using Docker Compose via Portainer. My Zigbee2MQTT and Mosquito are all containers. The OS is Ubuntu running as a VM on baremetal ESXi. My Zigbee radios are PoE SMlights. One blocker is this OTBR in a docker. @scyto , you mentioned writing a doc. Any chance that happened? |
Beta Was this translation helpful? Give feedback.
-
|
@scyto @agners Interesting discussion here, do you know if anyone has done any progress to create a docker image that is independent from HassOS and can be used ? I run all my things in docker containers using docker compose and would love to have OTBR in a docker container. The only solution i have now is to move HassOS but i like the control i have using docker on my own. |
Beta Was this translation helpful? Give feedback.
-
|
Yesterday my Nabu Casa Connect ZBT-1 arrived and I naively thought that it's easy to integrate the stick with Thread into homeassistant which is also running as a docker container with docker-compose over portainer. I wouldn't by another Thread Boarder Router like Amazon Echo or a Homepod. Just use the stick in my Raspberry Pi5. I am also very interested in a docker-compose.yaml for the current OTBR to easily add the Open Thread Boarder Router Integration with a url in Home Assistant to install my e.g. Eve energy plugs and move forward to replace older devices with newer Matter over Thread devices. Is there still anybody working on a docker image that is independent from HassOS? Best regards |
Beta Was this translation helpful? Give feedback.
-
|
I have this Nabu Casa Stick (ZBT-1 / SkyConnect) for a while now and just gave up because the Thread setup seemed so complicated. Now I tried it again with Docker, and somehow I guess I managed to get it nearly working.
Any idea what could be wrong?
Can you please explain a few things to me? So this is the official guide of how to install OpenThread for Docker, right: https://openthread.io/guides/border-router/build-docker Is the topic and also the manual so new and active that environment variables are missing? I mean And what is the difference between |
Beta Was this translation helpful? Give feedback.
-
|
oh i already have a compose, i was looking to see if i had missed anything (i have tried with and without the &usart-init-deassert) but it results in this, its as if it cant see the skyconnect at all not this is what happens when i use the compose on pi OR if i use the add-on builtin to haso now when i expose my RCP from the same pi using a ser2net container, it works just fine!? ser2net.yaml so i know the RCP works, i know i am mapping it correctly with compose, what i don't know is why it wont locally on the pi or locally on the hasos machine, but it will work when piped over the network, makes no sense to me, not sure what i am missing and here is rhe sample output when i go hasos obty add-on > network > ser2net running on pi > skyconnect plugged into pi, works pefectly.... i am a total loss..... and here is the otbr-add having the same issue, but you can see the flasher detects the device just fine, its just otbr that can't...... |
Beta Was this translation helpful? Give feedback.
-
|
@jwhui hi, finally got my RCP working with the container. Here is what i did so far (havent managed to commission a device)
my suspicion is this is some form of network connectivity issue (the app on the phone can't connect to the device via the border router - note a run a dual stack IPv4 env across my entire estate, i will go back and make sure that home assistant has one of my GUA i remeber from doing this in May last year that the last step was an end-2-end IPv6 connecitivty check in someway, can't recall. Here is where you can see the otbr integration and. thread inetgration see the border router just fine (do we need to keep these keys hidden?)
Could you add ifconfig to the container image so i can query the nics etc (of if a if you prefer) |
Beta Was this translation helpful? Give feedback.
-
|
@saschabrockel starting new answer to contain your issues look at my answer above where i went from not working and effing cofused to working (and i still may be super conused and have done the wrong things)
let me know if i can help by looking at my now working system (i am terrified of restarting the container, rofl) |
Beta Was this translation helpful? Give feedback.
-
|
@jwhui interesting, i set up a new network name, and it is being broadcast (fyi home assistant has an mDNS browser built into it :-)
but home assistant doesn't pick up the change (even after removing and re-adding all integrations - will try reboot) FYI only as you don't have anything to do witn home assistant (afaik?) |
Beta Was this translation helpful? Give feedback.
-
|
Ok 2025.09.11 Answer Key Requirements
My setup is:
The docker compose on the pi: Sequence of fresh install (assumes home assistant OS is installed - not docker or supervised)
Note: Troubleshooting commissioning:
|
Beta Was this translation helpful? Give feedback.
-
|
For the record, I got HA, otbr and matter-server working in docker with the folowing docker-compose : This way thread is discovered by HA throuh mDNS, OTBR integration need to be configured with |
Beta Was this translation helpful? Give feedback.
-
|
That's the same problem I was facing, and it was caused by the otbr not advertising correctly to the network, so that's why I suggested these potential solutions.
What netdata and meshcop show? Is everything working there?
…On Thu, Oct 2, 2025, at 22:39, Sascha Brockel wrote:
@mnllrnz <https://github.com/mnllrnz>, that was never a problem. The problem starts with the Thread integration in Home Assistant for me. It looks like this:
image.png (view on web) <https://github.com/user-attachments/assets/78a975ff-eff2-4d87-bc48-4e45beca67b1>
—
Reply to this email directly, view it on GitHub <#10311 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BCLYHV7MGMOMI4MKDOXIBED3VWEQ5AVCNFSM6AAAAABIQEDXA2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTINJXG44DSNQ>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
I have a similar setup running docker on an ubuntu host with a Sonoff Zigbee 3.0 USB Dongle Plus–ZBDongle-E plugged in. I am trying to add a XIAO MG24 as Matter / Thread device as described here. I took these steps:
settings
set these in /etc/sysctl.conf: Then run I'm unsure if this is correct, as this script from this guide says
docker-compose.yaml
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /home/daniel/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
restart: unless-stopped
privileged: true
network_mode: host
otbr:
container_name: otbr
image: openthread/border-router:latest
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
environment:
OT_RCP_DEVICE: "spinel+hdlc+uart:///dev/ttyUSB0?uart-baudrate=460800"
AUTOFLASH_FIRMWARE: 0
OT_INFRA_IF: enp1s0
OT_THREAD_IF: wpan0
OT_LOG_LEVEL: 7
OT_REST_LISTEN_ADDR: "0.0.0.0"
OT_REST_LISTEN_PORT: 8081
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
- /dev/net/tun:/dev/net/tun
volumes:
- /etc/localtime:/etc/localtime:ro
- /home/daniel/otbr/thread:/data
# see https://github.com/matter-js/python-matter-server/blob/main/docs/docker.md
matter-server:
image: ghcr.io/home-assistant-libs/python-matter-server:stable
container_name: matter-server
restart: unless-stopped
# Required for mDNS to work correctly
network_mode: host
security_opt:
# Needed for Bluetooth via dbus
- apparmor:unconfined
volumes:
- /home/daniel/matter-server/data:/data/
- /etc/localtime:/etc/localtime:ro
# Required for Bluetooth via D-Bus
- /run/dbus:/run/dbus:ro
command: --storage-path /data --paa-root-cert-dir /data/credentials --bluetooth-adapter 0 --log-level verbose
I cannot see any obvious errors in the logs of the otbr or the matter-server containers. IPv6 and mDNS generally seem to work in my local network, I think otherwise I would have failed earlier in the process of setting up the integrations. My phone is connected to the same network. So I guess it's either a IPv6 problem or a problem with the device I am trying to connect (unfortunately I don't have another device). Does anyone have tips? |
Beta Was this translation helpful? Give feedback.
-
|
Hi all. With your help I managed to get my OTBR on Unraid to run and I can´t strech enough how thankfull I am. Do you have an idea what I can do to fix this? |
Beta Was this translation helpful? Give feedback.
-
|
Hi everyone, this is my Docker stack, but I can't connect devices via the HA Companion app. (After a while the pairing on my companion responds with "unable to reach the device") IPv6 is enabled correctly. I tried installing HAOS on another PC and was able to add the devices successfully. I'm probably doing something wrong in the configuration or there are network issues. Can you help me? Thanks! services:
matter-server:
|
Beta Was this translation helpful? Give feedback.













Ok 2025.09.11 Answer
Key Requirements