Skip to content

Predbat requested "Freeze Discharging" despite switch.predbat_set_export_freeze = False #4464

Description

@araines

Describe the bug
I have turned off switch.predbat_set_export_freeze as Freeze Discharging tends to cause a lot of solar power to be wasted. However, this morning Predbat went in to Freeze Discharging mode.

Expected behaviour
Freeze Discharging should not be requested when switch.predbat_set_export_freeze = False.

Predbat version

v8.47.5

Environment details

  • Sigenergy Sigenstor - 12kW inverter, 18kWh battery, 4kWh export limit, 11kWp solar array
  • Standard HAOS install

Screenshots
Image

Note that predbat.status (Status) switches between Demand, Exporting, and has a short period of "Hold Charging" at 13:30.
input_select.predbat_requested_mode (Predbat Requested Mode) is Demand (blue), Discharging (green), and Freeze Discharging (Purple).

You can see the period from 10:00-13:15 there has been significant solar clipping due to the system hitting the export limit and not being permitted to charge (Charge Cut-Off SoC = 0%).

Image

Predbat plan history. From what I can see, all the export slots on the plan should've behaved pretty much the same way.

Image

Configuration, showing switch.predbat_set_export_freeze is off.

Log file

Log extract for when it entered Freeze Discharge:

2026-08-08 09:15:00.406867: --------------- PredBat - update at 2026-08-08 09:15:00+01:00 with clock skew 0 minutes, minutes now 555
2026-08-08 09:15:00.648170: Saved current settings to /addon_configs/6adb4f0d_predbat/predbat_config.json
2026-08-08 09:15:00.648768: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 5.0 minutes
2026-08-08 09:15:00.648985: Predbat /config/github.py repository springfall2008/batpred version v8.47.5 currently running, latest version is v8.47.5, latest beta is v8.47.5
2026-08-08 09:15:00.649219: Autoupdate: Currently up to date
2026-08-08 09:15:00.816047: Configuration: forecast_hours 30, num_cars 0, debug enable is False, calculate_plan_every 10 minutes
2026-08-08 09:15:00.816292: days_previous_auto enabled - using weighted-bucket historical load forecast over up to 7 days
2026-08-08 09:15:00.817322: Predbat mode is set to Control charge & discharge
2026-08-08 09:15:01.666528: iBoost energy today from sensor reads 0.72 kWh
2026-08-08 09:15:02.420320: Found 11522 load_today datapoints going back 8 days
2026-08-08 09:15:02.420566: Using load_power data to fill gaps in load_today data
2026-08-08 09:15:07.700710: Processing 385 30-minute periods for power integration
2026-08-08 09:15:09.434974: Car charging hold True, threshold 6.0kWh
2026-08-08 09:15:09.435173: Current data so far today: load 5.51kWh, import 0.02kWh, export 2.13kWh, PV 2.84kWh
2026-08-08 09:15:09.436166: Adding rate rates_import: {'rate': 21.23}p => 08-08 00:00:00 to 08-09 00:00:00 @ 21.23p, date None, day_of_week [], increment Falsep
2026-08-08 09:15:09.442726: Adding rate rates_gas: {'rate': 5.48}p => 08-08 00:00:00 to 08-09 00:00:00 @ 5.48p, date None, day_of_week [], increment Falsep
2026-08-08 09:15:09.459330: Gas rates: min 5.48p, max 5.48p, average 5.48p
2026-08-08 09:15:09.487212: Adding rate rates_export: {'rate': 12}p => 08-08 00:00:00 to 08-09 00:00:00 @ 12.0p, date None, day_of_week [], increment Falsep
2026-08-08 09:15:09.493201: AxleAPI: Fetched 1 total events from sensor binary_sensor.predbat_axle_event
2026-08-08 09:15:09.493423: Standing charge is set to 0.0p
2026-08-08 09:15:09.525134: Rate min forward looking: now 21.23p at end of forecast 21.23p
2026-08-08 09:15:09.525674: Import rates: min 21.23p, max 21.23p, average 21.23p
2026-08-08 09:15:09.536190: Setting Axle VPP session in range 08-05 21:00:00 - 08-05 22:00:00 export True pence_per_kwh 100
2026-08-08 09:15:09.538827: Export rates: min 12.0p, max 12.0p, average 12.0p
2026-08-08 09:15:09.538985: Rate thresholds (for charge/export) are import 21.33p (0.0p), export 11.9p (0.0p)
2026-08-08 09:15:09.596834: High export rate found rates in range 12.0p to 12.0p
2026-08-08 09:15:09.655393: Low Import rate found rates in range 21.23p to 21.23p
2026-08-08 09:15:09.655909: Battery level now 0.18kWh, -1hr ago 0.87kWh, at midnight 5.08kWh, battery value change in the last hour -15.66p, change today -111.69p, rate_forward 22.8p
2026-08-08 09:15:09.657121: Last hour: net energy -1.77kWh, import 0.0kWh, export 1.77kWh, car 0kWh, load 0.91kWh, net cost -21.25p, import 0.0p, export -21.25p, car 0.0p, carbon 0.0kg
2026-08-08 09:15:10.010323: Today's energy total net -2.11kWh, import 0.02kWh, export 2.13kWh, cost -25.14p, import 0.42p, export -25.56p, carbon 0.0kg
2026-08-08 09:15:10.183881: Using weighted-bucket historical load forecast over 7 days
2026-08-08 09:15:10.250634: Today's load divergence 99.05%, in-day adjustment 95.69%, damping 0.95x, yesterday 93.56% today 99.1% blend 61.46%
2026-08-08 09:15:10.250779: Today's predicted so far 4.96kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 4.96kWh forecast extra.
2026-08-08 09:15:10.250823: Today's actual load so far 4.79kWh with 0.71kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-08 09:15:10.497546: Inverter 0: Type SIG Sigenergy Sigenstor
2026-08-08 09:15:10.497711: Note: Inverter 0: Using inverter type SIG - not all features are available on all Inverter types
2026-08-08 09:15:10.498158: Reserve min: 0%, battery_min: 0%
2026-08-08 09:15:10.498327: Inverter 0 with soc_max 18.08kWh, nominal_capacity 18.08kWh, battery rate raw 12000.0W, charge rate 12.0kW, charge rate DC 12.0kW, discharge rate 12.0kW, battery_rate_min 0.0W, AC limit 12.0kW, export limit 4.0kW, reserve 0%, current_reserve 0%, temperature 29°C
2026-08-08 09:15:10.498929: Inverter 0 SoC: 0.02kW 0%, current charge rate 12000W, current discharge rate 12600W, current battery power 1627W, current battery voltage 52.0V, grid power 3999W, load power 753W, PV Power 3144W
2026-08-08 09:15:10.499240: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-08 09:15:10.499385: Inverter 0 scheduled charge enable is False
2026-08-08 09:15:10.499431: Inverter 0 charge windows currently []
2026-08-08 09:15:10.499479: Inverter 0 Charge settings: timed charged is disabled, power 12.0kW
2026-08-08 09:15:10.499696: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as True == True
2026-08-08 09:15:10.499740: Inverter 0 sensor.predbat_SIG_0_scheduled_discharge_enable set to True
2026-08-08 09:15:10.499842: Inverter 0 scheduled discharge enable is True
2026-08-08 09:15:10.500078: Inverter 0 idle time is 08-08 17:01:00-08-08 23:59:00
2026-08-08 09:15:10.500134: Inverter 0 discharge windows currently [{'start': 545, 'end': 1021, 'average': 0}]
2026-08-08 09:15:10.500173: Note: Inverter does not support reserve - disabling reserve functions
2026-08-08 09:15:11.044209: Dynamic load last period 0.82kW, status low, threshold_battery 12.0kWh, threshold_car 6.0kWh,
2026-08-08 09:15:11.044434: Plan was last updated on 2026-08-08 09:05:00+01:00 and is now 10.0 minutes old
2026-08-08 09:15:11.044526: Best charge window [  ]
2026-08-08 09:15:11.044714: Best export window [ 08-08 09:05:00 - 08-08 17:00:00 @ 12.0p 0.0% ]
2026-08-08 09:15:11.046613: PV Forecast 92.4kWh and 10% Forecast 39.5kWh; PV cloud factor 0.3
2026-08-08 09:15:11.055639: Load divergence over 8.0 hours mean 1543.25W, min 643.2W, max 4281.6W, std dev 1055.62W, divergence 34.2%
2026-08-08 09:15:11.092176: Prediction kernel: enabled and active (loaded from /config/prediction_kernel_lib_aarch64.so)
2026-08-08 09:15:11.092581: Creating pool of 4 processes to match your CPU count
2026-08-08 09:15:11.229957: predict base end_record 08-09 15:15:00, final soc 18.08kWh, metric -549.91p, metric_keep 0kWh, min_soc 0.0kWh @ 08-08 09:15:00, load 30.26kWh, PV 95.27kWh
2026-08-08 09:15:12.388710: Battery has 0.0 hours left - now at 0.02kWh
2026-08-08 09:15:12.553735: predict base10 end_record 08-09 15:15:00, final soc 1.46kWh, metric -35.07p, metric_keep 0kWh, min_soc 0.0kWh @ 08-08 09:15:00, load 31.44kWh, PV 42.4kWh
2026-08-08 09:15:12.957558: predict best10 end_record 08-09 15:15:00, final soc 1.46kWh, metric -36.08p, metric_keep 0kWh, min_soc 0.0kWh @ 08-08 09:15:00, load 31.44kWh, PV 42.4kWh
2026-08-08 09:15:13.360348: predict best end_record 08-09 15:15:00, final soc 18.08kWh, metric -549.92p, metric_keep 0kWh, min_soc 0.0kWh @ 08-08 09:15:00, load 30.26kWh, PV 95.27kWh
2026-08-08 09:15:13.360485: Saving plan best values to HA entities
2026-08-08 09:15:14.672257: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results on total_energy 3.34
2026-08-08 09:15:14.730531: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results on total_energy 0.34
2026-08-08 09:15:14.789074: Best charging limit SoC's []kWh, export [0.0]kWh gives import battery 0kWh, house 0.04kWh, export 45.94kWh, metric -549.92p, metric10 -36.08p
2026-08-08 09:15:15.285831: Marginal costs baseline metric (no standing charge): -549.9178
2026-08-08 09:15:15.579673: Marginal energy costs matrix computed: min=4.33 max=17.09
2026-08-08 09:15:16.145079: Rate array import [{'start': 555, 'end': 2355, 'rate': 'fixed', 'range': '(21.2p)'}] export [{'start': 555, 'end': 2355, 'rate': 'fixed', 'range': '(12.0p)'}]
2026-08-08 09:15:16.145697: - Your estimated bill for today is £-4.32
2026-08-08 09:15:16.145756: - The battery is currently at 0% and is force exporting to 0.0% for the next 7 and three quarters hours.
2026-08-08 09:15:16.145787: - For the next 10 hours there will be a lot of solar generation and then it will decrease.
2026-08-08 09:15:16.145816: - No charging is planned.
2026-08-08 09:15:16.145844: 
2026-08-08 09:15:16.298717: Plan calculation took 5.25 seconds
2026-08-08 09:15:16.298901: Export threshold used for optimisation was 12.0p
2026-08-08 09:15:16.754047: High export rate windows [0: 08-08 09:00:00 - 08-08 09:30:00 @ 12.0, 1: 08-08 09:30:00 - 08-08 10:00:00 @ 12.0, 2: 08-08 10:00:00 - 08-08 10:30:00 @ 12.0, 3: 08-08 10:30:00 - 08-08 11:00:00 @ 12.0, 4: 08-08 11:00:00 - 08-08 11:30:00 @ 12.0, 5: 08-08 11:30:00 - 08-08 12:00:00 @ 12.0, 6: 08-08 12:00:00 - 08-08 12:30:00 @ 12.0, 7: 08-08 12:30:00 - 08-08 13:00:00 @ 12.0, 8: 08-08 13:00:00 - 08-08 13:30:00 @ 12.0, 9: 08-08 13:30:00 - 08-08 14:00:00 @ 12.0, 10: 08-08 14:00:00 - 08-08 14:30:00 @ 12.0, 11: 08-08 14:30:00 - 08-08 15:00:00 @ 12.0, 12: 08-08 15:00:00 - 08-08 15:30:00 @ 12.0, 13: 08-08 15:30:00 - 08-08 16:00:00 @ 12.0, 14: 08-08 16:00:00 - 08-08 16:30:00 @ 12.0, 15: 08-08 16:30:00 - 08-08 17:00:00 @ 12.0, 16: 08-08 17:00:00 - 08-08 17:30:00 @ 12.0, 17: 08-08 17:30:00 - 08-08 18:00:00 @ 12.0, 18: 08-08 18:00:00 - 08-08 18:30:00 @ 12.0, 19: 08-08 18:30:00 - 08-08 19:00:00 @ 12.0, 20: 08-08 19:00:00 - 08-08 19:30:00 @ 12.0, 21: 08-08 19:30:00 - 08-08 20:00:00 @ 12.0, 22: 08-08 20:00:00 - 08-08 20:30:00 @ 12.0, 23: 08-08 20:30:00 - 08-08 21:00:00 @ 12.0, 24: 08-08 21:00:00 - 08-08 21:30:00 @ 12.0, 25: 08-08 21:30:00 - 08-08 22:00:00 @ 12.0, 26: 08-08 22:00:00 - 08-08 22:30:00 @ 12.0, 27: 08-08 22:30:00 - 08-08 23:00:00 @ 12.0, 28: 08-08 23:00:00 - 08-08 23:30:00 @ 12.0, 29: 08-08 23:30:00 - 08-09 00:00:00 @ 12.0, 30: 08-09 00:00:00 - 08-09 00:30:00 @ 12.0, 31: 08-09 00:30:00 - 08-09 01:00:00 @ 12.0, 32: 08-09 01:00:00 - 08-09 01:30:00 @ 12.0, 33: 08-09 01:30:00 - 08-09 02:00:00 @ 12.0, 34: 08-09 02:00:00 - 08-09 02:30:00 @ 12.0, 35: 08-09 02:30:00 - 08-09 03:00:00 @ 12.0, 36: 08-09 03:00:00 - 08-09 03:30:00 @ 12.0, 37: 08-09 03:30:00 - 08-09 04:00:00 @ 12.0, 38: 08-09 04:00:00 - 08-09 04:30:00 @ 12.0, 39: 08-09 04:30:00 - 08-09 05:00:00 @ 12.0, 40: 08-09 05:00:00 - 08-09 05:30:00 @ 12.0, 41: 08-09 05:30:00 - 08-09 06:00:00 @ 12.0, 42: 08-09 06:00:00 - 08-09 06:30:00 @ 12.0, 43: 08-09 06:30:00 - 08-09 07:00:00 @ 12.0, 44: 08-09 07:00:00 - 08-09 07:30:00 @ 12.0, 45: 08-09 07:30:00 - 08-09 08:00:00 @ 12.0, 46: 08-09 08:00:00 - 08-09 08:30:00 @ 12.0, 47: 08-09 08:30:00 - 08-09 09:00:00 @ 12.0, 48: 08-09 09:00:00 - 08-09 09:30:00 @ 12.0, 49: 08-09 09:30:00 - 08-09 10:00:00 @ 12.0, 50: 08-09 10:00:00 - 08-09 10:30:00 @ 12.0, 51: 08-09 10:30:00 - 08-09 11:00:00 @ 12.0, 52: 08-09 11:00:00 - 08-09 11:30:00 @ 12.0, 53: 08-09 11:30:00 - 08-09 12:00:00 @ 12.0, 54: 08-09 12:00:00 - 08-09 12:30:00 @ 12.0, 55: 08-09 12:30:00 - 08-09 13:00:00 @ 12.0, 56: 08-09 13:00:00 - 08-09 13:30:00 @ 12.0, 57: 08-09 13:30:00 - 08-09 14:00:00 @ 12.0, 58: 08-09 14:00:00 - 08-09 14:30:00 @ 12.0, 59: 08-09 14:30:00 - 08-09 15:00:00 @ 12.0, 60: 08-09 15:00:00 - 08-09 15:30:00 @ 12.0]
2026-08-08 09:15:16.808922: Import threshold used for optimisation was 21.23p
2026-08-08 09:15:17.268443: Low import rate windows [0: 08-08 09:00:00 - 08-08 09:30:00 @ 21.23, 1: 08-08 09:30:00 - 08-08 10:00:00 @ 21.23, 2: 08-08 10:00:00 - 08-08 10:30:00 @ 21.23, 3: 08-08 10:30:00 - 08-08 11:00:00 @ 21.23, 4: 08-08 11:00:00 - 08-08 11:30:00 @ 21.23, 5: 08-08 11:30:00 - 08-08 12:00:00 @ 21.23, 6: 08-08 12:00:00 - 08-08 12:30:00 @ 21.23, 7: 08-08 12:30:00 - 08-08 13:00:00 @ 21.23, 8: 08-08 13:00:00 - 08-08 13:30:00 @ 21.23, 9: 08-08 13:30:00 - 08-08 14:00:00 @ 21.23, 10: 08-08 14:00:00 - 08-08 14:30:00 @ 21.23, 11: 08-08 14:30:00 - 08-08 15:00:00 @ 21.23, 12: 08-08 15:00:00 - 08-08 15:30:00 @ 21.23, 13: 08-08 15:30:00 - 08-08 16:00:00 @ 21.23, 14: 08-08 16:00:00 - 08-08 16:30:00 @ 21.23, 15: 08-08 16:30:00 - 08-08 17:00:00 @ 21.23, 16: 08-08 17:00:00 - 08-08 17:30:00 @ 21.23, 17: 08-08 17:30:00 - 08-08 18:00:00 @ 21.23, 18: 08-08 18:00:00 - 08-08 18:30:00 @ 21.23, 19: 08-08 18:30:00 - 08-08 19:00:00 @ 21.23, 20: 08-08 19:00:00 - 08-08 19:30:00 @ 21.23, 21: 08-08 19:30:00 - 08-08 20:00:00 @ 21.23, 22: 08-08 20:00:00 - 08-08 20:30:00 @ 21.23, 23: 08-08 20:30:00 - 08-08 21:00:00 @ 21.23, 24: 08-08 21:00:00 - 08-08 21:30:00 @ 21.23, 25: 08-08 21:30:00 - 08-08 22:00:00 @ 21.23, 26: 08-08 22:00:00 - 08-08 22:30:00 @ 21.23, 27: 08-08 22:30:00 - 08-08 23:00:00 @ 21.23, 28: 08-08 23:00:00 - 08-08 23:30:00 @ 21.23, 29: 08-08 23:30:00 - 08-09 00:00:00 @ 21.23, 30: 08-09 00:00:00 - 08-09 00:30:00 @ 21.23, 31: 08-09 00:30:00 - 08-09 01:00:00 @ 21.23, 32: 08-09 01:00:00 - 08-09 01:30:00 @ 21.23, 33: 08-09 01:30:00 - 08-09 02:00:00 @ 21.23, 34: 08-09 02:00:00 - 08-09 02:30:00 @ 21.23, 35: 08-09 02:30:00 - 08-09 03:00:00 @ 21.23, 36: 08-09 03:00:00 - 08-09 03:30:00 @ 21.23, 37: 08-09 03:30:00 - 08-09 04:00:00 @ 21.23, 38: 08-09 04:00:00 - 08-09 04:30:00 @ 21.23, 39: 08-09 04:30:00 - 08-09 05:00:00 @ 21.23, 40: 08-09 05:00:00 - 08-09 05:30:00 @ 21.23, 41: 08-09 05:30:00 - 08-09 06:00:00 @ 21.23, 42: 08-09 06:00:00 - 08-09 06:30:00 @ 21.23, 43: 08-09 06:30:00 - 08-09 07:00:00 @ 21.23, 44: 08-09 07:00:00 - 08-09 07:30:00 @ 21.23, 45: 08-09 07:30:00 - 08-09 08:00:00 @ 21.23, 46: 08-09 08:00:00 - 08-09 08:30:00 @ 21.23, 47: 08-09 08:30:00 - 08-09 09:00:00 @ 21.23, 48: 08-09 09:00:00 - 08-09 09:30:00 @ 21.23, 49: 08-09 09:30:00 - 08-09 10:00:00 @ 21.23, 50: 08-09 10:00:00 - 08-09 10:30:00 @ 21.23, 51: 08-09 10:30:00 - 08-09 11:00:00 @ 21.23, 52: 08-09 11:00:00 - 08-09 11:30:00 @ 21.23, 53: 08-09 11:30:00 - 08-09 12:00:00 @ 21.23, 54: 08-09 12:00:00 - 08-09 12:30:00 @ 21.23, 55: 08-09 12:30:00 - 08-09 13:00:00 @ 21.23, 56: 08-09 13:00:00 - 08-09 13:30:00 @ 21.23, 57: 08-09 13:30:00 - 08-09 14:00:00 @ 21.23, 58: 08-09 14:00:00 - 08-09 14:30:00 @ 21.23, 59: 08-09 14:30:00 - 08-09 15:00:00 @ 21.23, 60: 08-09 15:00:00 - 08-09 15:30:00 @ 21.23]
2026-08-08 09:15:17.390413: Inverter 0 No charge window yet, waiting for schedule.
2026-08-08 09:15:17.390672: Adjust idle time, charge 00:00:00-00:00:00 discharge 09:05:00-17:01:00
2026-08-08 09:15:17.391179: Adjust demand (idle) time computed is 17:01:00-23:59:00
2026-08-08 09:15:17.391460: Include original export start 08-08 09:05:00 with our start which is 08-08 09:05:00 (charge start 08-09 06:00:00 end 08-09 06:00:00)
2026-08-08 09:15:17.391580: Next export window will be: 2026-08-08 09:05:00+01:00 - 2026-08-08 17:01:00+01:00 at reserve 0.0
2026-08-08 09:15:17.391650: Exporting now - current SoC 0.018kWh and target 0.0kWh and power adjust 1.0
2026-08-08 09:15:17.391955: Inverter 0 Adjust force export to True, change times from 09:05:00 - 17:01:00 to 09:05:00 - 17:01:00
2026-08-08 09:15:17.392039: Adjust idle time, charge 00:00:00-00:00:00 discharge 09:05:00-17:01:00
2026-08-08 09:15:17.392364: Adjust demand (idle) time computed is 17:01:00-23:59:00
2026-08-08 09:15:17.392512: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as True == True
2026-08-08 09:15:17.392695: Inverter 0 adjust target SoC for export to 0% based on requested all inverter SoC 0%
2026-08-08 09:15:17.392787: Inverter 0 Current Target SoC is 0%, already at target
2026-08-08 09:15:17.393069: Inverter 0 Skipped service charge_stop_service domain charge service_name input_select.select_option as it was previously called.
2026-08-08 09:15:17.393171: Inverter 0 Calling service discharge_freeze_service domain discharge service_name input_select/select_option with data {'entity_id': 'input_select.predbat_requested_mode', 'option': 'Freeze Discharging'}

