Shelly Logo Squared

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.

Checked

  • 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.

Before you start

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.

Checklist 0 of 2 checked
Check it's on your Wi-Fi

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.

Look in the Zeroconf Browser

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

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.

Shelly Presence Gen4

Frequently asked questions

No. The integration talks to the device directly on your network. The cloud can stay off.

Yes. Mains-powered Gen2 and newer devices can act as a Bluetooth proxy, set in the integration's options. They don't support active connections to Bluetooth devices.

No. Shelly BLU devices use the BTHome integration, except the BLU TRV.

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