The issue where all Zigbee devices configured via MQTT stop working when the internet router goes offline.

Hello,
I’m seeking help with an issue I’ve been wondering about for a long time.
To get straight to the point: is it normal for devices configured via Zigbee MQTT to stop working entirely when the “internet” connection is down (i.e., in a local-only state)?

I’m not talking about app-based controls; I’m referring to things like physical Zigbee switches and automations managed by the hub.

  1. The network is offline due to a router (Wi-Fi) restart or failure.
  2. The HA hub (e.g., Yellow or Mini PC) and Zigbee routers are all functioning normally.

Doesn’t this imply that MQTT requires an active network connection and cannot operate locally?

If the HA hub is functioning normally even when the internet is down, shouldn’t the system behave as follows?

  1. Functions requiring direct app control from outside the network do not work.
  2. Automations managed directly by the HA hub continue to function normally.
  3. Physical Zigbee buttons continue to function normally.

I replaced my home’s switches with Zigbee ones and set them up using MQTT, but nothing works at all when the internet goes down.

It makes me wonder if this is really a “smart home” or just a “dumb home” that’s completely dependent on the internet.

Did I set something up wrong?
I just don’t get it. If anyone has experienced this or knows how to fix it, please let me know.

Nothing on your network can communicate while your router is offline. It is responsible for routing local as well as internet traffic.

Do a test by Disconnecting Internet, but keep the Router running.

Both can’t be true at the same time.

Also, there is no such thing as a Home Assistant “hub”. Home Assistant is a server. Basically a web server.

Quite a broad observation. There are several things that could make an internet connection fail. Be more specific about which device in the path from the Internet to the server is “down”.

Major internet outage (~ 3 weeks) in my area a couple of years ago. HA continued to work as normal. Zigbee, wifi, MQTT, everything except for weather which is cloud-based.

MQTT can** be run totally standalone - no internet connection at all.

I have a mini PC running:

  • Linux
  • Mosquito broker.
  • MQTT (Dockerized)
  • Home Assistant (Dockerized)

I have a ZBT-2 adapter directly plugged (USB) into the mini PC.
The PC is not on Wifi and only has a single Ethernet cable.

I can remove the ethernet cable and the Zigbee devices continue to operate normally - all (Zigbee***) automations on HA also continue to operate normally.


*** - Obviously any automations that access devices over ethernet (or WIFI) fail if HA has no access to those devices.

** - I hedged a bit by saying “can” because you might be doing something unusual such as running HA and a ethernet based adapter on different VLANs. With a direct attached USB adapter (my configuration) MQTT network traffic never leaves the mini PC - hence external network connections are irrelevant (have no effect), with respect to MQTT/Zigbee.

Almost the same, when I lose internet I lose weather and control of one AC unit (it has a cloud component)

I have an external temp sensor to mitigate the loss of weather and the AC has local temp control so it’s not a huge loss if HA can’t connect to it.

Not completely true…but in most cases, yes.

This is mainly because a router is also the Gateway, DHCP and DNS server for your local network.

So when you use static IP addresses (alternatively your own DHCP server), external switches, locally operated wifi access points, your local network will keep on running as usual , except for the fact you won’t be able to go to the internet (as your gateway is down).

PS: all DHCP use a ‘lease time’; after that time the device will loose it’s IP address, unless it is able to renew it’s address. So if your DHCP server is in your router, and your router goes down, your network will degrade in time. On most dhcp servers, the lease time is configurable (default is normally 24hrs)