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.
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* 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)
Shelly Device Driver V1.8b (GEN1)
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.
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:
- 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):
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!