Developer's update: Homey Energy
Dear developers,
Today we have released Homey v3.0.0 to all Homeys running on the Experimental channel. Read the SDK Changelog here »
This update adds Homey Energy, a major new feature that helps users save energy by gaining insight in the power usage of their home.
We would like to invite all Homey developers to update their apps to make use of the latest APIs, to be ready for a public release set at the end of October 2019.
What's new?
Most devices can now measure their energy, either by a physical measurement (e.g. a smart plug) or by approximation (based on their on/off and dim state).
Homey displays these measurements in a hierarchical overview under the Energy tab in the Homey app.
Additionally, a list of all battery-powered devices can be found with their status. Battery-powered devices should have metadata which batteries they include, to show this in the overview, so the user knows what replacements to buy.
How to update your app
First, start by reading the documentation on Homey Energy. Next, decide if your app supports devices whose power usage can be approximated. For example, if a light bulb states a standby (or off) and maximum power in the manual (e.g. 0.5W for off and 15W for on), you can add these values to your app's manifest JSON.
Batteries
For all battery-powered devices, you can now add the batteries property in the driver's JSON. The batteries should then automatically appear in the battery list.
Solar panels
If you are the developer of an app that adds support for Solar panels, you should make sure that the device class of your devices is solarpanel. If it isn't yet, you can use Device.setClass() to change the device's class.
Also make sure that you are not providing negative measure_power values to the setCapabilityValue method. Only when the solar panels are actually using energy, this is allowed.
Smart meters
If you are the developer of an app that adds support for smart meters (e.g. a P1 meter for The Netherlands), you should make sure that you set the cumulative flag in the device's energy object.
Also make sure that you are not providing negative measure_power values to the setCapabilityValue method.
App submission
For the next week, we will have additional capacity on the App Store's review process to make sure your apps are reviewed in time. When you utilize the new Energy APIs, Make sure to set your app's compatibility field to >=3.0.0.