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 Shelly devices over WiFi.

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.

Instructions

First add your device to the official Shelly smartphone app, then pair your Shelly device in Homey. The Shelly app for Homey uses mDNS discovery for finding your Shelly device(s) on your network. If you are unable to find your Shelly device using discovery even though it’s connected to your network you can try to manually pair it using it’s IP address. If you have configured a username and password you are asked to enter these as well during pairing. After confirmation your Shelly device is paired and you are good to go.

Update from version 1.x to 3.x

The update from version 1.x to 3.x is a major update. The app has pretty much been rewritten and includes a lot of breaking changes. This paragraph will give some pointers to help you update.

  1. Start with updating the firmware on your Shelly devices as well. Some problems are related to outdated firmware versions.
  2. First review the entire v3.x changelog to see what changed and what you might need to fix.
  3. Fix any broken flows, some flow cards have changed or been replaced.
  4. If you are using the action event URL’s, try triggering them. The action event URL which needed to be manually set previously have been replaced by direct messages from Shelly to Homey. By triggering an action event the v3.x version of my app will remove the deprecated action event URL’s from your Shelly devices.
  5. If you have issues receiving device status updates (after the initial update) please review the troubleshooting section below.

Using the action event trigger card

A lot of Shelly devices are capable of notifying Homey when a specific action has taken place like a short- or longpress of a switch. If you have a supported device and you want to use this functionality you can find the “Action Event” trigger card under the app flow cards and not under any specific Shelly device (so search for Shelly when adding the card in the flow). When you added the card to a flow you can select which device and what action should trigger your flow.

Troubleshooting

  • Some users experience flows not working as expected. Solution is most likely to update your flows as recently there have been some breaking changes which requires you to update your flowcards.
  • Some networks are misconfigured for using multicast CoAP protocol which is used for device updates on lower firmware versions. As a result the status of Shelly devices are not updated frequently even though you are able to control devices through Homey (which uses HTTP). To solve this update the firmware of your Shelly devices to at least version 1.10.x which allows for unicast CoAP communication which will work even on networks that do not support multicast CoAP communication.
  • Some users experience networking issues where devices do not respond to commands and/or show as unreachable devices (indicated by a red triangle). See the troubleshooting network communication guide below.

Troubleshooting network communication

