Feature Name
On-Grid/Off-Grid Discharge Cut-off Voltage Limit
Is this an Entity?
Yes
Feature Description
Much like the On-grid Discharge Cut-off SOC Limit and Off-grid Discharge Cut-off SOC Limit entities, I would like entities added for the voltage limits as well.
MQTT exposes the on-grid voltage limit as OngridEOD_Voltage, but it's read-only (attempts to update it are ignored). As detailed below, I tried to add it myself and was blocked by the dongle ignoring the update.
The off-grid voltage limit does not appear to be exposed, so I expect that will require a change to the dongle firmware as well.
Home Assistant Version
2025.12.5
Additional Context
I've been unable to get my EG4 LL-S batteries to calibrate even when following the calibration instructions. They enter undervoltage protection mode and shut down while reporting something like 60% SOC and then they show 0% when powered back on, yet they don't bottom calibrate as expected and the same thing happens repeatedly within days. Because of this, I've given up on SOC having any meaning and I've switched discharge control to voltage, which so far has been much more predictable and usable.
I want to automate the on-grid discharge cut-off voltage to help reduce grid usage during on-peak times even when there isn't enough solar production. I tried Peak Shaving Mode and could not get it to work at all, so changing the cut-off value would be my workaround.
In const.py under number, I added this:
"holdbank5": [
{"name": "On-grid Discharge Cut-off Voltage Limit", "type": "number", "unique_id": "OngridEOD_Voltage", "unit": "V", "min": 40, "max": 56, "mode": "box"},
],
Side note: I used box instead of slider because the sliders are annoying to use and don't normally display their value. I created PR #102 to change all of the sliders to boxes as well as changing some display units from words to symbols.
However, it doesn't work and HA gives this toast message:
Failed to perform the action number/set_value. 'InverterNumber' object has no attribute 'revert_state'
I tried publishing directly to the /update topic just as it's done for the EOD value:
{
"setting": "OngridEOD_Voltage",
"value": 50,
"from": "homeassistant"
}
It did not get a response. I tested EOD to be sure I was doing it right and that did get a success response.
Feature Name
On-Grid/Off-Grid Discharge Cut-off Voltage Limit
Is this an Entity?
Yes
Feature Description
Much like the
On-grid Discharge Cut-off SOC LimitandOff-grid Discharge Cut-off SOC Limitentities, I would like entities added for the voltage limits as well.MQTT exposes the on-grid voltage limit as
OngridEOD_Voltage, but it's read-only (attempts to update it are ignored). As detailed below, I tried to add it myself and was blocked by the dongle ignoring the update.The off-grid voltage limit does not appear to be exposed, so I expect that will require a change to the dongle firmware as well.
Home Assistant Version
2025.12.5
Additional Context
I've been unable to get my EG4 LL-S batteries to calibrate even when following the calibration instructions. They enter undervoltage protection mode and shut down while reporting something like 60% SOC and then they show 0% when powered back on, yet they don't bottom calibrate as expected and the same thing happens repeatedly within days. Because of this, I've given up on SOC having any meaning and I've switched discharge control to voltage, which so far has been much more predictable and usable.
I want to automate the on-grid discharge cut-off voltage to help reduce grid usage during on-peak times even when there isn't enough solar production. I tried Peak Shaving Mode and could not get it to work at all, so changing the cut-off value would be my workaround.
In
const.pyundernumber, I added this:Side note: I used
boxinstead ofsliderbecause the sliders are annoying to use and don't normally display their value. I created PR #102 to change all of the sliders to boxes as well as changing some display units from words to symbols.However, it doesn't work and HA gives this toast message:
I tried publishing directly to the
/updatetopic just as it's done for theEODvalue:It did not get a response. I tested
EODto be sure I was doing it right and that did get a success response.