Log extract for a later Discharge slot:

2026-08-08 14:30:00.522137: --------------- PredBat - update at 2026-08-08 14:30:00+01:00 with clock skew 0 minutes, minutes now 870
2026-08-08 14:30:00.523857: Saved current settings to /addon_configs/6adb4f0d_predbat/predbat_config.json
2026-08-08 14:30:00.524228: Using cached GitHub data for https://api.github.com/repos/springfall2008/batpred/releases age 75.0 minutes
2026-08-08 14:30:00.524478: Predbat /config/github.py repository springfall2008/batpred version v8.47.5 currently running, latest version is v8.47.6, latest beta is v8.47.6
2026-08-08 14:30:00.524662: Autoupdate: There is an update pending v8.47.6 GECloud Timezone, Sigenergy Cloud Axle, New downloader - auto update is off
2026-08-08 14:30:00.718701: Configuration: forecast_hours 30, num_cars 0, debug enable is False, calculate_plan_every 10 minutes
2026-08-08 14:30:00.718944: days_previous_auto enabled - using weighted-bucket historical load forecast over up to 7 days
2026-08-08 14:30:00.719853: Predbat mode is set to Control charge & discharge
2026-08-08 14:30:01.535834: iBoost energy today from sensor reads 1.01 kWh
2026-08-08 14:30:02.354963: Found 11522 load_today datapoints going back 8 days
2026-08-08 14:30:02.355251: Using load_power data to fill gaps in load_today data
2026-08-08 14:30:07.688991: Processing 385 30-minute periods for power integration
2026-08-08 14:30:09.545465: Car charging hold True, threshold 6.0kWh
2026-08-08 14:30:09.546122: Current data so far today: load 10.39kWh, import 0.03kWh, export 17.55kWh, PV 32.19kWh
2026-08-08 14:30:09.546941: Adding rate rates_import: {'rate': 21.23}p => 08-08 00:00:00 to 08-09 00:00:00 @ 21.23p, date None, day_of_week [], increment Falsep
2026-08-08 14:30:09.553948: Adding rate rates_gas: {'rate': 5.48}p => 08-08 00:00:00 to 08-09 00:00:00 @ 5.48p, date None, day_of_week [], increment Falsep
2026-08-08 14:30:09.570441: Gas rates: min 5.48p, max 5.48p, average 5.48p
2026-08-08 14:30:09.597018: Adding rate rates_export: {'rate': 12}p => 08-08 00:00:00 to 08-09 00:00:00 @ 12.0p, date None, day_of_week [], increment Falsep
2026-08-08 14:30:09.603090: AxleAPI: Fetched 1 total events from sensor binary_sensor.predbat_axle_event
2026-08-08 14:30:09.603264: Standing charge is set to 0.0p
2026-08-08 14:30:09.635340: Rate min forward looking: now 21.23p at end of forecast 21.23p
2026-08-08 14:30:09.635861: Import rates: min 21.23p, max 21.23p, average 21.23p
2026-08-08 14:30:09.646073: Setting Axle VPP session in range 08-05 21:00:00 - 08-05 22:00:00 export True pence_per_kwh 100
2026-08-08 14:30:09.648753: Export rates: min 12.0p, max 12.0p, average 12.0p
2026-08-08 14:30:09.649240: Rate thresholds (for charge/export) are import 21.33p (0.0p), export 11.9p (0.0p)
2026-08-08 14:30:09.713525: High export rate found rates in range 12.0p to 12.0p
2026-08-08 14:30:09.779086: Low Import rate found rates in range 21.23p to 21.23p
2026-08-08 14:30:09.779307: Battery level now 8.68kWh, -1hr ago 1.83kWh, at midnight 5.08kWh, battery value change in the last hour 156.22p, change today 82.03p, rate_forward 22.8p
2026-08-08 14:30:09.780027: Last hour: net energy 0.0kWh, import 0.0kWh, export 0.0kWh, car 0kWh, load 0.8kWh, net cost 0.0p, import 0.0p, export 0.0p, car 0.0p, carbon 0.0kg
2026-08-08 14:30:10.142209: Today's energy total net -17.52kWh, import 0.03kWh, export 17.55kWh, cost -209.96p, import 0.64p, export -210.6p, carbon 0.0kg
2026-08-08 14:30:10.333019: Using weighted-bucket historical load forecast over 7 days
2026-08-08 14:30:10.412092: Today's load divergence 96.52%, in-day adjustment 95.46%, damping 0.95x, yesterday 93.56% today 96.7% blend 39.58%
2026-08-08 14:30:10.412327: Today's predicted so far 9.99kWh with 0.0kWh car/iBoost excluded, 0kWh import ignored, and 9.99kWh forecast extra.
2026-08-08 14:30:10.412574: Today's actual load so far 9.37kWh with 1.0kWh car/iBoost excluded, and 0kWh import ignored.
2026-08-08 14:30:10.803076: Inverter 0: Type SIG Sigenergy Sigenstor
2026-08-08 14:30:10.803253: Note: Inverter 0: Using inverter type SIG - not all features are available on all Inverter types
2026-08-08 14:30:10.803827: Reserve min: 0%, battery_min: 0%
2026-08-08 14:30:10.803997: Inverter 0 with soc_max 18.08kWh, nominal_capacity 18.08kWh, battery rate raw 12000.0W, charge rate 12.0kW, charge rate DC 12.0kW, discharge rate 12.0kW, battery_rate_min 0.0W, AC limit 12.0kW, export limit 4.0kW, reserve 0%, current_reserve 0%, temperature 37°C
2026-08-08 14:30:10.804555: Inverter 0 SoC: 9.24kW 51%, current charge rate 12000W, current discharge rate 12600W, current battery power -7021W, current battery voltage 52.0V, grid power -19W, load power 740W, PV Power 7792W
2026-08-08 14:30:10.804859: Inverter 0 write_and_poll_switch: No write needed for scheduled_charge_enable as False == False
2026-08-08 14:30:10.805013: Inverter 0 scheduled charge enable is False
2026-08-08 14:30:10.805074: Inverter 0 charge windows currently []
2026-08-08 14:30:10.805124: Inverter 0 Charge settings: timed charged is disabled, power 12.0kW
2026-08-08 14:30:10.805409: Inverter 0 write_and_poll_switch: No write needed for scheduled_discharge_enable as False == False
2026-08-08 14:30:10.805494: Inverter 0 sensor.predbat_SIG_0_scheduled_discharge_enable set to False
2026-08-08 14:30:10.805569: Inverter 0 scheduled discharge enable is False
2026-08-08 14:30:10.805821: Inverter 0 idle time is 08-08 13:35:00-08-08 23:59:00
2026-08-08 14:30:10.805863: Inverter 0 discharge windows currently []
2026-08-08 14:30:10.805899: Note: Inverter does not support reserve - disabling reserve functions
2026-08-08 14:30:13.799979: Dynamic load last period 0.86kW, status low, threshold_battery 12.0kWh, threshold_car 6.0kWh,
2026-08-08 14:30:13.800204: Plan was last updated on 2026-08-08 14:25:00+01:00 and is now 5.0 minutes old
2026-08-08 14:30:13.800295: Best charge window [  ]
2026-08-08 14:30:13.800583: Best export window [ 08-08 14:30:00 - 08-08 16:00:00 @ 12.0p 40.0%, 08-08 16:10:00 - 08-08 16:30:00 @ 12.0p 72.0% ]
2026-08-08 14:30:13.802608: PV Forecast 55.0kWh and 10% Forecast 29.5kWh; PV cloud factor 0.2
2026-08-08 14:30:13.813532: Load divergence over 8.0 hours mean 901.2W, min 512.4W, max 2571.6W, std dev 274.21W, divergence 15.21%
2026-08-08 14:30:13.848039: Prediction kernel: enabled and active (loaded from /config/prediction_kernel_lib_aarch64.so)
2026-08-08 14:30:13.848348: Creating pool of 4 processes to match your CPU count
2026-08-08 14:30:13.973659: predict base end_record 08-09 20:30:00, final soc 15.55kWh, metric -422.76p, metric_keep 0kWh, min_soc 9.21kWh @ 08-09 07:55:00, load 35.04kWh, PV 87.2kWh
2026-08-08 14:30:14.943094: Battery has 30.0 hours left - now at 9.24kWh
2026-08-08 14:30:15.103457: predict base10 end_record 08-09 20:30:00, final soc 4.74kWh, metric -259.97p, metric_keep 0kWh, min_soc 4.74kWh @ 08-09 20:25:00, load 36.22kWh, PV 61.72kWh
2026-08-08 14:30:15.504656: predict best10 end_record 08-09 20:30:00, final soc 2.52kWh, metric -289.93p, metric_keep 0kWh, min_soc 2.52kWh @ 08-09 20:25:00, load 36.22kWh, PV 61.72kWh
2026-08-08 14:30:15.903850: predict best end_record 08-09 20:30:00, final soc 15.55kWh, metric -447.22p, metric_keep 0kWh, min_soc 9.21kWh @ 08-09 07:55:00, load 35.04kWh, PV 87.2kWh
2026-08-08 14:30:15.903984: Saving plan best values to HA entities
2026-08-08 14:30:17.170802: Evaluate trigger {'name': 'large', 'minutes': 60, 'energy': 1.0} results on total_energy 4.0
2026-08-08 14:30:17.227285: Evaluate trigger {'name': 'small', 'minutes': 15, 'energy': 0.25} results on total_energy 1.0
2026-08-08 14:30:17.283021: Best charging limit SoC's []kWh, export [40.0, 72.0]kWh gives import battery 0kWh, house 0.0kWh, export 37.32kWh, metric -447.22p, metric10 -289.93p
2026-08-08 14:30:17.814181: Marginal costs baseline metric (no standing charge): -447.2179
2026-08-08 14:30:18.118486: Marginal energy costs matrix computed: min=11.69 max=12.75
2026-08-08 14:30:18.687329: Rate array import [{'start': 870, 'end': 2670, 'rate': 'fixed', 'range': '(21.2p)'}] export [{'start': 870, 'end': 2670, 'rate': 'fixed', 'range': '(12.0p)'}]
2026-08-08 14:30:18.687974: - Your estimated bill for today is £-3.44
2026-08-08 14:30:18.688025: - The battery is currently at 51% and is force exporting to 52% for the next 1 and a half hours.
2026-08-08 14:30:18.688055: - For the next 4 and a half hours there will be a lot of solar generation and then it will decrease.
2026-08-08 14:30:18.688083: - You will reach a minimum of 51% battery in 17 hours.
2026-08-08 14:30:18.688141: - No charging is planned.
2026-08-08 14:30:18.688169: 
2026-08-08 14:30:18.854085: Plan calculation took 5.05 seconds
2026-08-08 14:30:18.854236: Export threshold used for optimisation was 12.0p
2026-08-08 14:30:19.340197: High export rate windows [0: 08-08 14:30:00 - 08-08 15:00:00 @ 12.0, 1: 08-08 15:00:00 - 08-08 15:30:00 @ 12.0, 2: 08-08 15:30:00 - 08-08 16:00:00 @ 12.0, 3: 08-08 16:00:00 - 08-08 16:30:00 @ 12.0, 4: 08-08 16:30:00 - 08-08 17:00:00 @ 12.0, 5: 08-08 17:00:00 - 08-08 17:30:00 @ 12.0, 6: 08-08 17:30:00 - 08-08 18:00:00 @ 12.0, 7: 08-08 18:00:00 - 08-08 18:30:00 @ 12.0, 8: 08-08 18:30:00 - 08-08 19:00:00 @ 12.0, 9: 08-08 19:00:00 - 08-08 19:30:00 @ 12.0, 10: 08-08 19:30:00 - 08-08 20:00:00 @ 12.0, 11: 08-08 20:00:00 - 08-08 20:30:00 @ 12.0, 12: 08-08 20:30:00 - 08-08 21:00:00 @ 12.0, 13: 08-08 21:00:00 - 08-08 21:30:00 @ 12.0, 14: 08-08 21:30:00 - 08-08 22:00:00 @ 12.0, 15: 08-08 22:00:00 - 08-08 22:30:00 @ 12.0, 16: 08-08 22:30:00 - 08-08 23:00:00 @ 12.0, 17: 08-08 23:00:00 - 08-08 23:30:00 @ 12.0, 18: 08-08 23:30:00 - 08-09 00:00:00 @ 12.0, 19: 08-09 00:00:00 - 08-09 00:30:00 @ 12.0, 20: 08-09 00:30:00 - 08-09 01:00:00 @ 12.0, 21: 08-09 01:00:00 - 08-09 01:30:00 @ 12.0, 22: 08-09 01:30:00 - 08-09 02:00:00 @ 12.0, 23: 08-09 02:00:00 - 08-09 02:30:00 @ 12.0, 24: 08-09 02:30:00 - 08-09 03:00:00 @ 12.0, 25: 08-09 03:00:00 - 08-09 03:30:00 @ 12.0, 26: 08-09 03:30:00 - 08-09 04:00:00 @ 12.0, 27: 08-09 04:00:00 - 08-09 04:30:00 @ 12.0, 28: 08-09 04:30:00 - 08-09 05:00:00 @ 12.0, 29: 08-09 05:00:00 - 08-09 05:30:00 @ 12.0, 30: 08-09 05:30:00 - 08-09 06:00:00 @ 12.0, 31: 08-09 06:00:00 - 08-09 06:30:00 @ 12.0, 32: 08-09 06:30:00 - 08-09 07:00:00 @ 12.0, 33: 08-09 07:00:00 - 08-09 07:30:00 @ 12.0, 34: 08-09 07:30:00 - 08-09 08:00:00 @ 12.0, 35: 08-09 08:00:00 - 08-09 08:30:00 @ 12.0, 36: 08-09 08:30:00 - 08-09 09:00:00 @ 12.0, 37: 08-09 09:00:00 - 08-09 09:30:00 @ 12.0, 38: 08-09 09:30:00 - 08-09 10:00:00 @ 12.0, 39: 08-09 10:00:00 - 08-09 10:30:00 @ 12.0, 40: 08-09 10:30:00 - 08-09 11:00:00 @ 12.0, 41: 08-09 11:00:00 - 08-09 11:30:00 @ 12.0, 42: 08-09 11:30:00 - 08-09 12:00:00 @ 12.0, 43: 08-09 12:00:00 - 08-09 12:30:00 @ 12.0, 44: 08-09 12:30:00 - 08-09 13:00:00 @ 12.0, 45: 08-09 13:00:00 - 08-09 13:30:00 @ 12.0, 46: 08-09 13:30:00 - 08-09 14:00:00 @ 12.0, 47: 08-09 14:00:00 - 08-09 14:30:00 @ 12.0, 48: 08-09 14:30:00 - 08-09 15:00:00 @ 12.0, 49: 08-09 15:00:00 - 08-09 15:30:00 @ 12.0, 50: 08-09 15:30:00 - 08-09 16:00:00 @ 12.0, 51: 08-09 16:00:00 - 08-09 16:30:00 @ 12.0, 52: 08-09 16:30:00 - 08-09 17:00:00 @ 12.0, 53: 08-09 17:00:00 - 08-09 17:30:00 @ 12.0, 54: 08-09 17:30:00 - 08-09 18:00:00 @ 12.0, 55: 08-09 18:00:00 - 08-09 18:30:00 @ 12.0, 56: 08-09 18:30:00 - 08-09 19:00:00 @ 12.0, 57: 08-09 19:00:00 - 08-09 19:30:00 @ 12.0, 58: 08-09 19:30:00 - 08-09 20:00:00 @ 12.0, 59: 08-09 20:00:00 - 08-09 20:30:00 @ 12.0]
2026-08-08 14:30:19.399283: Import threshold used for optimisation was 21.23p
2026-08-08 14:30:19.866911: Low import rate windows [0: 08-08 14:30:00 - 08-08 15:00:00 @ 21.23, 1: 08-08 15:00:00 - 08-08 15:30:00 @ 21.23, 2: 08-08 15:30:00 - 08-08 16:00:00 @ 21.23, 3: 08-08 16:00:00 - 08-08 16:30:00 @ 21.23, 4: 08-08 16:30:00 - 08-08 17:00:00 @ 21.23, 5: 08-08 17:00:00 - 08-08 17:30:00 @ 21.23, 6: 08-08 17:30:00 - 08-08 18:00:00 @ 21.23, 7: 08-08 18:00:00 - 08-08 18:30:00 @ 21.23, 8: 08-08 18:30:00 - 08-08 19:00:00 @ 21.23, 9: 08-08 19:00:00 - 08-08 19:30:00 @ 21.23, 10: 08-08 19:30:00 - 08-08 20:00:00 @ 21.23, 11: 08-08 20:00:00 - 08-08 20:30:00 @ 21.23, 12: 08-08 20:30:00 - 08-08 21:00:00 @ 21.23, 13: 08-08 21:00:00 - 08-08 21:30:00 @ 21.23, 14: 08-08 21:30:00 - 08-08 22:00:00 @ 21.23, 15: 08-08 22:00:00 - 08-08 22:30:00 @ 21.23, 16: 08-08 22:30:00 - 08-08 23:00:00 @ 21.23, 17: 08-08 23:00:00 - 08-08 23:30:00 @ 21.23, 18: 08-08 23:30:00 - 08-09 00:00:00 @ 21.23, 19: 08-09 00:00:00 - 08-09 00:30:00 @ 21.23, 20: 08-09 00:30:00 - 08-09 01:00:00 @ 21.23, 21: 08-09 01:00:00 - 08-09 01:30:00 @ 21.23, 22: 08-09 01:30:00 - 08-09 02:00:00 @ 21.23, 23: 08-09 02:00:00 - 08-09 02:30:00 @ 21.23, 24: 08-09 02:30:00 - 08-09 03:00:00 @ 21.23, 25: 08-09 03:00:00 - 08-09 03:30:00 @ 21.23, 26: 08-09 03:30:00 - 08-09 04:00:00 @ 21.23, 27: 08-09 04:00:00 - 08-09 04:30:00 @ 21.23, 28: 08-09 04:30:00 - 08-09 05:00:00 @ 21.23, 29: 08-09 05:00:00 - 08-09 05:30:00 @ 21.23, 30: 08-09 05:30:00 - 08-09 06:00:00 @ 21.23, 31: 08-09 06:00:00 - 08-09 06:30:00 @ 21.23, 32: 08-09 06:30:00 - 08-09 07:00:00 @ 21.23, 33: 08-09 07:00:00 - 08-09 07:30:00 @ 21.23, 34: 08-09 07:30:00 - 08-09 08:00:00 @ 21.23, 35: 08-09 08:00:00 - 08-09 08:30:00 @ 21.23, 36: 08-09 08:30:00 - 08-09 09:00:00 @ 21.23, 37: 08-09 09:00:00 - 08-09 09:30:00 @ 21.23, 38: 08-09 09:30:00 - 08-09 10:00:00 @ 21.23, 39: 08-09 10:00:00 - 08-09 10:30:00 @ 21.23, 40: 08-09 10:30:00 - 08-09 11:00:00 @ 21.23, 41: 08-09 11:00:00 - 08-09 11:30:00 @ 21.23, 42: 08-09 11:30:00 - 08-09 12:00:00 @ 21.23, 43: 08-09 12:00:00 - 08-09 12:30:00 @ 21.23, 44: 08-09 12:30:00 - 08-09 13:00:00 @ 21.23, 45: 08-09 13:00:00 - 08-09 13:30:00 @ 21.23, 46: 08-09 13:30:00 - 08-09 14:00:00 @ 21.23, 47: 08-09 14:00:00 - 08-09 14:30:00 @ 21.23, 48: 08-09 14:30:00 - 08-09 15:00:00 @ 21.23, 49: 08-09 15:00:00 - 08-09 15:30:00 @ 21.23, 50: 08-09 15:30:00 - 08-09 16:00:00 @ 21.23, 51: 08-09 16:00:00 - 08-09 16:30:00 @ 21.23, 52: 08-09 16:30:00 - 08-09 17:00:00 @ 21.23, 53: 08-09 17:00:00 - 08-09 17:30:00 @ 21.23, 54: 08-09 17:30:00 - 08-09 18:00:00 @ 21.23, 55: 08-09 18:00:00 - 08-09 18:30:00 @ 21.23, 56: 08-09 18:30:00 - 08-09 19:00:00 @ 21.23, 57: 08-09 19:00:00 - 08-09 19:30:00 @ 21.23, 58: 08-09 19:30:00 - 08-09 20:00:00 @ 21.23, 59: 08-09 20:00:00 - 08-09 20:30:00 @ 21.23]
2026-08-08 14:30:19.986860: Inverter 0 No charge window yet, waiting for schedule.
2026-08-08 14:30:19.987124: Adjust idle time, charge 00:00:00-00:00:00 discharge 00:00:00-00:00:00
2026-08-08 14:30:19.987655: Adjust demand (idle) time computed is 13:35:00-23:59:00
2026-08-08 14:30:19.987895: Next export window will be: 2026-08-08 14:30:00+01:00 - 2026-08-08 16:01:00+01:00 at reserve 40.0
2026-08-08 14:30:19.987972: Exporting now - current SoC 9.239kWh and target 7.23kWh and power adjust 1.0
2026-08-08 14:30:19.988304: Inverter 0 Adjust force export to True, change times from 00:00:00 - 00:00:00 to 14:30:00 - 16:01:00
2026-08-08 14:30:19.988379: Adjust idle time, charge 00:00:00-00:00:00 discharge 14:30:00-16:01:00
2026-08-08 14:30:19.988707: Adjust demand (idle) time computed is 16:01:00-23:59:00
2026-08-08 14:30:19.988824: Inverter 0 set new demand (idle) start time to 16:01:00 was 13:35:00
2026-08-08 14:30:24.044427: Inverter 0 write_and_poll_value: Wrote 16:01:00 to idle_start_time, successfully now 16:01:00
2026-08-08 14:30:24.044643: Inverter 0 set new export start time to 14:30:00
2026-08-08 14:30:28.116873: Inverter 0 write_and_poll_value: Wrote 14:30:00 to discharge_start_time, successfully now 14:30:00
2026-08-08 14:30:28.117131: Inverter 0 Set new export end time to 16:01:00 was 00:00:00
2026-08-08 14:30:29.456632: AxleAPI: Fetching latest VPP event data
2026-08-08 14:30:29.631181: AxleAPI: No scheduled event
2026-08-08 14:30:32.180477: Inverter 0 write_and_poll_value: Wrote 16:01:00 to discharge_end_time, successfully now 16:01:00
2026-08-08 14:30:36.242019: Inverter 0 Wrote scheduled_discharge_enable to True successfully and got on
2026-08-08 14:30:36.242250: Inverter 0 Turning on scheduled export
2026-08-08 14:30:36.242352: Sleeping (workaround) as start/end of discharge window was just adjusted
2026-08-08 14:31:06.242712: Inverter 0 current mode is Eco and new target is Timed Export has_ge_eco_toggle False
2026-08-08 14:31:10.305000: Inverter 0 write_and_poll_value: Wrote Timed Export to inverter_mode, successfully now Timed Export
2026-08-08 14:31:10.305228: Inverter 0 set force export to True
2026-08-08 14:31:10.305649: Inverter 0 adjust target SoC for charge to 40% (7.23kWh/18.08kWh 18.08kWh) based on going from 51% -> 40% total add is -2.01kWh and this battery needs to add -2.01kWh to get to 7.23kWh
2026-08-08 14:31:10.305809: Inverter 0 Current charge limit is 0% and new target is 40%
2026-08-08 14:31:14.365066: Inverter 0 write_and_poll_value: Wrote 40 to charge_limit, successfully now 40.0
2026-08-08 14:31:14.365346: Current SoC 51% is greater than Target SoC 40. Grid Discharge enabled.
2026-08-08 14:31:14.365706: Inverter 0 Skipped service charge_stop_service domain charge service_name input_select.select_option as it was previously called.
2026-08-08 14:31:14.365816: Inverter 0 Calling service discharge_start_service domain discharge service_name input_select/select_option with data {'entity_id': 'input_select.predbat_requested_mode', 'option': 'Discharging'}

predbat.log

Predbat debug yaml file
This is important for any plan related issues.

predbat_debug.yaml.txt

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions