Hi,
I know there was a topic with this subject. I know that there are some attemps on github to make integration for home assistant. I know that there is two official integration for openwrt in home assistant.
But, don't get me wrong because I don't know how to write this without to maybe offend people doing their best in their free time, are just not good enough,
Can we finally have a nice ingratiation for openwrt routers in home assistant? But that I mean gui, click and go. Just look at integration for other routers vendors. They are way better then you can get on openwrt. But on the other hand openwrt is way better then most of them can offer.
I'm pretty sure I'm not the only guy using openwrt and having home assistant. I'm not developer and I can't help in that way because I obviously don't have enough knowledge and skill to do it.
But can eventually something be done? And is there a way that we who are using home assistant can help?
I'm not aware that either of them are 'official' (by which I assume you mean created by the openwrt devs).
Yeah, eventually someone with the required knowledge, skills, free time, and desire to create an integration may come along and create something. If that's not good enough then I guess you'll have to roll up your sleeves and have a go yourself.
This where I don't want this eventual discussion goes. If it is not good enough for me?
Have you ever tried those integrations? And have you tried other integrations for other routers? If you have time please do so. And I'm pretty sure you will notice some difference.
What do you want the integrations to do? That’s the question.
I’m aware of the presence integration which takes advantage of the ubus api to get an auth token and then make calls. The only parameters required are login and password. Pretty simple to set up, why does it need to be more grand than that?
Do you want the OpenWrt configuration side automated or the HA side automated, or both?
I don’t think someone will pick this task up unless it is of specific interest to them. HA generally requires some manual configuration skills, this doesn’t feel like a large hurdle in this instance.
Yes, if it's not good enough then sort it yourself. Or wait for someone else to do it. Those are the 2 options.
If someone with the the required skills/knowledge and free time had already had wanted to create a better integration then it would exist. That it doesn't means noone has.
Well if you ask me it would be nice to have all devices connected to openwrt ap listed in home assistant. Then to control on/off wifi, have sensor for cpu, mem usage, network usage per bridge, per device etc. Look at this, this is integration for asus router.
I am sure that this and much better then this can be done for openwrt routers. On the other hand I understand that people are doing this in their free time. As I'm not developer and I can't help in that way, maybe I can help buying coffe.
Yes it is. Just because you don't like it doesn't mean it isn't the answer
The logical explanation is that no-one who is able to do it has wanted to do it. We can only guess why that is but that doesn't change the fact they haven't. If they had wanted to then the integration would exist.
I see you've previously made a similar topic over in the home assistant community without getting very far. If no-one over there has the skills and desire to create a 'better' integration then I can't imagine you'd be more likely to find a suitable candidate here.
It’s called “OpenWrt (ubus)” in HA. You linked it above.
Everything you have asked for is possible via a ubus API. Someone needs to go to the effort.
I know you don’t like the other responses on this thread but it is reality. If you don’t have the skills yourself you are coming here cap in hand hoping someone else is interested AND has those skills.
If it’s important enough to you perhaps you would offer a bounty?
Either way, as someone coming cap in hand asking for something, you might want to check the attitude at the door.
Im not looking for a candidate here and there. I'm asking simple question that is logical for me. Probably for you and maybe others this isnt. But the fact is that there isn't any decent integration for openwrt routers in home assistant.
Ok, but if I use just openwrt routers for mesh and use a decent router with good support in ha like ubiquiti as gateway router then I don't need openwrt integration anyway.
# Automatically generated by gen_requirements_all.py, do not edit
aiodhcpwatcher==1.0.2
aiodiscover==2.1.0
aiodns==3.2.0
aiohasupervisor==0.2.2b5
aiohttp-asyncmdnsresolver==0.0.1
aiohttp-fast-zlib==0.2.0
aiohttp==3.11.11
aiohttp_cors==0.7.0
aiozoneinfo==0.2.1
astral==2.2
async-interrupt==1.2.0
async-upnp-client==0.42.0
atomicwrites-homeassistant==1.4.1
attrs==24.2.0
audioop-lts==0.2.1;python_version>='3.13'
av==13.1.0
awesomeversion==24.6.0
bcrypt==4.2.0
bleak-retry-connector==3.6.0
bleak==0.22.3
bluetooth-adapters==0.20.2
bluetooth-auto-recovery==1.4.2
bluetooth-data-tools==1.20.0
cached-ipaddress==0.8.0
certifi>=2021.5.30
ciso8601==2.3.2
cronsim==2.6
cryptography==44.0.0
dbus-fast==2.24.3
fnv-hash-fast==1.0.2
go2rtc-client==0.1.2
ha-ffmpeg==3.2.2
habluetooth==3.7.0
hass-nabucasa==0.87.0
hassil==2.1.0
home-assistant-bluetooth==1.13.0
home-assistant-frontend==20250106.0
home-assistant-intents==2025.1.1
httpx==0.27.2
ifaddr==0.2.0
Jinja2==3.1.5
lru-dict==1.3.0
mutagen==1.47.0
orjson==3.10.12
packaging>=23.1
paho-mqtt==1.6.1
Pillow==11.1.0
propcache==0.2.1
psutil-home-assistant==0.0.1
PyJWT==2.10.1
pymicro-vad==1.0.1
PyNaCl==1.5.0
pyOpenSSL==24.3.0
pyserial==3.5
pyspeex-noise==1.0.2
python-slugify==8.0.4
PyTurboJPEG==1.7.5
pyudev==0.24.1
PyYAML==6.0.2
requests==2.32.3
securetar==2024.11.0
SQLAlchemy==2.0.36
standard-aifc==3.13.0;python_version>='3.13'
standard-telnetlib==3.13.0;python_version>='3.13'
typing-extensions>=4.12.2,<5.0
ulid-transform==1.0.2
urllib3>=1.26.5,<2
uv==0.5.8
voluptuous-openapi==0.0.5
voluptuous-serialize==2.6.0
voluptuous==0.15.2
webrtc-models==0.3.0
yarl==1.18.3
zeroconf==0.136.2
# Constrain pycryptodome to avoid vulnerability
# see https://github.com/home-assistant/core/pull/16238
pycryptodome>=3.6.6
# Constrain httplib2 to protect against GHSA-93xj-8mrv-444m
# https://github.com/advisories/GHSA-93xj-8mrv-444m
httplib2>=0.19.0
# gRPC is an implicit dependency that we want to make explicit so we manage
# upgrades intentionally. It is a large package to build from source and we
# want to ensure we have wheels built.
grpcio==1.67.1
grpcio-status==1.67.1
grpcio-reflection==1.67.1
# This is a old unmaintained library and is replaced with pycryptodome
pycrypto==1000000000.0.0
# This is a old unmaintained library and is replaced with faust-cchardet
cchardet==1000000000.0.0
# To remove reliance on typing
btlewrap>=0.0.10
# This overrides a built-in Python package
enum34==1000000000.0.0
typing==1000000000.0.0
uuid==1000000000.0.0
# httpx requires httpcore, and httpcore requires anyio and h11, but the version constraints on
# these requirements are quite loose. As the entire stack has some outstanding issues, and
# even newer versions seem to introduce new issues, it's useful for us to pin all these
# requirements so we can directly link HA versions to these library versions.
anyio==4.7.0
h11==0.14.0
httpcore==1.0.5
# Ensure we have a hyperframe version that works in Python 3.10
# 5.2.0 fixed a collections abc deprecation
hyperframe>=5.2.0
# Ensure we run compatible with musllinux build env
numpy==2.2.1
pandas~=2.2.3
# Constrain multidict to avoid typing issues
# https://github.com/home-assistant/core/pull/67046
multidict>=6.0.2
# Version 2.0 added typing, prevent accidental fallbacks
backoff>=2.0
# ensure pydantic version does not float since it might have breaking changes
pydantic==2.10.4
# Required for Python 3.12.4 compatibility (#119223).
mashumaro>=3.13.1
# Breaks asyncio
# https://github.com/pubnub/python/issues/130
pubnub!=6.4.0
# Package's __init__.pyi stub has invalid syntax and breaks mypy
# https://github.com/dahlia/iso4217/issues/16
iso4217!=1.10.20220401
# pyOpenSSL 24.0.0 or later required to avoid import errors when
# cryptography 42.0.0 is installed with botocore
pyOpenSSL>=24.0.0
# protobuf must be in package constraints for the wheel
# builder to build binary wheels
protobuf==5.29.2
# faust-cchardet: Ensure we have a version we can build wheels
# 2.1.18 is the first version that works with our wheel builder
faust-cchardet>=2.1.18
# websockets 13.1 is the first version to fully support the new
# asyncio implementation. The legacy implementation is now
# deprecated as of websockets 14.0.
# https://websockets.readthedocs.io/en/13.0.1/howto/upgrade.html#missing-features
# https://websockets.readthedocs.io/en/stable/howto/upgrade.html
websockets>=13.1
# pysnmplib is no longer maintained and does not work with newer
# python
pysnmplib==1000000000.0.0
# The get-mac package has been replaced with getmac. Installing get-mac alongside getmac
# breaks getmac due to them both sharing the same python package name inside 'getmac'.
get-mac==1000000000.0.0
# We want to skip the binary wheels for the 'charset-normalizer' packages.
# They are build with mypyc, but causes issues with our wheel builder.
# In order to do so, we need to constrain the version.
charset-normalizer==3.4.0
# dacite: Ensure we have a version that is able to handle type unions for
# NAM, Brother, and GIOS.
dacite>=1.7.0
# chacha20poly1305-reuseable==0.12.x is incompatible with cryptography==43.0.x
chacha20poly1305-reuseable>=0.13.0
# pycountry<23.12.11 imports setuptools at run time
# https://github.com/pycountry/pycountry/blob/ea69bab36f00df58624a0e490fdad4ccdc14268b/HISTORY.txt#L39
pycountry>=23.12.11
# scapy==2.6.0 causes CI failures due to a race condition
scapy>=2.6.1
# tuf isn't updated to deal with breaking changes in securesystemslib==1.0.
# Only tuf>=4 includes a constraint to <1.0.
# https://github.com/theupdateframework/python-tuf/releases/tag/v4.0.0
tuf>=4.0.0
# https://github.com/jd/tenacity/issues/471
tenacity!=8.4.0
# 5.0.0 breaks Timeout as a context manager
# TypeError: 'Timeout' object does not support the context manager protocol
async-timeout==4.0.3
# aiofiles keeps getting downgraded by custom components
# causing newer methods to not be available and breaking
# some integrations at startup
# https://github.com/home-assistant/core/issues/127529
# https://github.com/home-assistant/core/issues/122508
# https://github.com/home-assistant/core/issues/118004
aiofiles>=24.1.0
HA and OpenWrt are both open-source projects. An easy GUI-based OpenWRT integration will make life much easier for many people.
I face similar convoluted solutions on both projects, but at least both are moving towards more user-friendly interfaces, on OpenWrt easier flashing and unbrickable hardware such as OpenWrt One, while HAOS is moving towards more GUI integrations with less dependence on YAML.
One such example.
Integrations worth looking at for OpenWrt Integrations Developers for HA.
Thank you for giving support for this feature request.
My main motivation for making such request here and on home assistant forum was, in a nutshell, using vlan over wifi.
With out any doubt Openwrt is exceptional software.
Now days with a huge popularity of smart homes it is obviously that using vlans on local network is necessity.
Openwrt with batman-adv is great solution for that. It is cost effective not very hard to set up and can be affordable solution to many people.
Having user friendly gui integration will certainly make life much easier for people using openwrt with home assistant and very likely grow popularity of Opnewrt as platform.