Some users experience networking issues where devices are unreachable or commands give timeouts. This can be caused by many things, this troubleshooting guide is the first thing to try.

  1. Make sure the firmware of your Shelly device is up to date.
  2. Make sure you assign static IP addresses for your Shelly devices in your router. Check if the IP address of your Shelly still corresponds with the IP address under the device settings in Homey. Also make sure you can access the webinterface of your Shelly devices under that IP address (http://yourshellyip/).
  3. Make sure there is nothing blocking the network traffic between Homey and your Shelly device, like a firewall or seperated VLAN. You could test this by using the “send a webrequest” logica action card within a flow and try to request the status page of your Shelly at http://yourshellyip/status.
  4. Make sure your WiFi signal of both Homey and your Shellies is stable. Check for instance your WiFi network channel is not set to auto but set to a specific channel, for instance 1,6 or 11.
  5. If you have done all of the above and your issue persists it could be that the network stack of Homey itself is not working properly. Try rebooting Homey. If the problem persists or comes back after some time it could there is not much else to do. This especially can be the case for user that have a lot of WiFi devices connected to Homey. You could look into reducing the number of devices to see if that helps. Feel free to send me a crash report from the app settings. Based on this I can at least confirm it’s indeed network issues. Do this by restarting the app, wait until the devices show as unreachable in Homey and send the crash report from the device settings. Afterwards post the crash report ID in the support topic here together with extra information about your issue, like the router you are using and how Homey and the Shellies are connected to it.

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 and http://yourshellyip/settings. 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.
6 Likes

Changelog

v3.0.51 - 2021-07-17

  • Possible fix for reading ADCS for Shelly Uni

v3.0.50 - 2021-07-14

  • Minor branding improvements, no functional changes

v3.0.49 - 2021-07-02

  • Added support for the first generation Shelly Air
  • Fix for updating the white mode capability when white channel from RGBW2 is changed
  • Added better capability description for light_temperature for RGBW2 as it’s used for setting the white channel instead of light temperature

v3.0.48 - 2021-06-09

  • Fix for pairing the Shelly Motion Sensor

v3.0.47 - 2021-05-26

  • Branding improvements
  • Preparations for the upcoming Shelly4Pro.
  • No functional changes in this release.

v3.0.45 - 2021-05-11

  • Fix for setting dimmer to 0 brightness results in an error
  • Fix for flow cards not showing up on the Shelly 1L
  • Possible fix for some RGBW2 devices returning a 404 error after the previous release
  • Additional error handling for network communication errors

v3.0.44 - 2021-05-10

  • Workaround for firmware issue with auto discovery of Shelly motion sensor
  • Add firmware check condition card and firmware update card for Shelly 1L
  • Remove temperature and humidity capbility for Shelly 1/1PM/1L if no external sensors are present
  • Fix issue with switching between color and temperature mode for Shelly RGBW2 Color

v3.0.42 - 2021-04-20

  • Fix issue with action event trigger card not firing.

v3.0.41 - 2021-04-20

  • Added a “Input x Has Changed” trigger card for devices with inputs
  • User friendly names for events in action event trigger cards
  • Removed previously deprecated generic input has changed cards, you should use the channel specific cards by now
  • Fix issue where Shelly Uni did not create a device for the second relay channel
  • Rename temperature capability of Shelly Plug S to device temperature
  • Remove obsolete input_1 capability of Shelly Button 1
  • Deprecated the combined temperature and dim action card for the Shelly DUO as the can be achieved with two built in action cards

v3.0.36 - 2021-03-31

  • Add ADC voltage for Shelly Uni
  • Fix small issue with dimming being null for RGBW2

v3.0.35 - 2021-03-31

  • Fix issue with dim values for RGBW2 White.

v3.0.33 - 2021-03-30

  • Fix for Shelly 4 Pro appearing as offline.

v3.0.32 - 2021-03-29

  • Small fix for devices appearing as offline while they are not.

v3.0.31 - 2021-03-29

  • Code improvements for easier maintenance
  • Small fix for switching between color modes of the Shelly Bulb

v3.0.28 - 2021-03-20

  • Fixed an issue with the Shelly Dimmer 1 (added a workaround due to not using semantic versioning in firmware version of the Shelly Dimmer 1)

v3.0.27 - 2021-03-18

  • Switch to unicast for Shelly devices with firmware 1.10.0 or higher for better network compatibility (please upgrade the firmware of your Shelly device and enable CoAP again in the app settings if you have previously disabled it)
  • Added HTTP polling every minute as backup for CoAP
  • Fixed an issue with pairing of the Shelly Vintage

v3.0.26 - 2021-03-04

  • Fixed missing Input 2 trigger card for dimmer
  • Fixed input condition cards
  • Added the input state to the device pages (external is still missing but will be added in a future release)

v3.0.25 - 2021-03-03

  • Worked around a memory leak in Homey’s app SDK (for users that switched to HTTP polling, please switch back to CoAP)
  • Fixed another bug for the Shelly RGBW2 which resulted in offline devices
  • Fixed a bug with pairing a Shelly 3EM
  • Changed the capability for the SW terminal input from alarm_generic to a custom capability to avoid registering alarms. Flow that where using the generic alarm triggercard will need to be updated.
  • Deprecated the recently introduced “State changed” with tokens triggercard and replaced the with seperate on/off triggercards per input. Appearently users prefer this.
  • Added an app setting to be able to change the HTTP polling frequency. Useful for users that want to keep CoAP disabled (which is not recommended) and want to reduce network traffic over HTTP.
  • Added updates for add on sensors for the Shelly 1/PM/L over HTTP (when CoAP is disabled)
  • Other minor improvements

v3.0.19 - 2021-03-02

  • Added an app setting to disable all CoAP traffic and fallback to basic HTTP polling (triggering action events and updating Shelly 1/PM/L add ons will not work). This is useful for users that have a lot of Shelly devices and are experiencing app crashes. This is being investigated but with this you can continu to use the basic functionality of the app. Please restart the app after disabling CoAP traffic for the change to become effective.
  • Fix for Shelly RGBW2 White where all channels show as offline.

v3.0.18 - 2021-02-28

  • Refactored the app to use SDK3 (requires Homey firmware 5.x) and homeycompose to make it futureproof
  • Refactored the app and replaced the polling mechanism for a CoAP listener. Everything related to polling has been removed. This will greatly reduce network traffic and should result in faster updates of the devices in Homey when the state of a device is changed, for instance when a door/window sensor is triggered
  • Improved the way the triggercard for “Action event” works. It now uses CoAP for communication as well, this means this release will remove all HTTP callbacks from the Shelly devices if Homey detects a Shelly device that is using them.
  • Impoved the action event triggercard itself has as well, you can now select the device and action which should trigger the flow instead of having to use tokens. This might require updating your flows to keep it working though.
  • Added support for the Shelly Uni
  • Added support for the Shelly 1L
  • Added support for the new Shelly Bulb RGBW, pair it as Shelly Bulb
  • Added support for Shelly Motion although it might need to be paired manually for now
  • Added a mechanism that will update the device IP address if it detects a paired Shelly that has been added under a different IP address than it’s currently available in the network. Useful for people that have not assigned static IP addresses to their devices.
  • Added trigger flowcard for when an overpowered event takes places for the devices Plug, Plug-s, 1PM/L, 2, 25, Dimmer, 3EM, EM, RGBW2Color and RGBW2White
  • Added condition flowcard for checking if there is a new firmware available
  • Added action flowcard for updating the firmware
  • Added action flowcard for the Shelly 2(.5) Roller Shutter allowing you to change the roller shutter back to a previously saved state
  • Added action events for the Shelly RGBW2 Color and RGBW2 White.
  • Added alarm capabilities and a generic triggercard called “Input state changed” for all Shelly devices which support the SW terminal and/or external input. This was already available for the Shelly Dimmer but I refactored this to make it generic. If you are using the custom trigger or condition cards for the inputs of the Shelly Dimmer you will have to update your flows to make this work.
  • Made the trigger cards for the optional temperature sensors of the Shelly 1 and Shelly 2 more generic to support the Shelly Uni as well. This will require you to update any flows using these trigger cards.
  • Updated the effect card for the Shelly RGBW2 Color allowing you to stop an effect.
  • Removed voltage for battery powered devices as it’s not available under the CoAP protocol
  • Removed or replaced the meter power in wmin for the default meter power in Wh for all devices where applicable
  • Removed the power usage and consumption from the second device of the Shelly 2 Relay as this device does not measures these values per relay individually. If you use the values from the second device in your flows update the flows to use the values from the first device.
  • Removed the relay capability from the second and third device of a Shelly 3EM as there is only one relay for this device. If you use the relay from the second or third device in your flows please update the flows to use the values from the first device.
  • Replaced the custom “meter power consumed” capability for the Shelly EM and Shelly 3EM with the default “meter power” capability. If you are using the triggercard for consumed power you will have to update your flows.
  • Fixed an issue with the action tag for the Shelly i3 not showing which channel triggered the action.
  • Fixed an issue with the tilt trigger card of the Shelly DW2 sensor
  • Fixed an issue with dimming in color and white mode for the Shelly Bulb
  • Fixed an issue with setting the temperature in white mode for the Shelly Bulb
  • Fixed an issue with manual pairing of Shelly 2.5 Relay and Roller Shutter
  • Various minor code improvements which should improve overall performance

v.1.25.6 - 2020-08-09

  • Added temperature and tilt capability to the Shelly Door/Window (2) sensor
  • Some other minor improvements

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.