I try to set up a Thead Network. I have no previous experience, just installed HAOS in UTM with bridget network. Ping to the GL-S20 works from Homeassistant, but trying to add it to home assistant as open thread boarder router fails on the first step.
I cannot integrate my GL-S20 Thread Border Router with Home Assistant.
Firmware: 2.1.1-Release2 (latest available through the web interface)
Home Assistant cannot connect to the OTBR endpoint.
Using http://192.168.178.111 in the integration also fails.
Relevant log entries:
obtr_web: Failed to open file: /spiffs/otbr/api/actions
obtr_web: Failed to open file: /spiffs/otbr/node/ba-id
Thread itself reaches Leader status. The issue appears to be the OTBR REST API endpoint rather than Thread network formation.
Could you confirm whether port 8081 should be listening on the LAN interface in this firmware, and advise on a fix or recovery image if the API service is missing? (I haven’t tried wifi)
On 2.0.1-B1 this worked: Home Assistant's OTBR integration connected and imported the Thread dataset in August 2025.
I compared the firmware images. gl-s20-otbr-v2.0.1-B1.bin contains the OTBR REST endpoints (/node/state, /node/ba-id, /node/dataset/active, …). None of the 2.1.1-Release2 images (app, web, rcp, combine) contain them. So the REST API appears to have been removed in 2.1.1, which breaks the Home Assistant setup your guide describes.
System log
System → Log doesn't load, and Export doesn't work either. The admin page is also generally slow.
The other report in this thread shows obtr_web: Failed to open file: /spiffs/otbr/.... Is the log problem a known 2.1.1 bug, or a sign of a problem with the flash storage?
Questions
Was removing the REST API intentional? Wielease?
Is the log page failure a known firmware issue?
Is there a safe way to downgrade to 2.0.1on, without losing the Thread network(dataset/network key)?
Currently, Home Assistant integration is only supported by the B1 firmware.
You mentioned that the System → Log page and Export function are not working properly. Under what circumstances does this happen, and is it reproducible every time or only occasionally?
To avoid potential issues caused by configuration incompatibility, we recommend flashing B1 without retaining the current configuration.
We apologize for the inconvenience and appreciate your patience and understanding.