YES!!!
Thank you it works now
Ultimate EMS 2.5.116 (test)
What’s new:
- Alfen and other EV chargers: the EMS now sends stop commands far less often (at most once per 10 minutes, or once per 3 minutes while the charger is still drawing power). A start no longer follows right after a stop. If a charger resumes on its own after our stop, the portal now logs it.
- Battery reserve: every battery block has a reserve setting (default 2 %). The EMS won’t discharge below it, and the planner ignores that part of the capacity. This is useful with a backup box or your own lower limit.
- HomeWizard Plug-In Battery: it can now be controlled through a Flow (trigger “EMS want to control battery”). The battery has no settable power, so the EMS only passes on charge, discharge or stop. Instructions are in the trigger’s hint.
- PV today: now counted per inverter, so no more absurd daily totals when an inverter reports a lifetime counter.
- Monitor-only inverters (e.g. Hoymiles): never dimmed. Empty peak fields no longer trigger a warning.
- Setup wizard: now also available in English and German.
Hi Menno,
Just installed the Ultimate EMS and looking forward to testing it further.
There appears to be something wrong with the EV charger setup. In the app I input 3 phases 16A, but on the dashboard it sets only L3. As a result the charging schedule is now 4,1 kW spread out over several hours, instead of 11kW on the cheapest 3. If I correct the dashboard, the app loses all information.
I have an Ohme MID Pro 11kW charger, set to max charge, so no interfering logic…
Hi Rhanin,
Thanks for the detailed report, and sorry for the confusion. Two separate things:
- “L3 only” in the dashboard was a display bug in the settings screen: for a 3-phase charger the portal showed “L3” instead of “3 phases”. That has been corrected in the portal. Could you open the app settings and confirm that the EV is set to 3 phases and 16 A? That is the only thing the EMS uses.
- The 4.1 kW in the schedule is not your setting. The planner currently draws EV blocks at the minimum charge current (6 A × 3 phases × 230 V ≈ 4.1 kW) for every 3-phase charger. That is how the plan is shown. In “fast charge” mode the EMS itself asks for your configured maximum current. I have not yet been able to verify that on your charger, because the car was not connected in the data I looked at.
If you plug in the car, let me know what the Ohme actually delivers (kW in the Ohme app) and what the EMS dashboard shows at that moment, then we can see whether it matches.
Menno
Ultimate EMS 2.5.117
PV per inverter
- kWp, peak hour and flat roof are now set per inverter, in the settings page and in the wizard (same values in both). This fits setups with a 3-phase inverter plus single-phase inverters.
- If you only had these values per phase, they are derived per inverter automatically and flagged in the settings, so please check them once.
Home batteries per battery
- Brand and the “autonomous” setting are now per battery. You can mix, for example, Sessy and Marstek, or one autonomous battery with one controlled battery.
- The requested power is divided over the batteries by usable kWh (discharging) or free kWh (charging). A battery at or under its own reserve (or full) is skipped, and the phase room of your grid connection is taken into account.
- The cheap-hour check now uses a capacity-weighted round-trip efficiency.
- For single-phase battery brands (Anker Solix, Marstek, Sessy, Zendure, Zinvolt) the wizard and settings now suggest choosing the phase the battery is on.
Load balancer
- Uses the phase you set per battery instead of always dividing over three phases.
- Reports a phase that stays over its fuse (event
phase_overload). - Export no longer switches off the EV or boilers.
Device recognition
- Better recognition of new devices: Zinvolt Core, Solarwatt, Quatt Home Battery, go-e, OCPP bridge, and Sofar/APsystems/Hoymiles as measure-only PV.
As always: if something behaves differently after the update, please post your install nickname and what you see, and I’ll take a look.
Hi Rien, thanks for the screenshots, that’s clear: it’s a bug on my side.
The device list on the heat pump card is filtered, and your Nibe isn’t in it (that’s why you have to use “show all devices”). It does get saved, but when you reopen the page the list is filtered again, so the saved device isn’t in it and the field shows empty. Careful: if you change anything in that block after reopening, it saves the block with an empty device, and the heat pump disappears from your settings. So until I have a fix, please don’t touch that block after saving; if it’s gone, select it again via “show all devices” and save.
I’m working on a fix so the saved device is always shown and the Nibe shows up in the list without the workaround. Two questions: do you use the Nibe myUplink app in Homey, and does the device have a temperature setpoint (target temperature) in the Homey app? That tells me what the EMS can control on it.
Thanks, Menno
Homey EMS 2.5.118
What’s in this release:
- EV trips no longer flip on and off around the deadline. The EMS now works out whether a trip still fits using the charger’s maximum phases and current, counting only the non-peak hours. Once the trip no longer fits, it keeps charging until the target is reached.
- Strict peak block. The EMS no longer charges the EV in peak hours, except below the minimum SoC. For a trip you can allow it with the new Flow action “Peak-hour override for trip”. A new trip switches the override off again.
- Trip check. When you plan a trip you get a notification if the car can’t be ready in time. Examples: charge mode is off, there isn’t enough time, or it only works with charging in peak hours.
- Less sawtooth. During grid charging (cheap quarter, night charging, plan, negative price) the current no longer steps up and down every minute.
- Slow chargers. A charger that only reports “charging” a minute after the start is no longer stopped again right away. This caused a pause at 5 A on the Alfen via the Modbus app.
- Home battery: mode per battery. The battery Flow trigger has a new “mode” token (self / charge_only / discharge_only / grid_charge / standby). For batteries that follow the P1 meter themselves (HomeWizard, Fronius, Huawei), the EMS now only gives that mode.
- HomeWizard Plug-In Battery. The EMS sets the mode directly through the HomeWizard app’s cards on the P1 (API v2). Only if that fails does it fall back to the Flow trigger. With the setting
battery_direct_controlswitched off you use the trigger only.
Thanks to everyone who shared logs and screenshots. I couldn’t have found these issues without them.
If you see something odd after updating, let me know with a screenshot of the widget and the time it happened.
Hi all,
A short experience report, since Ultimate EMS took over my house a few days ago.![]()
Setup
- Homey Pro with the Homey Energy Dongle (P1)
- 2 Growatt inverters
- 2 Sessy home batteries (5 kWh each, control strategy POWER_STRATEGY_API)
- 2 Wallbox Pulsar chargers, an Audi e-tron and a MINI Cooper SE
- NIBE VVM320 heat pump with SG Ready
- Dynamic contract (Frank Energie)
Until now the SEM integration in Home Assistant was in charge of all this. Since 24 October Ultimate EMS controls everything, and SEM runs in observer mode, so it still calculates but doesn’t control anything. That gives me a nice side-by-side comparison.
How I wired it
- SG Ready: the four SG Ready triggers each start a small Flow that presses a button on my own ESP32 module with 4 relays, connected to the SG Ready inputs of the NIBE. @Menno_De_Braak, you mention on your site that switching real relays on a real heat pump hasn’t been tested yet: it works here on a NIBE VVM320. Happy to share the wiring and ESPHome config.
- Charge profiles: per car four tiny Flows (solar only / solar + grid / fast / off), using the “Set EV charge profile” action. They sit as shortcuts on our phones, so everyone in the house can switch with one tap.
- Sessy: controlled directly by the app, no Flows needed.
Tips from the first days
- Make sure only one system controls each device. Turn off the battery’s own smart mode or any other EMS first.
- Finish the setup wizard in one go; if you close it halfway, restart the app and go through it again.
I write about home energy management in Dutch and have put together a Homey section with a step-by-step setup guide, a comparison of energy apps for Homey and live savings figures from my house (updated every 15 minutes from Homey): Ultimate EMS in Homey: één energieplan voor je huis - Smart Energy Management
Menno, thanks for the app and the pace you’re developing it at! Questions about my setup are welcome here.
Wauw… thanks for the compliments Rien! I will have a look at your suggestions and try to make it better.
Regarding your Growatt inverters, how do you dim them? You know I have a nice dimmer for this? For this year it’s not so relevant but as we can still use the salderingsregeling
but in 2027 we cannot and most people have to dim their solar inverters. I’m happy to send you 2 piece if you want to try them out.
Best Menno
Hi Rien,
Based on your data I made some changes to the app. Charging and discharging is now optimized and should make more money (or save more money) see update: Ultimate EMS | Homey
Also, putting the EV on Solar+grid is best for efficient charging. I recommend to set the max charge current to around 8A, higher is possible depending on the KW needed to meet your desired SOC. But these often are exceptions and that hard to make easy solutions for exceptions.
I wil make some changes to the EV section so you can swap cars more easily.
And thanks for the tip about the sessy batteries. Can you share a bit more about your settings and or measures to have them controlled by U-EMS? I know there are some other users struggling to find the right settings because sometimes they do not follow the instructions of the EMS. @Frans_Lowiessen
Hello,
I have put all my Sessy’s (3x5kW) and set the energy stragey to open
What is your setting on the strategy ?
Cheers Frans
New update with some improvements and bug fixes!
Ultimate EMS 2.5.125
New
- Limits from the battery itself: the EMS reads the limits you set in your battery’s own settings (minimum state of charge, maximum charge and discharge power, e.g. Zinvolt). It uses whichever value is strictest, the EMS’s or the battery’s, so the two no longer contradict each other.
- Estimated EV state of charge: between reports from the car, the EMS estimates the state of charge from the energy charged. Trip and night charging stop more accurately at the target, even if the car only reports its state of charge now and then.
- Minimum margin per kWh: a new setting (default € 0.02) for the minimum price difference before the battery charges from the grid or discharges. It covers wear and uncertainty without complicated depreciation calculations.
- Value of solar energy in the battery: solar energy stored in the battery is now valued fairly: at the import price while you have net metering, and at the export price after that. This makes the cost of the stored energy more accurate.
Fixed
- Batteries with delayed readings: batteries that report their power with a delay (for example via a cloud) no longer switch between charging and stopping every minute.
- Solar surplus during peak hours: with zero export enabled, solar surplus during peak hours now charges the home battery instead of the panels being curtailed.
- Home battery as curtailment device: a home battery can no longer accidentally be chosen as the device for curtailing solar panels. An existing setting like that is ignored, with a notice.
- 10 W steps: commands to batteries are sent in steps of 10 W. A stop command that the battery refuses is retried after 5 minutes instead of every minute.
Improved
- Fewer repeated messages in the portal: the warning about the solar peak power setting appears at most once every 6 hours, and the warning about curtailment conflicting with the battery at most once every 30 minutes.
- Less memory use: the list of all devices in your home is refreshed every 15 minutes instead of every minute, and the app package is much smaller, so installing and updating is faster.
- Memory usage reporting: the app now reports its memory usage to the portal, along with your Homey model. We use this to investigate why the app restarts on some Homeys every few hours.
As always: feedback is welcome here or via a ticket in the portal.
Great work @Menno_De_Braak !
Hi Richard, the plan was received fine: your Homey sent tomorrow’s plan at 15:04, 17:34 and again after the update at 21:49. The portal shows “No plan received yet” whenever a plan contains no actions at all. Your plan for Sunday was completely idle (the Zendure was already full, there were no cheap hours and you have no EV), so there was nothing to show. That message is misleading, and we’ll look at changing the portal text. The plan calculated later that night, with charging blocks, does show up.
Ultimate EMS 2.5.127
Heat pump:
with “I have heat pumps” unticked, the EMS no longer controls the heat pumps that are still in the list. - A disconnected heat pump or air conditioner returns once to its base temperature (SG Ready goes to mode 2).
EV: solar as a bonus
- The EMS now estimates how much solar your car can realistically use: forecast minus household use, counting only hours where the surplus is above the start threshold.
- Only the shortfall is charged from the grid: at night with a fixed contract, at the cheapest moments with a dynamic contract.
- The night before a home day is only skipped when the sun is expected to cover the need.
- With a fixed contract the car starts on solar sooner while it is below its target.
- Fixed: a solar start right after a stop, while the charger still reported its old power.
Simpler charge modes
- Four modes: Solar, Solar + grid, Charge now, Off.
- Existing settings (including the old PV and Fixed current modes) keep working.
Alfen ACE (Modbus app)
- Charging power is read from the phase values when the total stays at 0 W.
- The car-connected status is used.
- No phase switching while the car is full.
- The EMS checks via the P1 meter that the car is really charging.
Batteries
- Zendure: a stop now holds, instead of the battery going back to its own schedule.
- HomeWizard Plug-In Battery: the EMS sets the battery mode directly via the HomeWizard app.
- New warning when a battery keeps following its own schedule after the EMS stops it.
- Huawei: a mixed battery group goes to standby on stop.
Portal
- The device list is now sent separately, so start-up logs no longer get lost.
I installed it, and will let you know the result
Ik wil je even complimenteren voor de energie
die je hierin stopt. Ik heb nog een oude 2018 homey maar binnenkort wil ik die vervangen voor een 2026 exemplaar. Zodra die binnen is ga ik jouw app gebruiken. Ik heb de peblar en Goodwe panelen.
Is er een mogelijkheid om de auto vol te laden op gezette tijden? Ik werk namelijk onregelmatig en wil de auto soms vol hebben om 6.00 uur, en soms om 13.00 uur. Misschien een mogelijkheid om dit per week (of zelfs maand) vooraf te kunnen inlezen?
Stekker in de auto-> EMS maakt een plan-> Laden en vol voor deadline



