Added
- Every poll is checked for conditions in which the inverter is best left to itself: off-grid and a disconnected battery, as the inverter reports them; a grid-side voltage gone while it still reports on-grid; a system Battery SOC that drops to 0 % from above 10 %, or reads 0 % while a battery reports more (#32, #200); and voltages and frequency that stop changing for two minutes. Control steps aside while one fails, and Control Status shows Off-grid, Battery disconnected or the new Readings inconsistent.
ef_powerocean_tcpmodbus_reading_check_failedandef_powerocean_tcpmodbus_reading_check_clearedevents, also in the logbook. The checks run, and the events fire, whether or not Modbus Control is on.- Icons for the Battery Mode options and for the actions.
- README sections on use cases, troubleshooting, removal, how data is updated and known limitations.
quality_scale.yaml, recording how the integration meets each rule of Home Assistant's integration quality scale.- The diagnostics now include the readings from each time a check started failing, kept across restarts, so a report can be downloaded after the fact.
Changed
- Frequency, the voltages and every battery's SOC are now read on each poll for the reading checks, even when their sensors are disabled.
- Entity icons come from
icons.jsonrather than the entities' state, as Home Assistant recommends. They look the same. - Error messages from the controls and settings are translated, so they appear in German in a German Home Assistant.
- Writes to the inverter from the controls are sent one at a time.
- A connection that stays down is logged once, and its recovery once, instead of an error on every poll.
- The Battery SOC sensor shows unavailable instead of 0 % while the
battery_soccheck fails (#200).
Fixed
- A Battery SOC reading 0 % for one poll, or for half an hour, no longer sets off the Battery Reserve and has the house draw from the grid while the batteries are nearly full (#200). A frame whose readings contradict each other never moves the Charge Limit or Battery Reserve.
- Effective Battery Reserve sensor: the reserve the battery is held at right now, as the control loop keeps it. Without Modbus control or in Automatic that is the app's backup reserve, or a higher emulated Battery Reserve; under a manual command only the Battery Reserve, since the command outranks the app's. A
sourceattribute says which - Battery Nominal Capacity and Battery Remaining Energy no longer drop to 0 while the battery sleeps at its reserve; the last plausible capacity is kept, also across restarts.
- Deleting the integration now also deletes the energy counters and control state it saved.
- A setup that fails, such as when the inverter is unreachable at startup, no longer leaves the Modbus connection open and, with Modbus Control on, the heartbeat running; every retry used to add another heartbeat writing to the inverter. Setup also gives up after one connection attempt instead of blocking Home Assistant's startup for over two minutes, and Home Assistant retries it with its own backoff.
What's Changed
- Effective Battery Reserve sensor; keep battery capacity while it reads 0 by @windmark in #203
- Bump actions/setup-python from 7.0.0 to 7.1.0 by @dependabot[bot] in #206
- Bump home-assistant/actions/hassfest from 06749dd8c0b54f350bc69c8752456cee498808a3 to 86d4564712fa02543c808e3a693dd04f9d3f8361 by @dependabot[bot] in #204
- Bump stefanzweifel/git-auto-commit-action from 7.2.0 to 7.2.1 by @dependabot[bot] in #205
- Step aside while the inverter's readings fail a check by @windmark in #201
- Skip beta unit tests when the harness cannot load by @windmark in #208
- Meet the integration quality scale up to Platinum by @windmark in #209
- Clean up the connection and heartbeat when setup fails by @windmark in #207
Full Changelog: v2.9.5-beta.2...v2.9.5-beta.4