Skip to content

[HA Feature] Add Discharge Cut-Off Voltage settings #101

Description

@pilot51

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions