Problems with Shelly 2.5 switch stock driver

I am experiencing the same issue with all recently purchased and freshly added Shelly 1 and 2.5 switches. But my older Shelly 1 switches added a few months ago are working just fine.

All Shelly switches are running the latest firmware released in November 2020.

I have noticed that from both the Dashboard and from the Device page, if switch is off and I select to turn it on, Hubitat does not detect the new "on" state. But if I call refresh from the device page then the state is correctly identified.

Pre Condition: switch is off, dashboard shows it's off, state in device page is off.
Open dashboard and device page in two separate tabs.

STRs:

  1. Click on dashboard icon. Light turns on, but dashboard is stuck on hourglass.
  2. On device page note how the status is still shown as "off"
  3. Use device page to call refresh command
  4. Dashboard now shows the light is on, the device page now shows status as "on".

The reverse, on to off, is also true.

I sadly gave up as I could not let them work correctly in my dashboard

I also have the same problem with shelly 2.5 and shelly 1pm

bought my first Hubitat. I want to switchover form domoticz. First action add my shelly dimmers.
I can't get them to work. After refreshing in hubitat it updates only the level, not on/off.
I use the build in driver. Hubitat is at the latest firmware and for testing purposes 1 dimmer is up to date the other one is one version behind.
please advise

@mike.maxwell, I was able to "create" this issue. I did a factory reset of my working shelly 2.5, then added again to my network with the correct IP address & username password.
In Hubitat I did a save in the device:
Parent: save preference, save device,
Child: save preference save device

  • The button type was saved to the shelly
  • No URL actions where filled in automatically
  • on /off is working, but the correct status is only visible in the driver when you do a refresh

@mike.maxwell,
All,
Did some testing. I think is all about not able to save the action links to the Shelly device when you click save preference in the parent device.
If you have a higher firmware than 1.8.5 in your shelly, the links are NOT saved.
If I did a roll back of the firmware in the shelly to 1.8.5, after the rollback the action link are saved in the shelly and it was working again.

How to rollback to a previous Shelly Firmware in your shelly device
Go to this link

  • Fill in the IP address of your device
  • Choose your device type
  • Choose the version you want to rollback
  • Copy the link
  • Paste the link in you browser and enter

The firmware update is starting

This is an example screen of a shelly 2.5 (SHSW-25)

List of Vendor ID's
Thing Type Model Vendor ID
shelly1 Shelly Single Relay Switch SHSW-1
shelly1pm Shelly Single Relay Switch with integrated Power Meter SHSW-PM
shelly2-relay Shelly Double Relay Switch in relay mode SHSW-21
shelly2-roller Shelly2 in Roller Mode SHSW-21
shelly25-relay Shelly 2.5 in Relay Switch SHSW-25
shelly4pro Shelly 4x Relay Switch SHSW-44
shellydimmer Shelly Dimmer SHDM-1
shellydimmer2 Shelly Dimmer2 SHDM-2
shellyix3 Shelly ix3 SHIX3-1
shellyplug Shelly Plug SHPLG2-1
shellyplugs Shelly Plug-S SHPLG-S
shellyem Shelly EM with integrated Power Meters SHEM
shellyem3 Shelly 3EM with 3 integrated Power Meter SHEM-3
shellyrgbw2 Shelly RGB Controller SHRGBW2
shellybulb Shelly Bulb in Color or White Mode SHBLB-1
shellybulbduo Shelly Duo (White Mode) SHBDUO-1
shellyvintage Shelly Vintage (White Mode) SHVIN-1
shellyht Shelly Sensor (temp+humidity) SHHT-1
shellyflood Shelly Flood Sensor SHWT-1
shellygas Shelly Gas Sensor SHGS-1
shellydw Shelly Door/Window SHDW-1
shellydw2 Shelly Door/Window 2 SHDW-2
shellybutton1 Shelly Button 1 SHBTN-1
shellysense Shelly Motion and IR Controller SHSEN-1
2 Likes

awesome, yeah not saving the links would break it...

Maybe this is also my issue. Can you give me the links, so I can add them manually?

thanks in advance

I think it is more easy to rollback the firmware, hit "Save Preferences" in the parent device.
Afterward you can update the Shelly firmware again.

they will vary by hub ect, so you can't set them manually very easily

1 Like

The rollback for 1PM to firmware 1.8.5 does not brings a solution for the issue, when I did a roll back to 1.7.0 it is working for the 1PM, confirmed by an other user

That worked for me thank you, also for dimmer 2 version 1.7.3 worked, I saved preferences for parent and child after downgrade then I back to newest version and every thing is working correctly.

1 Like

@mike.maxwell, I had contact about the issue to Dimitar Dimitrov from Shelly, his feedback was a little bit confusing for me, I am not technical enough to determine where the problem is situated


image

1 Like

Excellent investigation work Bruno,
Something should be appearing in a log that either @hubitat or Dimitar Dimitrov can identify. Clearly it's an issue beyond the scope of a customer.

1 Like

Our driver uses the published shelly api to set the action links on the device.
I will setup one of these and verify that I can replicate the issue, as well as check the api calls are still valid (I mean they must be since as you say these work on older shelly firmware)

2 Likes

Unfortunately even installing the suggested firmware version does'nt allow my shelly 2.5 to work properly in a dashboard.

In my case, after configuration of the device in Hubitat the URL action links are empty in the Shelly


Can you check?
Maybe the issue where I am pointing to is not the same as yours.

@roberto, If was you, this is what I should try

  • delete the device in Hubitat
  • rollback of the Shelly firmware to 1.7.0
  • factory reset of the shelly & reinstall it in the Shelly app
  • add the device in Hubitat again, hit the save preference till you see the 2 channels
  • check if the 5 action links are filled in for both channels in your Shelly device
  • test ON/OFF in your 2 child devices and see if the status is changing (without refresh)
  • If this works, create a new dashboard and add the 2 devices to test

@mike.maxwell, unless my memory is deceiving me, it looks like they fairly significantly changed their APIs for setting action URLs. They now require multiple data attributes and are at a settings/actions URI.


I would have expected them to maintain backwards compatibility, but... :man_shrugging:

1 Like

For Shelly 1 and Shelly 2.5 there is no need to rollback the firmware.

The IO/URL actions are webhooks, instead of rolling back the firmware simply manually update these webhooks.

Hubitat uses the following patterns for the webhooks:

http://ip_address:39501/device_type/switch_id/action

ip_address: IP for your hubitat
39501: port used by my hubitat for these callbacks. I am guessing it's the same for everyone, but if it does not work check the URL Actions for a working switch to confirm.
device_type: either "button" or "switch"
switch_id: always 0 for Shelly 1, but maps to the switch number for Shelly 2.5 (0 or 1)
action: see below

On your Shelly 1 built-in URL Actions screen:
Button Switched On URL
Left blank

Button Switched Off URL
http://[ip_address]:39501/button/0/released/

Button Long Press URL
http://[ip_address]:39501/button/0/held/

Button Short Pressed URL
http://[ip_address]:39501/button/0/pushed/

Output Switched On URL
http://[ip_address]:39501/switch/0/on/

Output Switched Off URL
http://[ip_address]:39501/switch/0/off/

For Shelly 2.5 you enter the above for "Switch 0" and then change all the zeros for ones when entering "Switch 1" actions.

The button long and short press actions are only for momentary switches.
If you have toggle switches then these two actions are not needed.

Don't forget to check the "Enabled" box, and click "Save" for each individual action.

I tested on Shelly 1 and Shelly 2.5 devices. Everything worked as expected.

Hopefully Hubitat fixes this in a future update.

5 Likes