Help needed getting Shelly Integration installed

Hello all,

I’m just starting my first Home Assistant installation. It has been a challenge as a newbie, but I have HASS OS up and running on my dedicated Intel hardware. I have also installed added a couple integrations (Mosquitto and OpenWeatherMap) and they appear on my Integrations page, along with Supervisor and a couple others (Sun, RadioBrowser).

With the HA infrastructure in place, I wanted to start adding devices that can be controlled. I have a Shelly 1 with the temperature Add-on that I have used successfully to monitor freezer temperature using the Shelly Cloud. To move it to local HA control, I reset the Shelly and got it into AP mode. I can see the device when I look for available networks on my phone.

When I go look at my Integrations page, the Shelly does not show up as a discovered device, so I go down to “Add Integration” and select Shelly. A pop-up box appears commenting that I need to wake up any battery powered devices. Since my Shelly 1 is mains powered, I ignore that comment. Below that is a required field labelled “Host*” that needs to be filled in.

I tried putting in my HA IP address as listed in my router … get error message “failed to connect”.
Tried putting in “http://homeassistant.local:8123” … same error message. None of the help documentation describes what is needed in the host field. My google searches haven’t come up with anything either.

Can someone help me here? Thanks for all inputs.

Karl

Have you tried using your Shelly device IP as host?
Anyway, if you are running latest versions your Shelly devices shoukd be discovered automatically. Maybe if you wait a few minutes it will auto-discover,
You can also try setting unicast on your Shelly device (you have to use the web interface) as described here: Shelly - Home Assistant

Hi Edward,

Thanks for the suggestions. I’ve waited about an hour, so the auto-discover is not seeing the Shelly. I’ve tried entering the address broadcast by the Shelly AP and got the same error message. The Shelly 1 is only a couple months old, and the HASS OS and Supervisor have just been updated to the latest revs. So, I’m all current I think.

Going down the unicast path seems like a real pain … this shouldn’t be so hard since all the forums, YouTubes, etc claim how seamlessly the Shelly products integrate with HA. Something is wrong in my setup.

Karl

You have a very low pain threshold. It’s one setting in the device.

1 Like

Thanks tom_l for the suggestion. When I read the Shelly Configuration help page, it wasn’t clear how many things needed to be changed and why. Changing things randomly for me is difficult. I don’t know what unicast is/does, and why I would be changing it in the Shelly. There is a lot of learning ahead, so I’ll read some more.

Karl

Reading the Shelly configuration help:

“Shelly devices use the CoIoT protocol to communicate with integration. For Shelly firmware 1.10.0 or newer, CoIoT must be enabled in the device settings. Navigate to the local IP address of your Shelly device”

I see the AP of the Shelly after reset. When I log into that network from my phone I find an IP address of the device (192.168.33.2). When I put that IP address into my desktop, I get “site cannot be reached”. How do I get to the device settings if the IP is not recognized?

Karl

make sure you are visiting http://192.168.33.2 not https.

I agree with @Karli that things shoukd just work, and I have to say that I have dozens of Shelly devices and they integrates super fine with HA without any special configuration. But I remember it sometimes takes a while to the auto-discover can find your new device.
Anyways, if this is not the case for you, then I agree with @tom_l that it’s not that hard to go to those “Advanced” setting. It’s just one setting as he mentioned.

As I understood you are not getting to the device web page, is that correct? This shows something might not be right with the device itself. Have you tried rebooting the Shelly device (using the app) or in worse case rebooting your router. If you cannot access the devices web interface you should focus on those two parts (the device itself and the router) before you spend more time looking for an issue at Home Assistant.

1 Like

Hi Tom,

I reset the Shelly again, got an AP, connected to it on my cell phone, got an IP 192.168.33.2 again. Put that IP in my desktop browser as http://192.168.33.2 as you suggested. Get back an error message “this site cannot be reached”.

Karl

Is your phone in the same wifi network as the Shelly device? Are you sure you are not using any VPN or something else who could be preventing you to connect to another device locally?

Hold on… When you said you got an AP, do you mean you are not connecting your Shelly device to the same network where Home Assistant is?

1 Like

Yeah you either need to use your phone browser, which is connected to the SHelly AP, or connect your desktop to the Shelly AP as well.

Your Shelly isn’t on your local network until you set up its wifi settings.

Following the Shelly directions, you first put the Shelly relay into access point (AP) mode by doing a reset. That involves a power cycle and 5 momentary button pushes to the switch inputs. That AP is then visible when I search for wifi networks on my desktop or cell phone. My HA system is on that same house 2.4GB network.

I pull up the Shelly app on my cell phone (that is the only way I found to get it) and hit “add device” from the hamburger menu. The Shelly 1 is found and it has been set to be included into the same network as my HA and desktop and phone. I check the device and hit “include selected devices”. The app does the “asking to join” and I get a “device include” message.

That’s wher things go South. When I select “discovered devices” from the hamburger menu, I get a message that no devices were discovered and to check “location” and “local network” settings on my phone. The Shelly app has been given location access whenever it is in use.

Karl

I wasn’t clear on the network. My HA system, my desktop and my phone are all on the same 2.4GH network. That is the same network I attempted to include the Shelly in.

I’ve never had any luck with the Shelly App. My workflow is this:

  1. Power up the Shelly
  2. Connect to its access point with your phone
  3. Go to the default Shelly IP address (192.168.33.1) using the phone web browser, not the Shely App.
  4. Set the WIfi connection details for your wifi network
  5. Restart the Shelly
  6. After it reboots find the Shelly IP address in your router if you have not given it a static IP address.
  7. Log into this ip address from anywhere on your network and set up CoIoT
  8. Wait for discovery by Home Assistant
  9. Add to Home Assistant.
1 Like

OK. I just went back into my router and found a new IP address for the Shelly. I connected to that address on my desktop and got to a similar menu Edward put up in his earlier reply. Under the Advanced - Developer Settings, things are different. My only choice is to “Enable action execution via MQTT”. Nothing about ColoT.

Karl

Check for firmware updates.

I ran my last connection before I read Tom’s 9 step program.

Just my observation: since the Shelly shows up on the list of connected wireless devices on my router, the addition of the Shelly to my network was successful. Now the issue is why doesn’t HA discover the device? This all started earlier with my inability to correctly answer the “Host” question in the dialog box when I tried to “add integration” for Shelly.

So, what should be entered for Host?

Karl

That depends. Have you given it a static IP address?

If so, then that is what you use.

If not then you need the mDNS address. I have no idea what Shelly uses for this as I use static IP addresses for all my IoT devices, but will probably be something like:

shelly1-<device_id>._http._tcp.local

My new Shelly Plus devices also don’t show this option and they still being discovered automatically by Home Assistant, so you probably is using a new device and this shouldn’t be an issue.

Have you tried to just restart everything (Shelly, router and HA)? I know this shouldn’t be the right solution, but sometimes it helps.