6. Troubleshooting
Alarm: "Dynamic ESS error code: No matching schedule available"
This alarm has two triggers: the system does not have a valid schedule for the current time frame, or the system clock is incorrect.
A missing schedule is usually caused by clock drift. The GX device normally synchronises its clock with an NTP server, but network settings can prevent this. Check that the time is correct, or set it manually. On a Raspberry Pi, which has no real-time clock, occasional errors of this kind are expected, and the system may need time to synchronise after starting.
The alarm can also occur when the system switches from Dynamic ESS to standard ESS because the battery state of charge has fallen below the configured minimum.
Alarm: "Dynamic ESS error code: ESS functionality not available"
This alarm indicates that Dynamic ESS was activated previously and is no longer in use. To disable it fully, set the /Settings/DynamicEss/Mode path in com.victronenergy.settings to 0. This can be done in several ways; the most straightforward is the output-control node in Node-RED.
Error: "Dynamic ESS error code: Battery capacity unset"
This error can occur when Dynamic ESS starts before the battery capacity has been communicated from VRM to the GX device. It clears once Dynamic ESS or the GX device is restarted.
The energy graph shows incorrect data
The Energy graph uses simplified assumptions about energy flow and can show inaccurate results. For precise figures, refer to the installation data graphs for grid, solar and consumption instead.
The Controls button is missing from the dashboard
Check that Realtime updates is switched on, under Settings, General, Realtime updates. When it is active, the dashboard shows "Last updated: Realtime".
6.1. FAQ
Q1. What happens if the VRM connection is lost or the system runs out of its schedule?
After 12 hours without a connection, the system reverts to standard ESS operation. When the connection is restored, new schedules are received and Dynamic ESS resumes. Because Dynamic ESS depends in part on third-party services such as day-ahead price data, a failure of those services can also halt scheduling until the data is available again.
Q2. Is there an API?
Yes. Dynamic ESS provides an API. Access requires an access token. See Node-RED for how the API is used from a flow.
Q3. Are variable daily provider fees accounted for?
The price formula uses the energy price as its only variable input. Fixed multipliers and fees can be included in the formula, but fees that vary from day to day are not modelled separately.
Q4. Does Dynamic ESS work outside the EU, for example in the UK?
Yes, in many cases. Where a provider offers fixed tariffs that are steady but vary by time of day, a fixed contract can be used. Where a provider uses hourly-changing tariffs that are not covered by the ENTSO-E price source, these are not currently supported. Support can be added where a public price API is available, and can be requested on the Victron Community.
Q5. What if the contract does not permit discharging the battery into the grid?
Some contracts, for example in Germany, do not permit exporting previously imported energy back to the grid. Dynamic ESS provides a restriction option to prevent this, set during setup under the charge / discharge restrictions. See Battery.
Q6. Why does the charge or discharge rate change towards the end of an interval?
Dynamic ESS continually adjusts the rate to reach the target state of charge for the interval, adapting to variations in load. If the battery capacity is overestimated, the rate slows towards the end of the interval; if underestimated, it speeds up. Because manufacturers' stated capacities are not always exact, some calibration of the entered capacity may be needed.
Q7. Can scheduled charging be used together with Dynamic ESS?
No. Scheduled charging is not compatible with Dynamic ESS because it interferes with the scheduling calculation. Use standard ESS, or Node-RED for tailored charging routines.
Q8. Can custom prices be uploaded manually?
Uploading custom prices through VRM is not currently supported.
Q9. Why does the plan seem to change in the first few minutes of an interval?
Scheduling for each interval begins at the start of the interval, so the plan for the current interval can take a few minutes to take effect. The effect on overall performance is negligible.
Q10. Are battery efficiency losses taken into account?
Yes. Dynamic ESS accounts for battery losses through the system efficiency setting (the SystemEfficiency path in com.victronenergy.settings).
Q11. What happens if the minimum SOC is changed?
See Minimum SOC and BatteryLife for more information.