Home Assistant & Matter Shelly troubleshooting
Shelly not showing up in Home Assistant
The Shelly works in its own app, but Home Assistant never finds it, can't add it, or adds it with entities missing. Most of the time it's the network.
- Gen4
Start here
What are you seeing?
Pick the closest match and we'll point you to the fix most likely to sort it.
Why it happens
Home Assistant finds a Shelly by listening for it to announce itself on your network, then talks to it directly over Wi-Fi. The Shelly cloud isn't involved.
So when it doesn't show up, the cause is almost always between Home Assistant and the device: separate networks, a router keeping devices apart, or the device being in Zigbee mode and off Wi-Fi altogether. You can always skip discovery and add it by its IP address.
Every fix here is done in Home Assistant, the Shelly app, a browser or your router's settings. Don't open the wall plate. Home Assistant talks to the Shelly directly, so the Shelly cloud doesn't need to be on.
Quick checks first
Run these checks before moving on to the fixes.
Open the device's IP address in a browser on the same network as Home Assistant. If the Shelly web page doesn't open, fix the Wi-Fi first.
In Home Assistant, go to Settings, then System, then Network, and open the Zeroconf Browser. Shelly devices announce themselves as _shelly._tcp. If it's not listed, Home Assistant can't hear it.
Fixes, most likely first
Work down the list and stop when it's fixed.
- Most likely for you
The network stops discovery
How to tell. Its web page opens, but it never appears under Discovered on the integrations page or in the Zeroconf Browser. Common when Shelly devices sit on their own network or VLAN.- Add it by IP address
Discovery isn't required. Add the Shelly integration, enter the device's IP address as the Host and select Submit. Leave Port alone unless it's connected through a Shelly Range Extender.
- Reserve its address in the router
Set a DHCP reservation for the device so its IP address doesn't change and break the link. Shelly prefers this to a static IP set on the device.
- Or let discovery cross networks
Discovery uses mDNS on UDP port 5353, which doesn't cross a VLAN or subnet on its own, and doesn't get through client isolation or most VPNs. Shelly says to turn on an mDNS relay (on UniFi it's called IoT Auto Discovery) or turn client isolation off.
Did this fix it? - Add it by IP address
- Most likely for you
It's in Zigbee mode
How to tell. Five quick presses of its button switched it to Zigbee, or it's paired to a Zigbee hub. It has no IP address and its web page won't open.- Turn its Wi-Fi back on
Hold the button for 5 seconds to turn its access point back on, then set it up on your Wi-Fi in the Shelly app.
- Add it to Home Assistant again
Once it has an IP address, it shows up for the Shelly integration like any other Wi-Fi Shelly.
Did this fix it? - Turn its Wi-Fi back on
- Most likely for you
Home Assistant can't reach it
How to tell. You enter its IP address and setup can't connect, or the device shows up and then won't respond.- Let Home Assistant reach the device
Home Assistant connects to the device on TCP port 80, or 443 if the device uses HTTPS. If they're on different networks, allow that traffic from the Home Assistant host to the device.
- Leave Verify SSL off
Home Assistant works out whether the device uses HTTPS by itself. Only tick Verify SSL if the device has a certificate from an authority your Home Assistant trusts.
- Check its password
If you've turned on a password under Settings, then Authentication on the device, have it ready. On firmware 2.0 and later, repeated wrong passwords lock you out for a while.
- Turn on the outbound WebSocket if asked
Most mains-powered devices don't need this. If Home Assistant can't work out its own address, or the device was set up with another Home Assistant, open the device's web page, go to Settings, then Connectivity, then Outbound WebSocket. Tick Enable, enter your Home Assistant's address as the Server and click Save.
Did this fix it? - Let Home Assistant reach the device
- Most likely for you
Some entities are turned off by default
How to tell. The device is in Home Assistant, but you can't see its scripts, its temperature, its signal or its uptime.- Enable the hidden entities
Open the device in Home Assistant, open each entity you want and select Enable. Script switches and events, device temperature, RSSI and uptime are all off by default.
- Set the input mode for a sensor
A switch input shows as a binary sensor only when its input mode is Switch. In Button mode you get event entities instead. It's set in the output's Input/Output settings on the device's web page.
- Show a relay as a light
A relay shows up as a light only if its consumption type is light. On the device's web page, open the output's settings, go to Consumption type, type light and click Save.
- Check the time server for power readings
Power measurement relies on the device syncing its time. Check on its web page that it can reach its time server.
Did this fix it? - Enable the hidden entities
On your device
Shelly Presence Gen4 Zigbee mode shows purple
- Read the light
A purple light means it's in Zigbee mode. Five presses of the button switch it between Matter and Zigbee.
Frequently asked questions
Related problems
Still need a hand?
We answer most messages within one business day. If your question is about an existing order, have your order number ready. It speeds things up.
Contact us