Homey Community Forum

[APP] Shelly

small

Control Shelly devices with Homey

App Store Page: https://homey.app/a/cloud.shelly/

Description

This Homey app allows you to control a variety of Shelly devices. New Shelly devices are released to the market at a steady pace. Support for missing devices will be added in the future if requested based on my available time and ability to add support without actually owning the device.

Instructions

Add your Shelly device in Homey just like you would add any other device. Enter the IP address and the polling frequency in the pairing wizard. If you have set a username and password to access your Shelly device you need to enter these during pairing as well. Connect the device and you are good to go.

Using the button action trigger card

Most Shelly devices are capable of notifying Homey when a specific action has taken place. For instance a short- or longpress of a switch. If you have a supported device and you want to be able to use this functionality you will need to perform an extra action.

  1. Open the settings of your Shelly device through the Homey app by long pressing the device and selecting the cogwheel.
  2. Select the option “Maintenance Actions” (if this is not available for your device then it does not support these actions)
  3. Click the option “Set callback URLs for triggers” and wait for confirmation

What this does is update your Shelly device and let the device know how to notify Homey when a specific action has taken place. The Shelly app for Homey will register these events and trigger the “Action event” card. This card is available under the app (and not under any of your Shelly devices) and it has a flow tags which contains the actual action, the name of the device that triggered it and the ID of the device that triggered it. You can use these tokens to filter on within your flows. The steps for creating a flow are as followed:

  1. Create flow
  2. Add trigger action card from the Shelly app (not from any of your devices) called “Action event”
  3. Add a Logica condition card for filtering on the name of the device using the Name token
  4. Add a Logica condition card for filtering on the action you want this flow to trigger on using the Action token
  5. Add your actions

If you dont know the action name to filter on you you can first create a flow with this trigger card and an action card wich sends the action as a notification to your mobile using the Action token.

Missing devices

Allterco Robotics, the company behind the Shelly devices, is releasing new products very often. If you want a device added to this app which is currently missing you have three options:

  1. If you own the device you can send me the output of http://yourshellyip/status. This tells me the capabilities and the way the API is implemented for that device.
  2. Wait for the API documentation to be updated. Based on the documentation I can add the device. Allterco Robotics is slow in updating their API documentation however.
  3. Donate me money so I can buy the device or send me the device itself so I can add support using the actual device.

Donations

I enjoy creating apps for Homey and try to support them as best as I can. But if you enjoy using my apps a donation in return for the time I put into this is much appreciated.

2 Likes

Changelog

v1.25.3 - 2020-06-04

  • Fix for Shelly HT and Shelly Button 1 crashes
  • Fix for custom device icon for devices with multiple device

v1.25.0 - 2020-06-02

  • Added the option for custom device icons (.svg) for all devices. If you want to use a custom icon for an existing devices re-pairing is required. It cant be changed after pairing.
  • Optimized the way the action events / callbacks work. For the Shelly Door/Window sensor this means the events open_dark and open_twilight have changed to dark and twilight.
  • Replaced the polling of the Shelly H&T sensor to using the report url callback functionality.
  • Reduced lines of code by re-using templates.

v.1.24.0

  • Added support for Shelly Gas
  • Added support for Shelly Button 1
  • Added the option to add a custom device icon (.svg) during pairing for the Shelly Gas, Shelly Button 1, Shelly Plug, Shelly Plug-S, Shelly1 and Shelly 2. More devices will follow. If you want to use a custom icon for an existing devices re-pairing is required. It cant be changed after pairing.

v.1.23.0 - 2020-06-23

  • Added device ID to callback trigger card
  • Removed the old button events card which was deprecated since the last couple of app versions.

v1.22.3 - 2020-06-18

Add support for Shelly Dimmer 2

v1.22.2 - 2020-06-14

Fix for Shelly 2(.5) where setting position returns an error due to incorrect device settings.

v1.22.1 - 2020-06-12

Added callback events for the Shelly 2(.5) Roller Shutter.

v1.22.0 - 2002-06-11

  • Added a parameter for the Shelly 2(.5) Roller Shutter which allows you to configure the optical middle as 50%. Useful for roller shutters that do not move the blinds linear and where 50% is not the optical middle. The optical middle can be set under the device maintenance actions.
  • Added an action card for the Shelly 2(.5) for moving the blinds with an offset percentage
  • Added an action card for the Shelly 2(.5) for which fires and intelligent action, it will stop the roller shutter when it’s moving, opens it if closed and closes it if opened.

v1.21.0

  • BREAKING CHANGES : Deprecated the device “Action event” triggercard and replaced it with a generic “Action event” card which is not device specific but contains the device name as token. This is easier to maintain. Please update your flows by replacing the device specific card with the triggercard from the app. The functionality for the device specific card will be removed with the next major release.
  • Added support for the new Shelly i3 (thanx to domotica-shop.nl for sending me a device).
  • Added a new triggercard that can trigger a flow when a device is unreachable for a specified number of minutes (under device settings). This is only available for non-battery operated devices that are being polled for their status.
  • Lots a code refactoring for easier maintenance.

v1.20.4 - 2020-06-05

Fix for setting white channel on Shelly RGBW2 Color.

v1.20.3 - 2020-06-02

Fix for triggercard for temperature sensor Shelly 1PM.

v1.20.2 - 2020-05-28

Fixed issue with duration in the “Change roller shutter” action card.

v1.20.1 - 2020-05-14

  • Fix for reboot action card
  • Small improvement for setting callback URL’s (appearently the Shelly needs a reboot for these to become active).

v1.20.0 - 2020-05-12

  • The recently added triggercard for button action callbacks will break because it is replaced by a more generic Action URL card, please update your flows.
  • Polling for the Shelly Flood has been removed and is replaced by report callbacks from the device itself as this is much more reliable. If you have a paired Shelly Flood, please perform the URL callbacks maintenance action to set the callback urls (see the support topic for further instructions).
  • Added manual pairing fallback for all drivers, this is handy for those with segmented networks where auto discovery does not work.
  • And there are some small fixes in various drivers in this release as well.

v1.19.2 - 2020-05-06

Two fixes for using callback URL’s for the Shelly Door/Window sensor.

v1.19.1 - 2020-05-03

Added the callback trigger card functionality to the Shelly Door/Window sensor. This is more reliable then the current polling implementation. See the documentation on how to use this.

v1.19.0 - 2020-04-17

Added support for the Shelly Smoke Detector.

v1.18.2 - 2020-04-06

Bugfixes for RGBW2 White and the triggercard ‘Meter Power in Wmin changed’ for Shelly 2.5

v1.18.1 - 2020-03-30

  • Fixed bugs with setting callback URL for various Shelly devices.
  • Added a reboot action card which reboots your Shelly.

v1.18.0 - 2020-03-29

Added support for Shelly Duo and Shelly Vintage.

v1.17.7 - 2020-03-27

  • Fixed a bug in the callback trigger card for Shelly1PM.
  • Added the callback trigger card functionality for the Dimmer, Shelly2, Shelly2.5, Plug, Plug-S, ShellyEM and Shelly3EM. These callback URLs need to be set using maintenance actions under the device settings. See the app description on the forum for further instructions.

v1.17.6 - 2020-03-24

Fix issue with incorrect readings for meter_power and meter_power_wmin capabilities for Shelly 2.5

v1.17.5 -2020-03-03

Fixes for trigger cards and missing capabilities for paired devices that may cause some devices to appear as offline (like the Shelly Dimmer).

v1.17.3 - 2020-03-02

  • BREAKING CHANGES RGBW2 4xWHITE: The RGBW2 4xWhite driver has been refactored to avoid double polling. This breaks the current support for these devices and requires you to re-pair your device. Sorry for the inconvenience.
  • Added a toggle button for the RGBW2 Color to switch between white and color mode.
  • Added trigger cards for the Shelly Dimmer to trigger flows based on input 1 and 2.

v1.17.2 - 2020-03-01

  • BREAKING CHANGES Shelly 2.5 Relay: The Shelly 2.5 Relay driver has been refactored to avoid double polling. This breaks the current support for these devices and requires you to re-pair your device. Sorry for the inconvenience.
  • Also other small fixes and improvements.

v1.17.1 - 2020-02-28

Small fix for discovery of Shelly 3EM.

v1.17.0 - 2020-02-27

  • BREAKING CHANGES SHELLY EM: the Shelly EM driver has been refactored to avoid double polling. This breaks the current support for these devices and requires you to re-pair your Shelly EM. Sorry for the inconvenience.
  • Also support for the new Shelly 3EM has been added with the release.

v1.16.3 - 2020-02-21

  • Added new driver for Shelly 2.5 Rollershutter, you can re-pair it if you have paired as Shelly 2(.5) Rollershutter.
  • Fixed an issue where devices from another type could show up in the pairing wizard.
  • Small improvement to the pairing wizard which might resolve blank screens and timeouts.
  • Added a new trigger card for Shelly 1 and Shelly1PM which can be triggered using the callback URLs. These need to be set using maintenance actions under the device settings. See the app description on the forum for further instructions.

