Thanks Jurgen, this is exactly the kind of feedback I was hoping to get from people who are actually validating HomeFlux in a real setup.
Your general view matches the architecture I’m aiming for: HomeFlux should decide what should happen and why, while the actual Homey device integrations remain responsible for vendor-specific commands, safety behaviour and fallbacks.
A few of the things you mention are already partly present today:
- HomeFlux already works hardware-independently through Homey Flow inputs/outputs rather than talking directly to a specific battery or charger brand.
- Battery control can already be split into charge/discharge mode and power outputs, so integrations can translate that into the commands required by SMA, Huawei, Marstek, etc.
- EV control is also separated per charger, with modes such as normal/smart behaviour, PV charging and session overrides.
- Peak Guard always remains the hard upper limit, regardless of what the planning wants to do.
- There is already a Live status page and a Planning simulation page, which are useful while validating the EMS before allowing it to control anything.
- HomeFlux can currently be used purely as an observer/planner. You don’t have to give it actual control immediately.
I particularly agree with your first and fifth points. At the moment HomeFlux can show quite a lot of state, but the next useful step would be to expose the decision context more clearly:
- Current strategy
- Current requested action
- Why that action was chosen
- Next expected action
- Data freshness / fallback state only when relevant
A compact controller/status widget for Homey Dashboards would fit this very well. That is a good suggestion and I’ll add it to the roadmap.
Your point about EV/battery coordination is also important. HomeFlux already coordinates several loads through the same planning and Peak Guard logic, but I agree that this should become more explicit. A state such as:
EV charging cheaply → hold home battery
is much clearer than having that emerge indirectly from several separate rules.
Quarter-hour pricing is another area I’m looking at closely. HomeFlux already supports dynamic pricing, but I agree that 15-minute prices should eventually be treated as proper planning data rather than merely a shorter tariff interval. In particular, the distinction between:
- tomorrow’s prices are not published yet
- price data is stale
- price source actually failed
is important for safe planning.
For validation, what you are doing is also what I would recommend: first let HomeFlux observe and plan, compare the Live status and Planning simulation with what you would have done manually, and only then enable individual outputs one by one. Battery and EV control do not have to be enabled at the same time.
Your SMA/BYD + Zappi + Nibe setup is also a very interesting test case because it is quite different from the systems I’m currently testing myself. So please do share what you find — especially cases where the planned action is correct but the reason is not obvious.
The main goal is exactly what you described: avoiding a huge collection of Advanced Flows and having one place that understands the complete energy situation.
HomeFlux is also already growing beyond battery/EV planning. The same controller can coordinate PV limiting, up to four EV chargers, multiple HVAC devices, a boiler, battery reserves, tariff-based planning and savings/cost tracking. The idea is that these all compete for the same available energy instead of each device making an isolated decision.
A small note for context: HomeFlux is still very new in the Homey App Store and I originally published it mainly as a test, with some uncertainty about how much interest there would be. The initial motivation was very much my own use case: managing energy intelligently with a three-period electricity tariff. Since then, the scope has grown considerably.
At the moment I’m personally testing HomeFlux on three different setups. One of those uses a Huawei LUNA2000, which is also a good example of why HomeFlux keeps the control layer hardware-independent: that setup does not allow a single control mode where positive and negative power setpoints can simply be used interchangeably, so separate charge/discharge control is required.
There are still only very few installs at this stage, so feedback from real-world setups is especially useful.
For EV charging, Peak Guard always remains the hard upper limit. There is, however, now an optional setting that allows the home battery to support EV charging up to the configured battery limit when desired. One example is Emergency Charge: this can be triggered through a Flow card for a single charging session. During that session HomeFlux can allow battery support if enabled, while still respecting Peak Guard. Once the EV disconnects and the session ends, HomeFlux automatically returns to the user’s normal EV mode and settings.