github springfall2008/batpred v9.6.0
Car max charge rate, clock-change fix, Teslemetry export permission and Octopus rate-limit backoff

4 hours ago

What's new in v9.6.0

Cap each car's charge rate at what the car can take: a car's planned charge rate could exceed what the car accepts. For example, a 3.6 kW plug-in hybrid on a 7.4 kW charger was planned at 7.4 kW, so its charge window came out too short. A new optional apps.yaml setting, car_charging_max_rate, takes one entry per car: a number in kW, or a sensor. Each car's charge rate is capped at it, including after Octopus Intelligent raises it to the charger's power. A blank entry or 0 means no cap. The ML load model's car-load subtraction uses the capped rate too.

Predbat no longer stalls when the clocks go back: in standalone mode (Predbat.com and Docker), the scheduler compared due times with the local wall clock. When the clocks went back, the next run was an hour away again, so Predbat stopped planning and controlling the inverter for up to an hour overnight, often during a charge window. Due times are now kept in UTC. The file watcher had the same flaw and could restart Predbat in the repeated hour; that is fixed too.

Teslemetry: no battery exports a Powerwall is not permitted to make: a Powerwall left at Tesla's installer-level Solar Only export permission accepts export commands but only covers the house load. Predbat now reads the permission, publishes binary_sensor.predbat_teslemetry_battery_export_permitted, warns once with the Tesla One setting to change, and stops planning battery exports. Spare-solar export is still planned. Set teslemetry_battery_export to true or false to override the detection.

Octopus and Kraken back off when rate limited: a rate-limited request is no longer retried straight away. Octopus GraphQL polling pauses (2 minutes, doubling to 30 minutes, or longer if Octopus asks), and a rate-limited token request uses the existing backoff. On Kraken (EDF, E.ON), a rate-limited token request no longer disables the provider until restart.

Sigenergy with a third-party PV inverter: on a SigenStor with an AC-coupled PV inverter (for example SolarEdge), PV power read 0 on every cloud REST poll, and inverter_hybrid was left on. PV power is now rebuilt from the energy balance on these systems, and inverter_hybrid is switched off automatically when every system is AC-coupled. REST polls are also less frequent: the MQTT feed now counts as fresh for 450 seconds instead of 300, so normal message jitter no longer triggers one.

Hypervolt on the shared charger control: the Hypervolt now uses the same control as the GivEnergy, myenergi and Ohme chargers. That means it handles Intelligent Octopus when Octopus drives the car rather than the charger, supports switch.predbat_hypervolt_guest_charging, and puts back a stop or start made in the Hypervolt app. A charger Predbat stopped is still always released, including after a restart or while offline. Readings now match a real V3 charger, so charge power no longer reads near 0 W for the first moments of a charge.

EV chargers

  • Cap each car's planned charge rate at its own max rate (car_charging_max_rate) by @mgazza in #5669
  • Hypervolt: run Predbat-led charging on the shared charger control by @chalfontchubby in #5791
  • Hypervolt: match what a real V3 charger sends by @chalfontchubby in #5771
  • Gateway: reconcile EV control and honour read-only overrides by @mgazza in #5739

Octopus and rates

  • Octopus, Kraken: back off when rate limited instead of retrying at once by @springfall2008 in #5781
  • AgilePredict: cache forecasts for three hours, matching its update schedule by @mgazza in #5792

Inverters

Scheduler

Tests

Documentation

Full Changelog: v9.5.3...v9.6.0

Don't miss a new batpred release

NewReleases is sending notifications on new releases.