v1.16.2 - 2020-02-18

Small fixes for Shelly 2 and Shelly 4 Pro.

v1.16.1 - 2020-02-17

  • BREAKING CHANGES: complete overhaul of the Shelly 2 Relay and Shelly 4 Pro drivers to split them into seperate devices for each channel without polling the device for each channel. This will break current support for these drivers. You will need to re-pair your devices and fix your flows. Sorry for any inconvenience.
  • Also added support for the temperature add-on for the Shelly 1 and Shelly 1PM.

v1.15.0 - 2020-01-22

Added support for the Shelly Door Window Sensor.

v1.14.2 - 2019-12-12

Fixed issue with pairing introduced with previous version (1.14.1).

v1.14.1 - 2019-12-11

Skip the login credentials screen during pairing for devices that do not have authentication set up.

v1.14.0 - 2019-12-01

Added support for Shelly Dimmer/SL (thx to domotica-shop.nl for supplying the device)

v1.13.2 - 2019-11-15

Moved installation instructions from app store to community support topic.

v1.13.2 - 2019-10-14

  • Changes for Homey Energy Manager (firmware > 3.x)
  • Fix for pairing multiple Shelly 4 Pro devices

v1.13.1- 2019-10-01

  • IMPROVEMENT: added total power usage in KWh for Shelly 1 PM, Shelly2.5, Shelly Plug and Shelly Plug S (this requires the re-pairing of the device). The value from the Shelly device is in Wmin. The total power usage in KWh is calculated by doing Wmin * 0.000017.
  • FIX: fix for discovery of multiple Shelly Plugs due to deviating implementation of mDNS in Shelly Plugs

v1.13.0- 2019-09-29

NEW: added support for Shelly Humidity & Temperature sensor (thanx to Stefan Rehnberg for loaning the devices)

v1.12.0- 2019-09-19

  • NEW: added support for Shelly Bulb (thanx to Stefan Stanisic for PR)

v1.11.0- 2019-09-02

  • NEW: added support for Shelly EM
  • IMPROVEMENT: added total consumption for Shelly 1 PM, Shelly2.5, Shelly Plug and Shelly Plug S (this requires the re-pairing of the device)
  • IMPROVEMENT: added internal temperature for Shelly 1 PM, Shelly2.5 and Shelly Plug S (this requires the re-pairing of the device)

v1.10.0- 2019-08-11

  • IMPROVEMENT: added device discovery in pair wizard

v1.9.0- 2019-06-27

  • NEW: add support for RGBW2 in 2x CW/WW mode (which is not supported in the official Shelly app) - credits to Chris Brandhorst

v1.8.1- 2019-06-05

  • FIX: fix power usage for Shelly 2 and Shelly 2.5 in rollershutter mode

v1.8.0- 2019-05-25

  • NEW: add support for Shelly 1PM

v1.7.0- 2019-05-20

  • NEW: add full support for Shelly 2.5 Relay with seperate driver
  • FIX: add extra check for Shelly 2(.5) rollershutter since the Shelly API allows rollershutter percentages above 100

v1.6.0- 2019-02-27

  • NEW: add support for Shelly RGBW2 controller in both RGBW color and 4x white mode

v1.5.0- 2019-02-07

  • FIX: improvements to pairing templates for firmware 2.x
  • FIX: fix percentage for windowcoverings_set capability for rollershutter
  • FIX: code refactoring in drivers (replace callbacks with promises)

v1.4.2- 2019-01-19

NEW: add capability windowcoverings_set for Shelly 2 rollershutter. This requires you to re-pair your Shelly 2 Roller Shutter device!

v1.4.1- 2018-12-17

FIX: fix flow card issues for Shelly 4 Pro

v1.4.0 - 2018-12-16

NEW: add support for Shelly 4 Pro devices

v1.3.0 - 2018-11-23

  • NEW: add support for Shelly Plug and Shelly Plug S devices

v1.2.0 - 2018-11-14

  • NEW: add support for Shelly2 devices that are configured as roller shutter device
  • NEW: added an action card for controling roller shutters for a specified duration

v1.1.1 - 2018-09-13

FIX: solved a bug with Shelly 2 condition card when Shelly 2 was off

v1.1.0 - 2018-09-09

  • NEW: add support for the Shelly 2
  • REFACTORING: switched from request node module to node-fetch (reduced footprint from 7,5MB to 400 kB)

