Problems with Shelly 2.5 switch stock driver

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

Ok, your right, but I think a rollback wil make it easier/faster.
The button type is not updated to when you press "save preference"

1 Like

Hi All,

i am having the issue with a shelly 1 with new firmware, switch does not update status unless you press refresh in device page, i am trying to roll back firmware as suggest but with no luck,

all i get is this

"{"status":"updating","has_update":false,"new_version":"","old_version":"20201124-091217/v1.9.0@57ac4ad8"}" showing in webpage,

am I doing something wrong?

i also tried adding those urls as dongood said but no luck either

i have mutiple shelly 1's and shelly dimmer 2's but i only have one that is having the issue for some reason

maybe you can try to factory reset the shelly 1 first and then try to update...