What's new in v9.5.0
Hypervolt EV charger component: a Hypervolt charger now works with Predbat directly, on Predbat.com and Docker as well as in Home Assistant, without the regex wiring and start/stop automation described in the devices guide. Every charger on the account is published as {prefix}_hypervolt_<id>_* entities, and car_charging_energy, car_charging_planned, car_charging_plugged, car_charging_power and car_charging_now are configured automatically. Set hypervolt_control to let Predbat start and stop each charger from its car's plan (off by default). Config keys: hypervolt_username, hypervolt_password, hypervolt_automatic and hypervolt_control.
GE Cloud: EV charger without the inverter: GE Cloud Direct now has separate monitor and control settings for the inverter and the EV charger. Until now, using a GivEnergy EV charger through GE Cloud meant setting ge_cloud_direct: true, which also brought in the inverters and reset their settings once a day. That was a problem where GivTCP or the GivEnergy app runs the inverter. Use the new ge_cloud_evc_direct: true for the charger on its own, and ge_cloud_inverter_control (default true) to monitor the inverter without controlling it. Existing configs with ge_cloud_direct: true behave exactly as before.
PV calibration no longer learns inverter clipping as forecast error: where the array can produce more than the inverter can pass, sunny-day generation is capped at the inverter limit. Calibration treated those capped readings as exact, so a clipped sunny week scaled the next sunny day's forecast down (for example an 18 kW forecast calibrated to 13.8 kW on an 11.5 kW inverter). The planner then left too little room in the battery ahead of the solar peak. Readings at the clipping limit are now treated as "at least this much", for both the P50 forecast and the PV10/PV90 band.
Intelligent Octopus with two cars: the daily cap on cheap dispatch time (octopus_slot_max) is per account, but Predbat applied it per car. With two Intelligent cars on a capped tariff, up to twice the allowance was planned as cheap and then billed at the day rate. The cap is now shared between the cars, counted in clock time. Also, a car charging on either charger now confirms an Intelligent dispatch, so a dispatch is no longer cancelled when Predbat's car numbering differs from the charger Octopus controls.
EV chargers
- Hypervolt EV charger cloud component by @springfall2008 in #5711
- GE Cloud: separate inverter and EV charger monitoring and control by @springfall2008 in #5718
Octopus
- Share the Intelligent daily cap between cars, in clock time (#5215) by @chalfontchubby in #5639
- Any car charging confirms an Intelligent dispatch by @springfall2008 in #5725
- Read
car_charging_nowlive for an unlisted smart charge, and take a missing device state as unknown by @springfall2008 in #5717 - Don't turn the saving session sensor on for a joined Weekend Happy Hour (#5615) by @springfall2008 in #5617
- Read a joined saving session's event type from the joined event itself by @springfall2008 in #5727
- Kraken: count a recovered standing-charge 404 once and catch undecodable REST bodies (#5584) by @springfall2008 in #5641
Inverters
- Sigenergy: use the plant's backup and discharge cut-offs for
battery_min_socand reserve by @springfall2008 in #5723 - Sigenergy: switch operating mode over MQTT only and drop the REST call by @springfall2008 in #5724
- GivTCP: skip the discharge target write on a Gen2 Hybrid (#5679) by @pelowj in #5716
- Fox: send the charge target as
fdSocon Fox Cloud ForceCharge segments by @springfall2008 in #5623 - Fox: don't multiply battery capacity when
batteryListrepeats one pack's serial (#4919) by @springfall2008 in #5629 - Solis: read max export power (CID 499) in 100 W units at every value by @springfall2008 in #5625
- Confirm button presses with
total_seconds()so clock skew isn't a failed press by @springfall2008 in #5697 - Name the entity at fault in the charge/discharge curve warnings (#4009) by @springfall2008 in #5646
Plan and execution
- PV calibration: stop learning inverter clipping as forecast error by @springfall2008 in #5720
- Plan: keep the pv10/pv90 hedge slots that the blended plan pays for when pruning by @springfall2008 in #5721
- Hold the battery for a car slot during Freeze exporting (#5612) by @springfall2008 in #5640
- Compare: keep the Existing badge during saving sessions and Intelligent dispatches by @springfall2008 in #5645
Predbat gateway and MCP
- Gateway: measured Hub display feed and independent visibility by @mgazza in #5714
- Gateway: declare the inverters Predbat controls with
set_commanded_serialsby @mgazza in #5722 - Gateway: report a silent hub as unhealthy by @springfall2008 in #5713
- MCP: serve /mcp-scoped protected resource metadata and CORS preflight on token/register (#3807) by @springfall2008 in #5622
Documentation
- Debug journal: reword two cspell-flagged compounds by @springfall2008 in #5712
New Contributors
Full Changelog: v9.4.6...v9.5.0