Control Shelly devices with Homey
App Store Page: https://homey.app/a/cloud.shelly/
This Homey app allows you to control a variety of Shelly devices. New Shelly devices are released to the market often. Support for new devices will be added in time. See below if you are missing support for a specific device and you want to see it added to the app.
Add your Shelly device in Homey just like you would add any other device. The app uses discovery for finding your Shelly device(s) on your network. If you have setup a username and password you are asked to enter these as well. After confirmation 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 like 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 some extra steps.
- Open the settings of your Shelly device through the Homey app by long pressing the device and selecting the cogwheel.
- Select the option “Maintenance Actions” (if this is not available for your device then it does not support these actions)
- Click the option “Set callback URLs for triggers” and wait for confirmation
- Open the webinterface of your Shelly or the official Shelly smartphone app and under the actions tab of your Shelly devices disable the actions you will not be using. This will prevent unnecessary network traffic between Homey and your Shelly.
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:
- Create flow
- Add trigger action card from the Shelly app (not from any of your devices) called “Action event”
- Add a Logica condition card for filtering on the name of the device using the Name token
- Add a Logica condition card for filtering on the action you want this flow to trigger on using the Action token
- 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. I will update this card in a future release allowing you to select which device and action should trigger the flow instead of having to use the tokens to filter on.
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.
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:
- 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.
- 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.
- Donate me money so I can buy the device or send me the device itself so I can add support using the actual device.
It seems some users are experiencing network issues (devices unreachable or timeouts) when using the Shelly app with Homey.This seems to happen mostly with users that have a lot of Shelly devices added. Until now I have not been able to find any cause of this in my app. It appears that in these scenarios Homey is struggeling to maintain a stable network connection with the Shelly devices for communication. Here are some pointers in case you are experiencing offline devices (with a red triangle showing in the Homey app).
- 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/).
- 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.
- 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.
- Especially when having a lot of Shelly devices you might want to use a higher polling frequency and differentiate the frequency between devices as well. Homey polls the devices for it’s status, if this happens often and at the same time for all devices this may become an issue for the limited resources of Homey. For most devices you can manually change the polling frequency under the device settings (except for battery powered devices and devices that create multiple instances in Homey when pairing like the Shelly 2.5).
- If you have done all of the above and your issue persists 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. This extra information might help to find a pattern.