Edge Shelly drivers for Gen1 and Gen2 Devices

September 2023 EDIT:
So new readers don’t have to read through all the posts to get caught up…

I have developed Edge drivers that support many of the Shelly GEN1 and GEN2 devices. This allows you to create automations that don’t rely on a cloud connection since Edge drivers are locally executed on your hub. Note that a SmartThings hub is required for these drivers.

For those with battery-powered Shelly Gen1 devices, I have a third driver that requires the use of MQTT. See this post for more information.

If you need other devices supported that are not listed below, just ask. I can add support for them, but I will be dependent on you to test.

GEN2 Driver
See the initial announcement post here and follow up posts here, here, here, and latest update here.

Currently supported GEN2 devices are the following:

Plus 1, Plus 1PM with optional external temp or input sensors
Shelly Plus 1 Mini, Shelly Plus 1PM Mini, Shelly Plus PM Mini
Plus 2PM (switch or cover)
Pro1, Pro 1PM
Pro 2
Pro 2PM (switch or cover)
Pro 4PM
Plus Plug
Plus I4

GEN 1 Driver

Currently supported are the following Gen 1 Shelly devices:

R1, R1PM, R1L, R25 relay mode, R25 roller mode
Motion
Plug, PlugS
Button1*
Bulb*
Duo
RGBW2C
RGBW2W
Dimmer
Contact
EM, 3EM
Air
i3 toggle mode*, i3 momentary mode*
Uni

* these device types have not yet been tested

Installation & Configuration

The drivers are available on my test channel. Enroll your hub and choose the driver to install to your hub:

Shelly Gen2 Device Driver V1.5 (GEN2)
–or
Shelly Device Driver V1.9 (GEN1)

GEN2
Once the driver is installed to your hub, do an Add device / Scan for nearby devices in the mobile app and your network will be scanned for GEN2 Shelly devices and devices will be created for each one found. Generally only devices on the same subnet as your SmartThings hub will be found and will work.

GEN1
Once the driver is installed to your hub, do an Add device / Scan for nearby devices in the mobile app and a new device called ‘Shelly Device Creator’ will be created in your No Room Assigned room.

Open the Shelly Device Creator and use the the button to choose a device type to create. Once the device is created, go into its device Controls screen and then into device Settings by tapping the 3 vertical dot menu in the upper right corner of the screen. Here you must provide the device IP address. Once you have saved a new IP address, the driver will attempt to connect with the device. Note: it’s highly recommended that your Shelly devices have static IP addresses.

Return to the device Controls panel, and if the device was reachable, it should become operational from the app. Note that some devices may take up to 30 seconds to complete initialization.

Since the Edge driver ‘subscribes’ to major state changes of the device (on/off, motion, open/close, etc), the mobile app will automatically get updated whenever those device states change. Nevertheless, other ‘secondary’ attributes such as energy consumption, temperature, battery, wifi signal strength, etc. may require a tap on the Refresh button to ensure you are seeing the latest value.

Other Settings options

  • Some devices that track energy consumption, for example, also have optional Settings to automatically refresh all device attributes on a periodic basis

When a device seems to stop working:

Scenarios:

  • When you tap the Refresh button, values are not getting updated. It could be your device has gone offline or its IP address has changed.
  • Refresh is working, but when major state changes occur in your Shelly device (like switch on/off, motion, etc.), the mobile app is not getting automatically updated. The connection to your device needs to be reset.

Resetting device connection:

Go into device Settings and temporarily change the IP address to something else and save it. Wait a few seconds, then change the IP address back to the correct one. This will force a re-initialization with the device and things should start working again.


Original topic start post (obsolete):

@Nuno_Alves @Diegocampy @Paul_Oliver @JDRoberts

Thought I’d start a fresh topic specifically for talking about potential Edge drivers for Shelly devices.

For anyone reading this topic, be aware that a driver does exist already for the Shelly Motion Sensor. Info here. This particular solution uses a bridge server, but I believe this driver can be improved to remove that requirement, so stay tuned on that one.

Regarding the Shelly 2.5, for which there have been a couple inquiries: I’d like to get some further thoughts on what a SmartThings device would look like for the 2.5. Since the 2.5 is a general purpose relay controller, I’m assuming it would be represented as two simple switches for relay mode (one for each of 2 channels) and alternatively a shade control for roller mode. Does this sound right?

Paul has also mentioned a Shelly 1 which I understand is an even simpler relay switch. So that would be super-simple to support with an Edge driver.

What other Shelly devices would be at the top of a list to support with an Edge driver?

And before I go off and invest time on this, if there is anyone else already working on Edge drivers, please let us know!

12 Likes

An Edge driver for the Shelly1 would be great.
A year ago I was happy with a cloud based device. But I have become spoiled by the local automations that the community created Edge drivers have made possible.
If it works well I would be open to buying other Shelly relays.
Thank you for considering writing this or these drivers

5 Likes

I see there is a 1 an a 1PM which has energy metering; which do you have?

1 Like

I have the model 1 with no energy monitoring.

I’m Interested in shelly1 Shelly1PM (but I install the tasmota firmware, so I could not even try an edge drive for shelly) then I own shelly plug s and shelly 3em, but the latter I think is difficult to translate into edge

