core icon indicating copy to clipboard operation
core copied to clipboard

External OpenThread Border Router disappears out of UI after ~10 minutes

Open ndom91 opened this issue 11 months ago • 3 comments

The problem

So this is very similar to what has been posted before here (https://github.com/home-assistant/core/issues/110152), however, my setup is as follows:

  • HomeAssistant Supervised running in a proxmox VM
  • As border router hardware I am using the Espressif reference board - https://developer.espressif.com/blog/espressif-thread-border-router/

Issue

  1. I've added my external border router as an "OpenThread Border Router" device:

Image

  1. Then I've added the "Thread" integration and HA generated a thread network

Image

Image

  1. Here where it says "No border router found", it initially showed my border router esp-ot-br.local and I was able to set the "Use Android/iOS Credentials" option and the border router gained the little phone icon next to its name.

  2. However, ~10 minutes later the esp-ot-br.local Border Router entry disappeared out of the Thread preferred network device list and now it just says "No border router found.."

  3. I reset everything by removing the "OpenThread Border Router" integration and re-adding it and was able to add the thread integration again at which point I was the device in the list again, however, the same thing happened where ~10 minutes later the device was no longer visible here.

This entire time, I'm still able to access the JSON API of the border router, i.e.

Image

Am I missing something? Is the Espressif OpenThread reference hardware device (ESP32C3 + ESP32H2 in 1 board) maybe not even supported? 🤔

What version of Home Assistant Core has the issue?

core-2025.2.1

What was the last working version of Home Assistant Core?

core-2025.2.1

What type of installation are you running?

Home Assistant Supervised

Integration causing the issue

OpenThreadBorderRouter

Link to integration documentation on our website

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

Diagnostics information

config_entry-thread-01JKNH1X0TPRR7PHB7D666J1GT.json

`config_entry-thread-01JKNH1X0TPRR7PHB7D666J1GT.json`

{
  "home_assistant": {
    "installation_type": "Home Assistant Supervised",
    "version": "2025.2.1",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.13.1",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "5.10.0-30-amd64",
    "supervisor": "2025.02.0",
    "host_os": "Debian GNU/Linux 11 (bullseye)",
    "docker_version": "27.1.2",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "additional_ca": {
      "documentation": "https://www.github.com/Athozs/hass-additional-ca",
      "version": "0.0.0",
      "requirements": [
        "aiofiles==24.1.0"
      ]
    },
    "watchman": {
      "documentation": "https://github.com/dummylabs/thewatchman",
      "version": "0.6.5",
      "requirements": [
        "prettytable==3.12.0"
      ]
    },
    "waste_collection_schedule": {
      "documentation": "https://github.com/mampfes/hacs_waste_collection_schedule#readme",
      "version": "2.6.0",
      "requirements": [
        "icalendar",
        "icalevents>=0.1.26,!=0.1.28",
        "beautifulsoup4",
        "lxml",
        "pycryptodome"
      ]
    },
    "circadian_lighting": {
      "documentation": "https://github.com/claytonjn/hass-circadian_lighting",
      "version": "2.1.4",
      "requirements": []
    },
    "hacs": {
      "documentation": "https://hacs.xyz/docs/use/",
      "version": "2.0.5",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "monitor_docker": {
      "documentation": "https://github.com/ualex73/monitor_docker",
      "version": "1.18",
      "requirements": [
        "aiodocker==0.22.0",
        "python-dateutil==2.9.0"
      ]
    },
    "wakeword_installer": {
      "documentation": "https://github.com/fwartner/ha-openwakeword-installer",
      "version": "1.0.5",
      "requirements": [
        "gitpython"
      ]
    },
    "dirigera_platform": {
      "documentation": "https://github.com/sanjoyg/dirigera_platform",
      "version": "0.0.1",
      "requirements": [
        "dirigera==1.2.1"
      ]
    },
    "checkly": {
      "documentation": "https://github.com/ndom91/homeassistant-checkly",
      "version": "0.1.3",
      "requirements": [
        "requests==2.28.1"
      ]
    },
    "hon": {
      "documentation": "https://github.com/Andre0512/hon/",
      "version": "0.14.0",
      "requirements": [
        "pyhOn==0.17.5"
      ]
    },
    "pirateweather": {
      "documentation": "https://github.com/alexander0042/pirate-weather-ha",
      "version": "1.7",
      "requirements": []
    },
    "bambu_lab": {
      "documentation": "https://github.com/greghesp/ha-bambulab",
      "version": "2.0.46",
      "requirements": [
        "cloudscraper"
      ]
    },
    "spook_inverse": {
      "documentation": "https://spook.boo",
      "version": "3.1.0",
      "requirements": []
    },
    "favicon": {
      "documentation": "https://github.com/thomasloven/hass-favicon",
      "version": "10.4",
      "requirements": []
    },
    "healthchecksio": {
      "documentation": "https://github.com/custom-components/healthchecksio",
      "version": "22.2.0",
      "requirements": [
        "integrationhelper"
      ]
    },
    "spook": {
      "documentation": "https://spook.boo",
      "version": "3.1.0",
      "requirements": []
    },
    "berlin_transport": {
      "documentation": "https://github.com/vas3k/home-assistant-berlin-transport",
      "version": "0.1.0",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "thread",
    "name": "Thread",
    "codeowners": [
      "home-assistant/core"
    ],
    "config_flow": true,
    "dependencies": [
      "zeroconf"
    ],
    "documentation": "https://www.home-assistant.io/integrations/thread",
    "integration_type": "service",
    "iot_class": "local_polling",
    "requirements": [
      "python-otbr-api==2.7.0",
      "pyroute2==0.7.5"
    ],
    "zeroconf": [
      "_meshcop._udp.local."
    ],
    "is_built_in": true,
    "overwrites_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 9.045004844665527e-05
    },
    "01JJ008EFY5ZF8FF40P6S7SGZ5": {
      "config_entry_setup": 3.5315752029418945e-06
    }
  },
  "data": {
    "networks": {
      "8f42a11c36261fcb": {
        "name": "ha-thread-48ce",
        "routers": {},
        "prefixes": [
          "fd4c:4ead:ec27:d374"
        ],
        "unexpected_routers": []
      }
    }
  }
}

Example YAML snippet

N/A

Anything in the logs that might be useful for us?

N/A

Additional information

OpenThread Border Router /diagnostics endpoint output:

Image

ndom91 avatar Feb 09 '25 15:02 ndom91

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

Code owner commands

Code owners of otbr can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign otbr Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


otbr documentation otbr source (message by IssueLinks)

home-assistant[bot] avatar Feb 09 '25 15:02 home-assistant[bot]

Hey there @home-assistant/core, mind taking a look at this issue 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 issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign thread Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


thread documentation thread source (message by IssueLinks)

home-assistant[bot] avatar Feb 09 '25 15:02 home-assistant[bot]

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Closing this. For anyone else coming across it, I ended up going with the Homeassistant ZBT-1 (Skyconnect) instead and although the setup wasn't straight forward again with my OPNSense powered local network, I did end up getting that to work eventually.

ndom91 avatar May 13 '25 14:05 ndom91