HEMS Controller

Optimize your battery based on electricity prices
Optimize your battery based on electricity prices

Read more ›

Supported devices

Flow cards

Click on a device above to show related Flow cards only.

When...

HEMS Controller
HEMS: Charge battery Battery
i
Charge the battery. Use the 'Recommended power' tag for charge rate.
HEMS Controller
HEMS: Discharge to cover house Battery
i
Discharge to cover all or part of the house. Do not export to grid if household load is lower than recommended discharge power. Use the 'Recommended power' tag for discharge rate.
HEMS Controller
HEMS: Pause battery Battery
i
Pause the battery. Do not charge or discharge.
HEMS Controller
HEMS: Charge with solar only Battery
i
Charge battery using solar power only. Do not discharge.
HEMS Controller
HEMS: Sell to grid Battery
i
Discharge battery to sell electricity to grid. Use the 'Recommended power' tag for discharge rate.
HEMS Controller
HEMS: Avoid power peak Battery
i
Discharge to cover the entire household and prevent grid import. Do not export to grid. Use the 'Recommended power' tag for discharge rate.
HEMS Controller
HEMS: Prevent grid export Battery
i
If possible, do not export to grid.
HEMS Controller
HEMS: Sell solar surplus Battery
i
Sell solar surplus to the grid. The battery does nothing (no charge or discharge) — solar surplus flows automatically to the grid.
HEMS Controller
HEMS: Command changed Battery
i
Triggers when HEMS changes command (e.g. from sellsolar to chargesolar).
HEMS Controller
HEMS: No change Battery
i
Nothing has changed since last response. Keep current settings.
HEMS Controller
HEMS: Connection lost
i
Triggered when HEMS becomes unreachable: either 5 consecutive failed API calls, or no valid command received within 3 minutes. Use this to set a safe fallback for your battery.

And...

HEMS Controller
Battery number is Battery number
i
DEPRECATED for multi-battery setups — use the 'Battery' dropdown on the trigger card itself for reliable filtering. This condition card has a known race condition when multiple batteries trigger the same action simultaneously.
HEMS Controller
HEMS command is Action
i
Check if the current HEMS command matches the selected action.

Then...

HEMS Controller
Send to HEMS: Solar Solar production (W)W, Grid Grid power (W)W, Battery 1: Battery 1 SOC (%)% Battery 1 power (W)W, Battery 2: Battery 2 SOC (%)% Battery 2 power (W)W, Battery 3: Battery 3 SOC (%)% Battery 3 power (W)W, EV1: EV charger 1 (W)W, EV2: EV charger 2 (W)W
i
Send your values to HEMS and get back what the battery should do. Leave Battery 2/3 SOC empty if you only have one battery. Battery power is optional — if provided, send it for all batteries. EV charger power is optional — fill in one or two EV chargers if you have them.

Support

The developer of this app does not offer direct support.

What’s new

Version 1.7.2 — Fix: Handle JSON-encoded string responses (e.g. "sellsolar" with quotes) from HEMS backend. Previously caused silent trigger failure and false 'Connection lost' for users with simple response format.

View changelog

HEMS Controller

HEMS Controller is not compatible with the selected Homey.

HEMS Controller will install on Homey shortly.
Install App