Homey Community Forum

[APP][Pro&Cloud] Shelly

small

Control Shelly devices with Homey

App Store Page: Shelly App for Homey | Homey

Description

This Homey app allows you to control Shelly devices over WiFi.

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.

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

  • If you receive a timeout during pairing, make sure you update the firmware of your device. You might need to connect your Shelly to the cloud before being able to see the latest available update.
  • 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.4.11 - 2021-11-14

  • Fix for incorrect calculation meter power capability on Shelly Plus devices.

v3.4.10 - 2021-11-13

  • Fix for meter power capability displaying in watt-hours instead of kWh on Shelly Plus devices.

v3.4.8 - 2021-10-25

  • Fixed an issue with switching channel 2-4 of the Shelly 4Pro Plus
  • Added trigger cards for the input of the Shelly 4Pro Plus.

v3.4.6 - 2021-10-15

  • Updated the Shelly Uni icon.
  • Improved the dimming capability of the Shelly Dimmer, it now respects the transition time.
  • Fixed a small issue with crashes on Homey Cloud.

v3.4.5 - 2021-09-22

  • Fixed an issue with the inputs for GEN1 devices with multiple channels.
  • Fixed an issue with inputs for GEN2 (Plus) devices.

v3.4.3 - 2921-09-20

  • Added RSSI WiFi signal to all devices.
  • Fixed an issue with action events for Shelly Plus devices after an API update.
  • Fixed an issue with the flipback switch action card for multichannel devices.

v3.4.2 - 2021-09-16

  • Add support for Shelly Plus 1 and Shelly Plus 1PM next generation devices.
  • Fixed a bug with the flipback switch for relay devices.

v3.4.1 - 2021-09-15

  • Initial state of devices added to Homey Cloud is now updated.
  • Fixed the intelligent action for rollershutter devices
  • Removed some deprecated flow cards, make sure to fix your flows if you missed the previous announcements.

v3.4.0 - 2021-09-14

  • Fixed an issue with dimming on Shelly Vintage.
  • Possibly fixed an issue with the intelligent action for Shelly 2(.5) roller shutter.
  • Added support for Door/Window, Motion, Flood, Humidity/Temperature and Smoke sensors on Homey Cloud.

v3.3.8 - 2021-09-10

  • Added support for the Shelly Button 1 on Homey Cloud.
  • Added dimming transition for the dimmer, RGBW2, Duo and Vintage on Homey Pro (limited to 5 seconds due to Shelly API limitations).
  • Fixed a bug in the momentary flipback switch action card.

v3.3.7 - 2021-09-08

  • Fixed an issue with the 2nd input of a multichannel devices updating incorrectly.
  • Code improvements for the newly added support for Homey Cloud

v3.3.6 - 2021-09-07

  • Added a generic firmware is available triggercard and deprecated the firmware available conditon card which is now obsolete. Please update your flows accordingly.
  • Deprecated the custom flipback switch 2 and flipback switch 4 action cards. These have become obsolete a long time ago, please update your flows to use the regular flipback switch card.
  • Some other minor improvements in there as well.

v3.2.0 - 2021-08-26

  • Add support for the new Shelly Pro 4PM (uses websockets for communication).
  • Upgraded the shellies-coap library
  • 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.