I’m using the shelly 2.5 for awning control. If possible, I would also like to use it for Venetian blinds.

Thanks and welcome to the community!

1 Like

Hey. This would be very nice of you :wink:
I own lots of Shelly 1, 2.5, Dimmer2, rgbww2.
I could test your driver when you send me link to invitation channel :slight_smile:

Dusan

2 Likes

I have Shelly dimmer2 and would love to have edge driver for it.
I’m still testing it as my other dimmers are Aeotec dimmers but for now, Shelly dimmer is much better solution for my household than Aeotec dimmer, because it have one very important thing that Aeotec does’t, and that is 2 inputs/channels, where Aeotec have only 1 (ok, Aeotec have 2, but they can both do only same thing so useless to me). With 2 inputs/channels, I set up Shelly dimmer to work with 2-way push-button, same as normal button like Tradfri dimmer, so when I hold “up” button, it ramps up light level and when I hold “down” button, it ramps down light level. With Aeotec dimmer I can also set both “sides” of 2-way push button to work, but only the same way. So when I hold either of them, it will ramp up or down depending of what last ramping action was. That is not good because for example, if my last action was ramping up to 70% and then turned off, next action with either of buttons will be ramping down, and if user wants to ramp up to 100%, he have to preform hold action to ramp down a bit and then again same action to ramp up. So first problem is that user have to make at least 2 actions, and second problem is you have no idea what was last action on that dimmer, and you end up messing with dimmer, so, already grumpy household members start being frustrated at so-called smart dimmers :sweat_smile: and me of course.

Also, I’m planning on using Shelly Pro4PM for on/off light groups, and would love to have edge driver for that as well.

Thank you

2 Likes

Hi
I use Shelly 2.5 for blinds. I’m following your post to help with the development.

2 Likes

Thanks everybody for expressing their interest in getting Edge drivers for Shelly devices. Since no one has informed us here that they are already working on this, I will start work on this immediately!

My initial plan is to have one driver that has a ‘creator’ device (like my vEdge driver) that you would use to select a shelly model, and a corresponding SmartThings device would then be created. In that new device’s settings you will configure the Shelly device’s IP, as I don’t see a way to discover these devices on the LAN automatically. There may also be other config settings depending in on the model.

I will begin with the Shelly 1, 2.5, and motion sensor, and expand out from there. Since I only have a motion sensor, I will be depending on volunteers to be able to do testing for me. Luckily Shelly has a very clear and nicely-documented API, so hopefully there won’t be too many surprises coding-wise. For those of you that can, I would ask that you get the CLI installed on a computer where you can run logging for Edge drivers. Please see my post here for instructions on how to get it installed.

I’ll report back within a few days with an update.

1 Like

If i have time when it ready i will test the shelly1 and send you logs if need.
Thank you

1 Like

I’m using the shelly 2.5 for awning control. If possible, I would also like to use it for Venetian blinds.

I have a Shelly1 and have the CLI installed, so I can do testing and provide logs.

3 Likes

Amazing! I’ve just bought a Shelly 1PM Plus including the temperature sensor addon.
Intending to use it on a hot tub - measure temp, power usage, and control heater on/off.

Hi all. Making progress on the Shelly driver. Have my motion sensor working nicely and am working on the 1, 1PM, and 2.5 relays. In fact I may make a test driver available as early as tomorrow for the first 3.

Regarding the 2.5 relay, I’m going to need some design input from those of you owning this one:

In SmartThings you cannot have more than one particular standard capability type within a device definition. Meaning you can only have one standard switch, one standard power meter, etc. The usual way around this is to create what are called custom capabilities. This isn’t difficult to do for simple capabilities like switches or contacts. But for things like power & energy consumption meters, you really can’t recreate the GUI look of those capabilities in a custom version. So for the 2.5, which has two power and energy consumption meters, I have no way to show two in one device in the standard way. So I have some alternatives to suggest and would like opinions:

  1. Instead of using the standard capabilites which include graphical elements like this:

I could alternatively simply display the power and energy consumption values for the two relay channels in 4 plain text fields. Downside is no nice graphs, but at least you still have the values.
2) I could create 2 separate SmartThings devices for each 2.5 relay channel and each would have its own device details with the standard capability GUI above. The downside is the hassle of going to 2 separate SmartThings devices.

I haven’t gotten my head wrapped around how to deal with the roller mode vs. relay mode, so I will likely be seeking input regarding that as well. And that may have some bearing on whether it would be wise to consider #2 above.

2 Likes

One of each capability per component, up to 10 components per device. So you can have 10 switches or power meters before getting creative with custom capabilities.

I don’t have a Shelly so can’t comment on whether that’s the design choice you should go with, but it’s an option.

1 Like

I don’t currently have a 2.5 but 2 separate devices sounds like a good idea. Wouldn’t that make it easier to use these devices with Alexa and Google, in addition to maintaining the graphs.

You are absolutely right. I had completely forgotten about that! Never had to use components before personally, so this will be a first!

THANK YOU.

2 Likes

Are you going to run into this?