v1.0.0 - 2018-08-28

NEW: initial release

v1.1.0 - 2018-09-09

  • NEW: add support for the Shelly 2
  • REFACTORING: switched from request node module to node-fetch (reduced footprint from 7,5MB to 400 kB)

did order some units today, are you happy with the unit?

I only have one Shelly 1. I had some issue with connectivity at first but after fiddling around with it it’s now working very well. Only thing I really changed was disconnect the unit from the cloud. Not really needed anyway since I can control it using Homey. Other than that it all looks good hardware and software wise.

do i just need you app? no settings in unit?

You will need the Shelly smartphone app to setup the device (like configure the WiFi etc.). After that you should not really need it anymore. Controlling the device can be done through Homey.

Hello!

I buy a pair of shelly 1 and 2. The 1 works perfectly with homey, but the shelly 2 don’t work as a roller shutter. I push the button of relay 1 and relay 2 and nothing happens. With shelly android app they work perfect. I do anything wrong?

Captura

No, currently only relay mode is supported. I’d have to find out how to dynamically change the capabilities when it’s switched to roller shutter mode.

2 Likes

Thanks for fast reply!

Are you working on this? Need some donation for buy shelly 2?

If shelly 2 works fine for roller shutter is an excellent option in price, 20€ and not 50€ of fibaro and qubino roller shutters.

I worked on it this morning. It’s a bit of guessing without the actual device but I just pushed a new release to Github. Do you know how to do a command line install so you can test this?

If so, please be specific in your findings so I can try improve the support.

1 Like

Hi @Phuturist

I install your new version 1.2.0 and nothing changes.

if helps, in homey (preview) android app, i get this error when i click on relay buttons:

Something went wrong adressing device (name of device) (invalid_capability)

Shelly 2 is more complex than shelly 1, it have several options to configure:

I appreciate your work a lot. If you need more information I will help you as much as I can. Thank you!

You will need to repair the device as a “Shelly 2 Roller Shutter” device.

1 Like

OK!!

Re-paired as a roller shutter. Now shows 6 buttons, none of them works:

In theory shelly 2 only have 2 buttons, whit several options to work. If you need more info i give you some screenshots of the shelly app.

And every several seconds the device show as unreachable in homey, but really don’t loose comunication.

roller

I have uploaded a new release. You will need to remove and repair your Shelly 2 Roller Shutter device. Could you use the athom app run command and post any errors in the output here when pairing and controlling the device.

1 Like

App updated and devide re-paired. Now show 3 buttons and no go to unreachable.

But nothing happens when i click the buttons.

in command athom app run no info is displayed when i add the device and click the buttons:

again I thank you for all your work and help!! it seems incredible to me that without having the device you can make it work!!

Well, as you can see it’s not working yet and getting it to work without the device is not the most efficient way. But it should be possible. Don’t have a clue why it’s not working yet though, I’ll see if I can add some extra debug logging that should give me more hints on what is going on.

I have added extra debug logging in the latest version on GitHub. Could you use the CLI command athom app run, try and change the roller shutter from the device card and post the output from the console here.

Here is the log I have in command prompt:

send command result is:
{ wifi_sta: { connected: true, ssid: ‘ubiquiti’, ip: ‘192.168.1.110’ },
cloud: { enabled: true, connected: true },
mqtt: { connected: false },
time: ‘00:00’,
serial: 37,
has_update: false,
mac: ‘827D3A5B270D’,
relays:
[ { ison: false,
has_timer: false,
overpower: false,
is_valid: true },
{ ison: false,
has_timer: false,
overpower: false,
is_valid: true } ],
rollers:
[ { state: ‘stop’,
power: 0,
is_valid: true,
safety_switch: false,
stop_reason: ‘normal’,
last_direction: ‘close’ } ],
meters:
[ { power: 0,
is_valid: true,
timestamp: 1542067208,
counters: [Array],
total: 0 } ],
update:
{ status: ‘idle’,
has_update: false,
new_version: ‘20181031-101144/v1.3.5@62608979’,
old_version: ‘20181031-101144/v1.3.5@62608979’ },
ram_total: 50560,
ram_free: 36968,
fs_size: 233681,
fs_free: 161644,
uptime: 120782 }
[ { state: ‘stop’,
power: 0,
is_valid: true,
safety_switch: false,
stop_reason: ‘normal’,
last_direction: ‘close’ } ]
rollers[0].state is: stop

This all looks good, I fixed another bug that prevented controlling the roller shutter. Could you try downloading and running it again.